+# Creates a multiple sequence alignment (possibly unaligned) named
+# 'seqs' from array 'seq_ary'.
+seqs = Bio::Alignment.new(seq_ary)
+
+# Prints each sequence to the console.
+seqs.each { |seq| puts seq.to_s }
+
+# Writes multiple sequence alignment (possibly unaligned) 'seqs'
+# to a file in PHYLIP format.
+File.open('outfile.phylip', 'w') do |f|
+ f.write(seqs.output(:phylip))
+end
+}}}
+
+Relevant API documentation:
+
+ * [http://bioruby.open-bio.org/rdoc/classes/Bio/ClustalW/Report.html Bio::ClustalW::Report]
+ * [http://bioruby.open-bio.org/rdoc/classes/Bio/Alignment.html Bio::Alignment]
+ * [http://bioruby.open-bio.org/rdoc/classes/Bio/Sequence.html Bio::Sequence]
+
+=== Creating a Multiple Sequence Alignment ===
+
+
+=== Creating a Multiple Sequence Alignment from a Database ===
+
+?
+
+=== Writing a Multiple Sequence Alignment to a File ===
+
+
+The following example shows how to write a multiple sequence alignment in *FASTA*-format. It first creates a file named "outfile.fasta" for writing ('w') and then writes the multiple sequence alignment referred to by variable 'msa' to it in FASTA-format (':fasta').
+
+{{{
+#!/usr/bin/env ruby
+require 'bio'
+
+# Creates a new file named "outfile.fasta" and writes
+# multiple sequence alignment 'msa' to it in fasta format.
+File.open('outfile.fasta', 'w') do |f|
+ f.write(msa.output(:fasta))
+end
+}}}
+
+==== Setting the Output Format ====
+
+The following symbols determine the output format:
+
+ * `:clustal` for ClustalW
+ * `:fasta` for FASTA
+ * `:phylip` for PHYLIP interleaved (will truncate sequence names to no more than 10 characters)
+ * `:phylipnon` for PHYLIP non-interleaved (will truncate sequence names to no more than 10 characters)
+ * `:msf` for MSF
+ * `:molphy` for Molphy
+
+
+For example, the following writes in PHYLIP's non-interleaved format:
+
+{{{
+f.write(align.output(:phylipnon))
+}}}
+
+
+=== Formatting of Individual Sequences ===
+
+!BioRuby can format molecular sequences in a variety of formats.
+Individual sequences can be formatted to (e.g.) Genbank format as shown in the following examples.
+
+For Sequence objects:
+{{{
+seq.to_seq.output(:genbank)
+}}}
+
+For Bio::!FlatFile entries:
+{{{
+entry.to_biosequence.output(:genbank)
+}}}
+
+The following symbols determine the output format:
+ * `:genbank` for Genbank
+ * `:embl` for EMBL
+ * `:fasta` for FASTA
+ * `:fasta_ncbi` for NCBI-type FASTA
+ * `:raw` for raw sequence
+ * `:fastq` for FASTQ (includes quality scores)
+ * `:fastq_sanger` for Sanger-type FASTQ
+ * `:fastq_solexa` for Solexa-type FASTQ
+ * `:fastq_illumina` for Illumina-type FASTQ
+
+== Calculating Multiple Sequence Alignments ==
+
+!BioRuby can be used to execute a variety of multiple sequence alignment
+programs (such as [http://mafft.cbrc.jp/alignment/software/ MAFFT], [http://probcons.stanford.edu/ Probcons], [http://www.clustal.org/ ClustalW], [http://www.drive5.com/muscle/ Muscle], and [http://www.tcoffee.org/Projects_home_page/t_coffee_home_page.html T-Coffee]).
+In the following, examples for using the MAFFT and Muscle are shown.