Bio::FeatureIO::ptt - read/write features in PTT format
# read features
my $fin = Bio::FeatureIO->new(-file=>'genes.ptt', -format=>'ptt');
my @cds;
while (my $f = $fin->next_feature) {
push @cds, $f if $f->strand > 0;
}
# write features (NOT IMPLEMENTED)
my $fout = Bio::FeatureIO->new(-fh=>\*STDOUT, -format=>'ptt');
for my $f (@cds) {
$fout->write_feature($f);
}
The PTT file format is a table of protein features. It is used mainly by NCBI
who produce PTT files for all their published genomes found in
<ftp://ftp.ncbi.nih.gov/genomes/>. It has the following format:
- Line 1
- Description of sequence to which the features belong
eg. "Leptospira interrogans chromosome II, complete sequence -
0..358943"
It is usually equivalent to the DEFINITION line of a Genbank
file, with the length of the sequence appended. It is unclear why
"0" is used as a starting range, it should be
"1".
- Line 2
- Number of feature lines in the table
eg. "367 proteins"
- Line 3
- Column headers, tab separated
eg. "Location Strand Length PID Gene Synonym Code COG Product"
Location : "begin..end" span of feature
Strand : "+" or "-"
Length : number of amino acids excluding the stop codon
PID : analogous to Genbank /db_xref="GI:xxxxxxxxx"
Gene : analogous to Genbank /gene="xxxx"
Synonym : analogous to Genbank /locus_tag="xxxx"
Synonym : analogous to Genbank /locus_tag="xxxx"
COG : CDD COG code with COG letter categories appended
Product : analogous to Genbank /product="xxxx"
- Line 4 onwards
- Feature lines, nine columns, tab separated, "-" used for empty
fields
eg. "2491..3423 + 310 24217063 metF LB002 - COG0685E
5,10-methylenetetrahydrofolate reductase"
User feedback is an integral part of the evolution of this and other Bioperl
modules. Send your comments and suggestions preferably to the Bioperl mailing
list. Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Please direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
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.
Report bugs to the Bioperl bug tracking system to help us keep track of the bugs
and their resolution. Bug reports can be submitted via the web:
http://bugzilla.open-bio.org/
Email torsten.seemann AT infotech.monash.edu.au
Based on bed.pm and gff.pm by Allen Day.
The rest of the documentation details each of the object methods. Internal
methods are usually preceded with a _
Title : _initialize
Function: Reading? parses the header of the input
Writing?
Title : next_feature
Usage : $io->next_feature()
Function: read the next feature from the PTT file
Example :
Args :
Returns : Bio::SeqFeatureI object
Title : write_feature
Usage : $io->write_feature($feature)
Function: write a Bio::SeqFeatureI object in PTT format
Example :
Args : Bio::SeqFeatureI object
Returns :
Title : description
Usage : $obj->description($newval)
Function: set/get the PTT file description for/from line one
Example :
Returns : value of description (a scalar)
Args : on set, new value (a scalar or undef, optional)
Title : protein_count
Usage : $obj->protein_count($newval)
Function: set/get the PTT protein count for/from line two
Example :
Args : on set, new value (a scalar or undef, optional)
Returns : value of protein_count (a scalar)