1 #summary Tutorial for multiple sequence alignments and phylogenetic methods in BioRuby -- under development!
7 Tutorial for multiple sequence alignments and phylogenetic methods in !BioRuby -- under development!
11 = Multiple Sequence Alignments =
14 == Multiple Sequence Alignment Input and Output ==
16 === Reading in a Multiple Sequence Alignment from a File ===
18 Reading in a clustalw formatted multiple sequence alignment:
24 # Reads in a clustalw formatted multiple sequence alignment
25 # from a file named "infile_clustalw.aln" and stores it in 'report'.
26 report = Bio::ClustalW::Report.new(File.read('infile_clustalw.aln'))
32 === Writing a Multiple Sequence Alignment to a File ===
44 == Calculating Multiple Sequence Alignments ==
46 !BioRuby can be used to execute a variety of multiple sequence alignment
47 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]).
48 In the following, examples for using the MAFFT and Muscle are shown.
57 # 'seqs' is either an array of sequences or a multiple sequence
58 # alignment. In general this is read in from a file as described in ?.
59 # For the purpose of this tutorial, it is generated in code.
60 seqs = ["KMLFGVVFFFGG",
66 # Calculates the alignment using the MAFFT program on the local
67 # machine with options '--maxiterate 1000 --localpair'
68 # and stores the result in 'report'.
69 options = ['--maxiterate', '1000', '--localpair']
70 mafft = Bio::MAFFT.new('path/to/mafft', options)
71 report = mafft.query_align(seqs)
73 # Accesses the actual alignment.
74 align = report.alignment
76 # Prints each sequence to the console.
77 align.each { |s| puts s.to_s }
83 * Katoh, Toh (2008) "Recent developments in the MAFFT multiple sequence alignment program" Briefings in Bioinformatics 9:286-298
85 * Katoh, Toh 2010 (2010) "Parallelization of the MAFFT multiple sequence alignment program" Bioinformatics 26:1899-1900
95 # 'seqs' is either an array of sequences or a multiple sequence
96 # alignment. In general this is read in from a file as described in ?.
97 # For the purpose of this tutorial, it is generated in code.
98 seqs = ["KMLFGVVFFFGG",
103 # Calculates the alignment using the Muscle program on the local
104 # machine with options '-quiet -maxiters 64'
105 # and stores the result in 'report'.
106 options = ['-quiet', '-maxiters', '64']
107 muscle = Bio::Muscle.new('path/to/muscle', options)
108 report = muscle.query_align(seqs)
110 # Accesses the actual alignment.
111 align = report.alignment
113 # Prints each sequence to the console.
114 align.each { |s| puts s.to_s }
120 * Edgar, R.C. (2004) "MUSCLE: multiple sequence alignment with high accuracy and high throughput" Nucleic Acids Res 32(5):1792-1797
122 === Other Programs ===
124 [http://probcons.stanford.edu/ Probcons], [http://www.clustal.org/ ClustalW], and [http://www.tcoffee.org/Projects_home_page/t_coffee_home_page.html T-Coffee] can be used in the same manner as the programs above.
127 == Manipulating Multiple Sequence Alignments ==
129 Oftentimes, multiple sequence to be used for phylogenetic inference are 'cleaned up' in some manner. For instance, some researchers prefer to delete columns with more than 50% gaps. The following code is an example of how to do that in !BioRuby.
143 = Phylogenetic Trees =
145 == Phylogenetic Tree Input and Output ==
147 === Reading in of Phylogenetic Trees ===
157 Also, see: https://www.nescent.org/wg_phyloinformatics/BioRuby_PhyloXML_HowTo_documentation
161 === Writing of Phylogenetic Trees ===
171 Also, see: https://www.nescent.org/wg_phyloinformatics/BioRuby_PhyloXML_HowTo_documentation
175 == Phylogenetic Inference ==
177 _Currently !BioRuby does not contain wrappers for phylogenetic inference programs, thus I am progress of writing a RAxML wrapper followed by a wrapper for FastME..._
179 _What about pairwise distance calculation?_
183 == Maximum Likelihood ==
206 == Pairwise Distance Based Methods ==
224 == Support Calculation? ==
226 === Bootstrap Resampling? ===
231 = Analyzing Phylogenetic Trees =
236 == Gene Duplication Inference ==
238 _need to further test and then import GSoC 'SDI' work..._