#summary Tutorial for multiple sequence alignments and phylogenetic methods in BioRuby -- under development! = Introduction = Tutorial for multiple sequence alignments and phylogenetic methods in BioRuby -- under development! = Multiple Sequence Alignments = == Reading in a Multiple Sequence Alignment from a File == ... to be done {{{ #!/usr/bin/env ruby require 'bio' }}} == Calculating a Multiple Sequence Alignment == 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]). In the following, examples for using the MAFFT and Muscle are shown. === MAFFT === {{{ #!/usr/bin/env ruby require 'bio' # Calculates the alignment using the MAFFT program on the local # machine with options '--maxiterate 1000 --localpair' # and stores the result in 'report'. options = [ '--maxiterate', '1000', '--localpair' ] mafft = Bio::MAFFT.new('path/to/mafft', options ) report = mafft.query_align( seqs) # Accesses the actual alignment align = report.alignment # Prints each sequence to the console. report.align.each { |s| puts s.to_s } # }}} === Muscle === {{{ #!/usr/bin/env ruby require 'bio' # Calculates the alignment using the Muscle program on the local # machine with options '-quiet -maxiters 64' # and stores the result in 'report'. options = [ '-quiet', '-maxiters', '64' ] muscle = Bio::Muscle.new('path/to/muscle', options ) report = muscle.query_align( seqs) # Accesses the actual alignment align = report.alignment # Prints each sequence to the console. report.align.each { |s| puts s.to_s } # }}} == Manipulating Multiple Sequence Alignment == It is probably a good idea to 'clean up' multiple sequence to be used for phylogenetic inference. For instance, columns with more than 50% gaps can be deleted, like so: ... to be done {{{ #!/usr/bin/env ruby require 'bio' }}} = Phylogenetic Inference = == Maximum Likelihood == === RAxML === ... to be done {{{ #!/usr/bin/env ruby require 'bio' }}} == Pairwise Distance Based Methods == === FastME === ... to be done {{{ #!/usr/bin/env ruby require 'bio' }}}