Difference between revisions of "BioRuby PhyloXML HowTo documentation"

From Phyloinformatics
Jump to: navigation, search
m (How to parse a file)
(How to parse a file)
Line 12: Line 12:
  
 
=How to parse a file=
 
=How to parse a file=
<code>
+
 
 
  require 'bio'
 
  require 'bio'
 
+
 
 
  # Create new phyloxml parser
 
  # Create new phyloxml parser
 
  phyloxml = Bio::PhyloXML::Parser.new('example.xml')
 
  phyloxml = Bio::PhyloXML::Parser.new('example.xml')
 
+
 
 
  # Print the names of all trees in the file
 
  # Print the names of all trees in the file
 
  phyloxml.each do |tree|
 
  phyloxml.each do |tree|
 
   puts tree.name
 
   puts tree.name
 
  end
 
  end
</code>
+
 
 +
If there are several trees in the file, you can access the one you wish by an index
 +
 
 +
tree = phyloxml[3]
 +
 
 +
You can use all Bio::Tree methods on the tree. For example,
 +
 +
tree.leaves.each do |node|
 +
    puts node.name
 +
end

Revision as of 20:49, 11 August 2009

Intro

PhyloXML is a tree format for saving and exchanging data of annotated phylogenetic trees. PhyloXML parsers and writers are implemented in BioRuby, BioPython and BioPerl. More information at www.phyloxml.org

Requirements

In addition to BioRuby library you need a libxml ruby bindings. To install:

gem install -r libxml-ruby

How to parse a file

require 'bio'
# Create new phyloxml parser
phyloxml = Bio::PhyloXML::Parser.new('example.xml')
# Print the names of all trees in the file
phyloxml.each do |tree|
  puts tree.name
end

If there are several trees in the file, you can access the one you wish by an index

tree = phyloxml[3]

You can use all Bio::Tree methods on the tree. For example,

tree.leaves.each do |node|
   puts node.name
end