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