NAME
Bio::AlignIO::phylip - PHYLIP format sequence input/output stream
SYNOPSIS
Do not use this module directly. Use it via the Bio::AlignIO class.
This example shows how to write to phylip format:
use Bio::AlignIO;use Bio::SimpleAlign;# Use -idlength to set the name length to something other than# the default 10 if you need longer ids.my $phylipstream = Bio::AlignIO->new(-format => 'phylip',-fh => \*STDOUT,-idlength => 30);# Convert data from one format to anothermy $gcgstream = Bio::AlignIO->new(-format => 'msf',-file => 't/data/cysprot1a.msf');while( my $aln = $gcgstream->next_aln ) {$phylipstream->write_aln($aln);}# With phylip sequential format format$phylipstream->interleaved(0);# Or initialize the object like this$phylipstream = Bio::AlignIO->new(-interleaved => 0,-format => 'phylip',-fh => \*STDOUT,-idlength => 20 );$gcgstream = Bio::AlignIO->new(-format => 'msf',-file => 't/data/cysprot1a.msf');while( my $aln = $gcgstream->next_aln ) {$phylipstream->write_aln($aln);}
This example shows how to read phylip format:
my $in = Bio::AlignIO->new(-file => $inFile,-format => 'phylip',-interleaved => 0,-longid => 1);my $out = Bio::AlignIO->new(-file => ">$outFile",-format => 'fasta');while ( my $aln = $in->next_aln() ) {$out->write_aln($aln);}
The -longid argument is required if the input phylip format file has ids with lengths greater then 10 characters.
DESCRIPTION
This object can transform Bio::SimpleAlign objects to and from PHYLIP format. By default it works with the interleaved format. By specifying the flag -interleaved => 0 in the initialization the module can read or write data in sequential format.
Reading phylip format with long IDs up to 50 characters is supported by the flag -longid =>1. ID strings can be surrounded by single quotes. They are mandatory only if the IDs contain spaces.
FEEDBACK
Support
Please direct usage questions or support issues to the mailing list:
rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.
Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
https://github.com/bioperl/bioperl-live/issues
AUTHORS - Heikki Lehvaslaiho and Jason Stajich
Email: heikki at ebi.ac.uk Email: jason at bioperl.org
APPENDIX
The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
new
Title : newUsage : my $alignio = Bio::AlignIO->new(-format => 'phylip'-file => '>file',-idlength => 10,-idlinebreak => 1);Function: Initialize a new L<Bio::AlignIO::phylip> reader or writerReturns : L<Bio::AlignIO> objectArgs : [specific for writing of phylip format files]-idlength => integer - length of the id (will pad w/spaces if needed) when writing phylip-interleaved => boolean - whether interleavedor sequential format required-line_length => integer of how long a sequence lines should be-idlinebreak => insert a line break after the sequence idso that sequence starts on the next line-flag_SI => whether or not write a "S" or "I" just afterthe num.seq. and line len., in the first line-tag_length => integer of how long the tags have to be ineach line between the space separator. set itto 0 to have 1 tag only.-wrap_sequential => boolean for whether or not sequentialformat should be broken up or a single linedefault is false (single line)-longid => boolean to read arbitrary long IDs (default is false)
next_aln
Title : next_alnUsage : $aln = $stream->next_aln()Function: returns the next alignment in the stream.Throws an exception if trying to read in PHYLIPsequential format.Returns : L<Bio::SimpleAlign> objectArgs :
write_aln
Title : write_alnUsage : $stream->write_aln(@aln)Function: writes the $aln object into the stream in phylip formatReturns : 1 for success and 0 for errorArgs : L<Bio::Align::AlignI> object
interleaved
Title : interleavedUsage : my $interleaved = $obj->interleavedFunction: Get/Set Interleaved statusReturns : booleanArgs : boolean
flag_SI
Title : flag_SIUsage : my $flag = $obj->flag_SIFunction: Get/Set if the Sequential/Interleaved flag has to be shownafter the number of sequences and sequence lengthExample :Returns : booleanArgs : boolean
idlength
Title : idlengthUsage : my $idlength = $obj->idlengthFunction: Get/Set value of id lengthReturns : stringArgs : string
line_length
Title : line_lengthUsage : $obj->line_length($newval)Function:Returns : value of line_lengthArgs : newvalue (optional)
tag_length
Title : tag_lengthUsage : $obj->tag_length($newval)Function:Example : my $tag_length = $obj->tag_lengthReturns : value of the length for each space-separated tag in a lineArgs : newvalue (optional) - set to zero to have one tag per line
id_linebreak
Title : id_linebreakUsage : $obj->id_linebreak($newval)Function:Returns : value of id_linebreakArgs : newvalue (optional)
wrap_sequential
Title : wrap_sequentialUsage : $obj->wrap_sequential($newval)Function:Returns : value of wrap_sequentialArgs : newvalue (optional)
longid
Title : longidUsage : $obj->longid($newval)Function:Returns : value of longidArgs : newvalue (optional)