GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  BIO::PHYLO::IO (3)

.ds Aq ’

NAME

Bio::Phylo::IO - Front end for parsers and serializers

CONTENTS

SYNOPSIS



 use Bio::Phylo::IO qw(parse unparse);

 # returns an unblessed array reference of block objects,
 # i.e. taxa, matrix or forest objects
 my $blocks = parse(
    -file     => $file,
    -format   => nexus,
    -encoding => :encoding(UTF-8), # optional, default is system-dependent
 );

 for my $block ( @{ $blocks } ) {
    if ( $block->isa(Bio::Phylo::Taxa) ) {
        my $taxa = $block;
        # do something with the taxa
    }
 }

 # returns a Bio::Phylo::Project object
 my $project = parse(
        -file       => $file,
        -format     => nexus,
        -as_project => 1
 )
 my ($taxa) = @{ $project->get_taxa };

 # parsing a tree from a newick string
 my $tree_string = (((A,B),C),D);;
 my $tree = Bio::Phylo::IO->parse(
    -string => $tree_string,
    -format => newick,
 )->first;

 # note: newick parsers return
 # Bio::Phylo::Forest! Call
 # ->first to retrieve the first
 # tree of the forest.

 # prints Bio::Phylo::Forest::Tree
 print ref $tree, "\n";

 # if the tree is very large and you need only some terminal nodes from it
 $simplified_tree = Bio::Phylo::IO->parse(
    -string => $tree_string,
    -format => newick,
    -keep   => [A, D], # nodes to keep
    -ignore_comments => 1, # treats [] symbols as part of taxon name
 )->first;

 # parsing a table
 my $table_string = qq(A,1,2|B,1,2|C,2,2|D,2,1);
 my $matrix = Bio::Phylo::IO->parse(
    -string   => $table_string,
    -format   => table,

    # Data type, see Bio::Phylo::Parsers::Table
    -type     => STANDARD,

    # field separator 
    -fieldsep => ,,

    # line separator
    -linesep  => |         
 );

 # prints Bio::Phylo::Matrices::Matrix
 print ref $matrix, "\n";

 # parsing a list of taxa
 my $taxa_string = A:B:C:D;
 my $taxa = Bio::Phylo::IO->parse(
    -string   => $taxa_string,
    -format   => taxlist,
    -fieldsep => :
 );

 # prints Bio::Phylo::Taxa
 print ref $taxa, "\n";

 # matches taxon names in tree to $taxa object
 $tree->cross_reference($taxa); 

 # likewise for matrix 
 $matrix->cross_reference($taxa);

 print unparse(

    # pass the tree object,
    # crossreferenced to taxa, which
    # are crossreferenced to the matrix
    -phylo => $tree,                        
    -format => pagel
 );

 # prints a pagel data file:
 #4 2
 #A,n1,0.000000,1,2
 #B,n1,0.000000,1,2
 #n1,n2,0.000000
 #C,n2,0.000000,2,2
 #n2,n3,0.000000
 #D,n3,0.000000,2,1



DESCRIPTION

The IO module is the front end for parsing and serializing phylogenetic data objects. It is a non-OO module that optionally exports the ’parse’ and ’unparse’ subroutines into the caller’s namespace, using the use Bio::Phylo::IO qw(parse unparse); directive. Alternatively, you can call the subroutines as class methods. The parse and unparse subroutines load and dispatch the appropriate sub-modules at runtime, depending on the ’-format’ argument.

    CLASS METHODS

parse() Parses a file or string.



 Type    : Class method
 Title   : parse
 Usage   : my $obj = Bio::Phylo::IO->parse(%options);
 Function: Creates (file) handle,
           instantiates appropriate parser.
 Returns : A Bio::Phylo::* object
 Args    : -file    => (path),
            or
           -string  => (scalar),
           or
           -handle  => (IO::Handle object)
           or
           -url     => (url string)
           -format  => (description format),
           -(other) => (parser specific options)
 Comments: The parse method makes assumptions about
           the capabilities of Bio::Phylo::Parsers::*
           modules: i) their names match those of the
           -format => (blah) arguments, insofar that
           ucfirst(blah) . .pm is an existing module;
           ii) the modules implement a _from_handle,
           or a _from_string method. Exceptions are
           thrown if either assumption is violated.
          
           If @ARGV contains even key/value pairs such
           as "format newick file <filename>" (note: no
           dashes) these will be prepended to @_, for
           one-liners.



parse_matrix() Parses a file or string.



 Type    : Class method
 Title   : parse_matrix
 Usage   : my $matrix = Bio::Phylo::IO->parse_matrix(%options);
 Function: Creates (file) handle,
           instantiates appropriate parser.
 Returns : A Bio::Phylo::Matrices::Matrix object
 Args    : Same as parse()
 Comments: This method is syntactical sugar to get the first matrix
           out of a file/handle/string



parse_tree() Parses a file or string.



 Type    : Class method
 Title   : parse_tree
 Usage   : my $tree = Bio::Phylo::IO->parse_tree(%options);
 Function: Creates (file) handle,
           instantiates appropriate parser.
 Returns : A Bio::Phylo::Forest::Tree object
 Args    : Same as parse()
 Comments: This method is syntactical sugar to get the first tree
           out of a file/handle/string



unparse() Unparses object(s) to a string.



 Type    : Class method
 Title   : unparse
 Usage   : my $string = Bio::Phylo::IO->unparse(
               %options
           );
 Function: Turns Bio::Phylo object into a
           string according to specified format. If an
           optional -file or -handle argument is provided
           the string is also written to that.
 Returns : SCALAR
 Args    : -phylo   => (Bio::Phylo object),
           -format  => (description format),
           -(other) => (parser specific options)
           -file    => (optional: a file path to open and write to)
           or
           -handle  => (optional: a handle to write to)



can_read() Tests whether Bio::Phylo::IO can read provided syntax format.



 Type    : Class method
 Title   : can_read
 Usage   : &do_something if Bio::Phylo::IO->can_read(foo);
 Function: Tests whether Bio::Phylo::IO can read provided syntax format.
 Returns : Boolean
 Args    : A syntax format name, like "nexml"



can_write() Tests whether Bio::Phylo::IO can write provided syntax format.



 Type    : Class method
 Title   : can_write
 Usage   : &do_something if Bio::Phylo::IO->can_write(foo);
 Function: Tests whether Bio::Phylo::IO can write provided syntax format.
 Returns : Boolean
 Args    : A syntax format name, like "nexml"



SEE ALSO

There is a mailing list at <https://groups.google.com/forum/#!forum/bio-phylo> for any user or developer questions and discussions.
Bio::Phylo::Parsers::Fasta
Bio::Phylo::Parsers::Newick
Bio::Phylo::Parsers::Nexml
Bio::Phylo::Parsers::Nexus
Bio::Phylo::Parsers::Phylip
Bio::Phylo::Parsers::Phyloxml
Bio::Phylo::Parsers::Table
Bio::Phylo::Parsers::Taxlist
Bio::Phylo::Parsers::Tolweb
Bio::Phylo::Unparsers::Mrp
Bio::Phylo::Unparsers::Newick
Bio::Phylo::Unparsers::Nexml
Bio::Phylo::Unparsers::Nexus
Bio::Phylo::Unparsers::Pagel
Bio::Phylo::Unparsers::Phylip
Bio::Phylo::Unparsers::Phyloxml
Bio::Phylo::Manual Also see the manual: Bio::Phylo::Manual and <http://rutgervos.blogspot.com>

CITATION

If you use Bio::Phylo in published research, please cite it:

<B>Rutger A VosB>, <B>Jason CaravasB>, <B>Klaas HartmannB>, <B>Mark A JensenB> and <B>Chase MillerB>, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics <B>12B>:63. <http://dx.doi.org/10.1186/1471-2105-12-63>

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 BIO::PHYLO::IO (3) 2014-02-08

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.