.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Bio::FeatureIO::gff 3pm" .TH Bio::FeatureIO::gff 3pm "2012-03-02" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Bio::FeatureIO::gff \- read/write GFF feature files .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 8 \& my $feature; #get a Bio::SeqFeature::Annotated somehow \& my $featureOut = Bio::FeatureIO\->new( \& \-format => \*(Aqgff\*(Aq, \& \-version => 3, \& \-fh => \e*STDOUT, \& \-validate_terms => 1, #boolean. validate ontology terms online? default 0 (false). \& ); \& $featureOut\->write_feature($feature); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" .Vb 1 \& Currently implemented: \& \& version read? write? \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& GFF 1 N N \& GFF 2 N N \& GFF 2.5 (GTF) N Y \& GFF 3 Y Y .Ve .SH "FEEDBACK" .IX Header "FEEDBACK" .SS "Mailing Lists" .IX Subsection "Mailing Lists" 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. .PP .Vb 2 \& bioperl\-l@bioperl.org \- General discussion \& http://bioperl.org/wiki/Mailing_list \- About the mailing lists .Ve .SS "Support" .IX Subsection "Support" Please direct usage questions or support issues to the mailing list: .PP \&\fIbioperl\-l@bioperl.org\fR .PP 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. .SS "Reporting Bugs" .IX Subsection "Reporting Bugs" 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: .PP .Vb 1 \& https://redmine.open\-bio.org/projects/bioperl/ .Ve .SH "AUTHOR" .IX Header "AUTHOR" .Vb 1 \& Allen Day, .Ve .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" .Vb 3 \& Steffen Grossmann, \& Scott Cain, \& Rob Edwards .Ve .SH "APPENDIX" .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ .SS "\fInext_feature()\fP" .IX Subsection "next_feature()" .Vb 4 \& Usage : my $feature = $featureio\->next_feature(); \& Function: reads a feature record from a GFF stream and returns it as an object. \& Returns : a Bio::SeqFeature::Annotated object \& Args : N/A .Ve .SS "next_feature_group" .IX Subsection "next_feature_group" .Vb 3 \& Title : next_feature_group \& Usage : @feature_group = $stream\->next_feature_group \& Function: Reads the next feature_group from $stream and returns it. \& \& Feature groups in GFF3 files are separated by \*(Aq###\*(Aq directives. The \& features in a group might form a hierarchical structure. The \& complete hierarchy of features is returned, i.e. the returned array \& represents only the top\-level features. Lower\-level features can \& be accessed using the \*(Aqget_SeqFeatures\*(Aq method recursively. \& \& Example : # getting the complete hierarchy of features in a GFF3 file \& my @toplevel_features; \& while (my @fg = $stream\->next_feature_group) { \& push(@toplevel_features, @fg); \& } \& Returns : an array of Bio::SeqFeature::Annotated objects \& Args : none .Ve .SS "\fInext_seq()\fP" .IX Subsection "next_seq()" access the \s-1FASTA\s0 section (if any) at the end of the \s-1GFF\s0 stream. note that this method will return undef if not all features in the stream have been handled .SS "\fIwrite_feature()\fP" .IX Subsection "write_feature()" .Vb 6 \& Usage : $featureio\->write_feature( Bio::SeqFeature::Annotated\->new(...) ); \& Function: writes a feature in GFF format. the GFF version used is governed by the \& \*(Aq\-version\*(Aq argument passed to Bio::FeatureIO\->new(), and defaults to GFF \& version 3. \& Returns : ###FIXME \& Args : a Bio::SeqFeature::Annotated object. .Ve .SH "ACCESSORS" .IX Header "ACCESSORS" .SS "\fIfasta_mode()\fP" .IX Subsection "fasta_mode()" .Vb 5 \& Usage : $obj\->fasta_mode($newval) \& Function: \& Example : \& Returns : value of fasta_mode (a scalar) \& Args : on set, new value (a scalar or undef, optional) .Ve .PP Side effect when setting: rewind the file handle a little bit to get the last carriage return that was swallowed when the previous line was processed. .SS "\fIseqio()\fP" .IX Subsection "seqio()" .Vb 4 \& Usage : $obj\->seqio($newval) \& Function: holds a Bio::SeqIO instance for handling the GFF3 ##FASTA section. \& Returns : value of seqio (a scalar) \& Args : on set, new value (a scalar or undef, optional) .Ve .SS "\fIsequence_region()\fP" .IX Subsection "sequence_region()" .Vb 4 \& Usage : \& Function: ###FIXME \& Returns : \& Args : .Ve .SS "\fIso()\fP" .IX Subsection "so()" .Vb 4 \& Usage : $obj\->so($newval) \& Function: holds a Sequence Ontology instance \& Returns : value of so (a scalar) \& Args : on set, new value (a scalar or undef, optional) .Ve .SS "\fIvalidate()\fP" .IX Subsection "validate()" .Vb 5 \& Usage : $obj\->validate($newval) \& Function: true if encountered ontology terms in next_feature() \& mode should be validated. \& Returns : value of validate (a scalar) \& Args : on set, new value (a scalar or undef, optional) .Ve .SS "\fIversion()\fP" .IX Subsection "version()" .Vb 4 \& Usage : $obj\->version($newval) \& Function: version of GFF to read/write. valid values are 1, 2, 2.5, and 3. \& Returns : value of version (a scalar) \& Args : on set, new value (a scalar or undef, optional) .Ve .SH "INTERNAL METHODS" .IX Header "INTERNAL METHODS" .SS "\fI_buffer_feature()\fP" .IX Subsection "_buffer_feature()" .Vb 4 \& Usage : \& Function: ###FIXME \& Returns : \& Args : .Ve .SH "ignore_seq_region" .IX Header "ignore_seq_region" Set this flag to keep FeatureIO from returning a feature for a ##sequence\-region directive .SH "\fI_handle_directive()\fP" .IX Header "_handle_directive()" this method is called for lines beginning with '##'. .SH "\fI_handle_feature()\fP" .IX Header "_handle_feature()" this method is called for each line not beginning with '#'. it parses the line and returns a Bio::SeqFeature::Annotated object. .SS "\fI_handle_non_reserved_tag()\fP" .IX Subsection "_handle_non_reserved_tag()" .Vb 4 \& Usage : $self\->_handle_non_reserved_tag($feature,$tag,$value) \& Function: Deal with non\-reserved word tags in the ninth column \& Returns : An updated Bio::SeqFeature::Annotated object \& Args : A Bio::SeqFeature::Annotated and a tag/value pair .Ve .PP Note that this method can be overridden in a subclass to provide special handling of non-reserved word tags. .SH "organims" .IX Header "organims" Gets/sets the organims from the organism directive .SH "\fI_write_feature_1()\fP" .IX Header "_write_feature_1()" write a feature in \s-1GFF\s0 v1 format. currently not implemented. .SH "\fI_write_feature_2()\fP" .IX Header "_write_feature_2()" write a feature in \s-1GFF\s0 v2 format. currently not implemented. .SH "\fI_write_feature_25()\fP" .IX Header "_write_feature_25()" write a feature in \s-1GFF\s0 v2.5 (aka \s-1GTF\s0) format. .SH "\fI_write_feature_3()\fP" .IX Header "_write_feature_3()" write a feature in \s-1GFF\s0 v3 format.