bebd29bc278f37f7534d05a1d9d45a43df60ac02
[jalview.git] / wiki / PhyloBioRuby.wiki
1 #summary Tutorial for multiple sequence alignments and phylogenetic methods in BioRuby -- under development!
2
3 = Introduction =
4
5 Tutorial for multiple sequence alignments and phylogenetic methods in !BioRuby -- under development!
6
7
8 = Multiple Sequence Alignments =
9
10 == Multiple Sequence Alignment Input and Output ==
11
12 === Reading in a Multiple Sequence Alignment from a File ===
13
14 _... to be done_
15
16 {{{
17 #!/usr/bin/env ruby
18 require 'bio'
19
20 }}}
21
22
23 === Writing a Multiple Sequence Alignment to a File ===
24
25 _... to be done_
26
27 {{{
28 #!/usr/bin/env ruby
29 require 'bio'
30
31 }}}
32
33
34
35 == Calculating Multiple Sequence Alignments  ==
36
37 !BioRuby can be used to execute a variety of multiple sequence alignment
38 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]). 
39 In the following, examples for using the MAFFT and Muscle are shown.
40
41
42 === MAFFT ===
43
44 {{{
45 #!/usr/bin/env ruby
46 require 'bio'
47
48 # Calculates the alignment using the MAFFT program on the local
49 # machine with options '--maxiterate 1000 --localpair'
50 # and stores the result in 'report'.
51 options = ['--maxiterate', '1000', '--localpair']
52 mafft = Bio::MAFFT.new('path/to/mafft', options)
53 report = mafft.query_align(seqs)
54
55 # Accesses the actual alignment
56 align = report.alignment
57
58 # Prints each sequence to the console.
59 align.each { |s| puts s.to_s }
60
61 }}}
62
63 References:
64
65  * Katoh, Toh (2008) "Recent developments in the MAFFT multiple sequence alignment program" Briefings in Bioinformatics 9:286-298 
66
67  * Katoh, Toh 2010 (2010) "Parallelization of the MAFFT multiple sequence alignment program" Bioinformatics 26:1899-1900 
68
69
70
71 === Muscle ===
72
73 {{{
74 #!/usr/bin/env ruby
75 require 'bio'
76
77 # Calculates the alignment using the Muscle program on the local
78 # machine with options '-quiet -maxiters 64'
79 # and stores the result in 'report'.
80 options = ['-quiet', '-maxiters', '64']
81 muscle = Bio::Muscle.new('path/to/muscle', options)
82 report = muscle.query_align(seqs)
83
84 # Accesses the actual alignment
85 align = report.alignment
86
87 # Prints each sequence to the console.
88 align.each { |s| puts s.to_s }
89
90 }}}
91
92 References:
93
94  * Edgar, R.C. (2004) "MUSCLE: multiple sequence alignment with high accuracy and high throughput" Nucleic Acids Res 32(5):1792-1797
95
96 == Manipulating Multiple Sequence Alignments ==
97
98 It is probably a good idea to 'clean up' multiple sequence to be used
99 for phylogenetic inference. For instance, columns with more than 50% gaps can be deleted, like so:
100
101
102 _... to be done_
103
104 {{{
105 #!/usr/bin/env ruby
106 require 'bio'
107
108 }}}
109
110
111 = Phylogenetic Trees =
112
113 == Phylogenetic Tree Input and Output ==
114
115 === Reading in of Phylogenetic Trees ===
116
117 _... to be done_
118
119 {{{
120 #!/usr/bin/env ruby
121 require 'bio'
122
123 }}}
124
125 Also, see: https://www.nescent.org/wg_phyloinformatics/BioRuby_PhyloXML_HowTo_documentation
126
127 === Writing of Phylogenetic Trees ===
128
129 _... to be done_
130
131 {{{
132 #!/usr/bin/env ruby
133 require 'bio'
134
135 }}}
136
137 Also, see: https://www.nescent.org/wg_phyloinformatics/BioRuby_PhyloXML_HowTo_documentation
138
139
140 == Phylogenetic Inference ==
141
142 _Currently !BioRuby does not contain wrappers for phylogenetic inference programs, thus I am progress of writing a RAxML wrapper followed by a wrapper for FastMA..._
143
144 == Maximum Likelihood ==
145
146 === RAxML ===
147
148 _... to be done_
149
150 {{{
151 #!/usr/bin/env ruby
152 require 'bio'
153
154 }}}
155
156
157 == Pairwise Distance Based Methods ==
158
159 === FastME ===
160
161 _... to be done_
162
163 {{{
164 #!/usr/bin/env ruby
165 require 'bio'
166
167 }}}
168
169
170 = Analyzing Phylogenetic Trees =
171
172 == Gene Duplication Inference ==
173
174 _need to further test and then import GSoC 'SDI' work..._
175
176
177 == Others? ==