This is Info file pm.info, produced by Makeinfo version 1.68 from the input file bigpm.texi.  File: pm.info, Node: Bio/SeqFeature/Gene/ExonI, Next: Bio/SeqFeature/Gene/GeneStructure, Prev: Bio/SeqFeature/Gene/Exon, Up: Module List Interface for a feature representing an exon ******************************************** NAME ==== Bio::SeqFeature::Gene::ExonI - Interface for a feature representing an exon SYNOPSIS ======== See documentation of methods. DESCRIPTION =========== A feature representing an exon. An exon in this definition is transcribed and at least for one particular transcript not spliced out of the pre-mRNA. However, it does not necessarily code for amino acid. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ is_coding --------- Title : is_coding Usage : if($exon->is_coding()) { # do something } Function: Whether or not the exon codes for amino acid. Returns : TRUE if the object represents a feature translated into protein, and FALSE otherwise. Args : cds --- Title : cds() Usage : $cds = $exon->cds(); Function: Get the coding sequence of the exon as a sequence object. The returned sequence object must be in frame 0, i.e., the first base starts a codon. An implementation may return undef, indicating that a coding sequence does not exist, e.g. for a UTR (untranslated region). Returns : A Bio::PrimarySeqI implementing object. Args :  File: pm.info, Node: Bio/SeqFeature/Gene/GeneStructure, Next: Bio/SeqFeature/Gene/GeneStructureI, Prev: Bio/SeqFeature/Gene/ExonI, Up: Module List A feature representing an arbitrarily complex structure of a gene **************************************************************************** NAME ==== Bio::SeqFeature::Gene::GeneStructure - A feature representing an arbitrarily complex structure of a gene SYNOPSIS ======== See documentation of methods. DESCRIPTION =========== A feature representing a gene structure. As of now, a gene structure really is only a collection of transcripts. See Bio::SeqFeature::Gene::TranscriptI (interface) and Bio::SeqFeature::Gene::Transcript (implementation) for the features of such objects. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ transcripts ----------- Title : transcripts Usage : @transcripts = $gene->transcripts(); Function: Get the transcripts of this gene structure. Many gene structures will have only one transcript. Returns : An array of Bio::SeqFeature::Gene::TranscriptI implementing objects. Args : add_transcript -------------- Title : add_transcript() Usage : $gene->add_transcript($transcript); Function: Add a transcript to this gene structure. Returns : Args : A Bio::SeqFeature::Gene::TranscriptI implementing object. flush_transcripts ----------------- Title : flush_transcripts() Usage : $gene->flush_transcripts(); Function: Remove all transcripts from this gene structure. Returns : Args : promoters --------- Title : promoters Usage : @prom_sites = $gene->promoters(); Function: Get the promoter features of this gene structure. This method basically merges the promoters returned by transcripts. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : An array of Bio::SeqFeatureI implementing objects. Args : exons ----- Title : exons() Usage : @exons = $gene->exons(); @inital_exons = $gene->exons('Initial'); Function: Get all exon features or all exons of a specified type of this gene structure. Exon type is treated as a case-insensitive regular expression and optional. For consistency, use only the following types: initial, internal, terminal, utr, utr5prime, and utr3prime. A special and virtual type is 'coding', which refers to all types except utr. This method basically merges the exons returned by transcripts. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects. Args : An optional string specifying the type of exon. introns ------- Title : introns() Usage : @introns = $gene->introns(); Function: Get all introns of this gene structure. Note that this class currently generates these features on-the-fly, that is, it simply treats all regions between exons as introns. It assumes that the exons in the transcripts do not overlap. This method basically merges the introns returned by transcripts. Returns : An array of Bio::SeqFeatureI implementing objects. Args : poly_A_sites ------------ Title : poly_A_sites() Usage : @polyAsites = $gene->poly_A_sites(); Function: Get the poly-adenylation sites of this gene structure. This method basically merges the poly-adenylation sites returned by transcripts. Returns : An array of Bio::SeqFeatureI implementing objects. Args : utrs ---- Title : utrs() Usage : @utr_sites = $gene->utrs('3prime'); @utr_sites = $gene->utrs('5prime'); @utr_sites = $gene->utrs(); Function: Get the features representing untranslated regions (UTR) of this gene structure. You may provide an argument specifying the type of UTR. Currently the following types are recognized: 5prime 3prime for UTR on the 5' and 3' end of the CDS, respectively. This method basically merges the UTRs returned by transcripts. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects representing the UTR regions or sites. Args : Optionally, either 3prime, or 5prime for the the type of UTR feature. sub_SeqFeature -------------- Title : sub_SeqFeature Usage : @feats = $gene->sub_SeqFeature(); Function: Returns an array of all subfeatures. This method is defined in Bio::SeqFeatureI. We override this here to include the transcripts. Returns : An array Bio::SeqFeatureI implementing objects. Args : none flush_sub_SeqFeature -------------------- Title : flush_sub_SeqFeature Usage : $gene->flush_sub_SeqFeature(); $gene->flush_sub_SeqFeature(1); Function: Removes all subfeatures. This method is overridden from Bio::SeqFeature::Generic to flush all additional subfeatures, i.e., transcripts, which is almost certainly not what you want. To remove only features added through $gene->add_sub_SeqFeature($feature) pass any argument evaluating to TRUE. Example : Returns : none Args : Optionally, an argument evaluating to TRUE will suppress flushing of all gene structure-specific subfeatures (transcripts).  File: pm.info, Node: Bio/SeqFeature/Gene/GeneStructureI, Next: Bio/SeqFeature/Gene/Transcript, Prev: Bio/SeqFeature/Gene/GeneStructure, Up: Module List A feature representing an arbitrarily complex structure of a gene **************************************************************************** NAME ==== Bio::SeqFeature::Gene::GeneStructure - A feature representing an arbitrarily complex structure of a gene SYNOPSIS ======== #documentaion needed DESCRIPTION =========== A feature representing a gene structure. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ transcripts ----------- Title : transcripts() Usage : @transcripts = $gene->transcripts(); Function: Get the transcript features/sites of this gene structure. See Bio::SeqFeature::Gene::TranscriptI for properties of the returned objects. Returns : An array of Bio::SeqFeature::Gene::TranscriptI implementing objects representing the promoter regions or sites. Args : promoters --------- Title : promoters() Usage : @prom_sites = $gene->promoters(); Function: Get the promoter features/sites of this gene structure. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : An array of Bio::SeqFeatureI implementing objects representing the promoter regions or sites. Args : exons ----- Title : exons() Usage : @exons = $gene->exons(); @inital = $gene->exons('Initial'); Function: Get all exon features or all exons of specified type of this gene structure. Refer to the documentation of the class that produced this gene structure object for information about the possible types. See Bio::SeqFeature::Gene::ExonI for properties of the returned objects. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects representing the exon regions. Args : An optional string specifying the type of the exon. introns ------- Title : introns() Usage : @introns = $gene->introns(); Function: Get all introns of this gene structure. Returns : An array of Bio::SeqFeatureI implementing objects representing the introns. Args : poly_A_sites ------------ Title : poly_A_sites() Usage : @polyAsites = $gene->poly_A_sites(); Function: Get the poly-adenylation features/sites of this gene structure. Returns : An array of Bio::SeqFeatureI implementing objects representing the poly-adenylation regions or sites. Args : utrs ---- Title : utrs() Usage : @utr_sites = $gene->utrs(); Function: Get the UTR features/sites of this gene structure. See Bio::SeqFeature::Gene::ExonI for properties of the returned objects. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects representing the UTR regions or sites. Args :  File: pm.info, Node: Bio/SeqFeature/Gene/Transcript, Next: Bio/SeqFeature/Gene/TranscriptI, Prev: Bio/SeqFeature/Gene/GeneStructureI, Up: Module List A feature representing a transcript *********************************** NAME ==== Bio::SeqFeature::Gene::Transcript - A feature representing a transcript SYNOPSIS ======== See documentation of methods. DESCRIPTION =========== A feature representing a transcript. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ promoters --------- Title : promoters() Usage : @proms = $transcript->promoters(); Function: Get the promoter features/sites of this transcript. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : An array of Bio::SeqFeatureI implementing objects representing the promoter regions or sites. Args : add_promoter ------------ Title : add_promoter() Usage : $transcript->add_promoter($feature); Function: Add a promoter feature/site to this transcript. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : Args : A Bio::SeqFeatureI implementing object. flush_promoters --------------- Title : flush_promoters() Usage : $transcript->flush_promoters(); Function: Remove all promoter features/sites from this transcript. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : Args : none exons ----- Title : exons() Usage : @exons = $gene->exons(); ($inital_exon) = $gene->exons('Initial'); Function: Get all exon features or all exons of specified type of this gene structure. Exon type is treated as a case-insensitive regular expression and optional. For consistency, use only the following types: initial, internal, terminal, utr, utr5prime, and utr3prime. A special and virtual type is 'coding', which refers to all types except UTR (utr, utr5prime, utr3prime). Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects. Args : An optional string specifying the primary_tag of the feature. add_exon -------- Title : add_exon() Usage : $transcript->add_exon($exon,'initial'); Function: Add a exon feature to this transcript. The second argument denotes the type of exon. Mixing exons with and without a type is likely to cause trouble in exons(). Either leave out the type for all exons or for none. Presently, the following types are known: initial, internal, terminal, utr, utr5prime, and utr3prime (all case-insensitive). UTR should better be added through utrs()/add_utr(). If you wish to use other or additional types, you will almost certainly have to call exon_type_sortorder() in order to replace the default sort order, or mrna(), cds(), protein(), and exons() may yield unexpected results. Returns : Args : A Bio::SeqFeature::Gene::ExonI implementing object. A string indicating the type of the exon (optional). flush_exons ----------- Title : flush_exons() Usage : $transcript->flush_exons(); $transcript->flush_exons('terminal'); Function: Remove all or a certain type of exon features from this transcript. See add_exon() for documentation about types. Calling without a type will not flush UTRs. Call flush_utrs() for this purpose. Returns : Args : A string indicating the type of the exon (optional). exon_type_sortorder ------------------- Title : exon_type_sortorder Usage : $transcript->exon_type_sortorder('type1','type2','type3'); $tableref = $transcript->exon_type_sortorder(); Bio::SeqFeature::Gene::Transcript->exon_type_sortorder('type1','type2','type3'); Function: Install or retrieve the sort-order of exon types. Ordering exons by type is only of relevance for methods constructing a sequence corresponding to the transcript object (e.g., mrna(), cds(), etc). For instance, an initial exon would have to be put before an internal exon. The sort-order installed by default covers only the exon types documented in exons(). If you use a different set or additional types, you must call this method with the proper ordering before you can obtain meaningful results from methods that concatenate the sequence of exons. On installing a sort-order, pass all types you are using in ascending order. You can also retrieve the installed order. Do not modify the returned hash table (the method returns a reference) unless you know exactly what you are doing. Inspecting the keys of the table will tell you which types are currently known. This method can also be called as a class method. When called as class method it will operate on the default sort-order, which will be propagated to every object instantiated thereafter. When called as instance method it will operate only on the private copy of the object. Returns : A reference to a hash table representing the sort-order. Args : On installing an order, an array of exon types in ascending order. introns ------- Title : introns() Usage : @introns = $gene->introns(); Function: Get all intron features this gene structure. Note that this implementation generates these features on-the-fly, that is, it simply treats all regions between exons as introns, assuming that exons do not overlap. A consequence is that a consistent correspondence between the elements in the returned array and the array exons() returns will exist only if the exons are properly sorted within their types (forward for plus- strand and reverse for minus-strand transcripts). To ensure correctness the elements in the array returned will always be sorted. Returns : An array of Bio::SeqFeatureI implementing objects representing the intron regions. Args : poly_A_site ----------- Title : poly_A_site() Usage : $polyAsite = $transcript->poly_A_site(); Function: Get/set the poly-adenylation feature/site of this transcript. Returns : A Bio::SeqFeatureI implementing object representing the poly-adenylation region. Args : A Bio::SeqFeatureI implementing object on set, or FALSE to flush a previously set object. utrs ---- Title : utrs() Usage : @utr_sites = $transcript->utrs('3prime'); @utr_sites = $transcript->utrs('5prime'); @utr_sites = $transcript->utrs(); Function: Get the features representing untranslated regions (UTR) of this transcript. You may provide an argument specifying the type of UTR. Currently the following types are recognized: 5prime 3prime for UTR on the 5' and 3' end of the CDS, respectively. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects representing the UTR regions or sites. Args : Optionally, either 3prime, or 5prime for the the type of UTR feature. add_utr ------- Title : add_utr() Usage : $transcript->add_utr($utrobj, '3prime'); $transcript->add_utr($utrobj); Function: Add a UTR feature/site to this transcript. The second parameter is optional and denotes the type of the UTR feature. Presently recognized types include '5prime' and '3prime' for UTR on the 5' and 3' end of a gene, respectively. Calling this method is the same as calling add_exon($utrobj, 'utr'.$type). In this sense a UTR object is a special exon object, which is transcribed, not spliced out, but not translated. Note that the object supplied should return FALSE for is_coding(). Otherwise cds() and friends will become confused. Returns : Args : A Bio::SeqFeature::Gene::ExonI implementing object. flush_utrs ---------- Title : flush_utrs() Usage : $transcript->flush_utrs(); $transcript->flush_utrs('3prime'); Function: Remove all or a specific type of UTR features/sites from this transcript. Cf. add_utr() for documentation about recognized types. Returns : Args : Optionally a string denoting the type of UTR feature. sub_SeqFeature -------------- Title : sub_SeqFeature Usage : @feats = $transcript->sub_SeqFeature(); Function: Returns an array of all subfeatures. This method is defined in Bio::SeqFeatureI. We override this here to include the exon etc features. Returns : An array Bio::SeqFeatureI implementing objects. Args : none flush_sub_SeqFeature -------------------- Title : flush_sub_SeqFeature Usage : $transcript->flush_sub_SeqFeature(); $transcript->flush_sub_SeqFeature(1); Function: Removes all subfeatures. This method is overridden from Bio::SeqFeature::Generic to flush all additional subfeatures like exons, promoters, etc., which is almost certainly not what you want. To remove only features added through $transcript->add_sub_SeqFeature($feature) pass any argument evaluating to TRUE. Example : Returns : none Args : Optionally, an argument evaluating to TRUE will suppress flushing of all transcript-specific subfeatures (exons etc.). cds --- Title : cds Usage : $seq = $transcript->cds(); Function: Returns the CDS (coding sequence) as defined by the exons of this transcript and the attached sequence. If no sequence is attached this method will return undef. Note that the implementation provided here returns a concatenation of all coding exons, thereby assuming that exons do not overlap. Note also that you cannot set the CDS via this method. Set a single CDS feature as a single exon, or derive your own class if you want to store a predicted CDS. Example : Returns : A Bio::PrimarySeqI implementing object. Args : protein ------- Title : protein() Usage : $protein = $transcript->protein(); Function: Get the protein encoded by the transcript as a sequence object. The implementation provided here simply calls translate() on the object returned by cds(). Returns : A Bio::PrimarySeqI implementing object. Args : mrna ---- Title : mrna() Usage : $mrna = $transcript->mrna(); Function: Get the mRNA of the transcript as a sequence object. The difference to cds() is that the sequence object returned by this methods will also include UTR and the poly-adenylation site, but not promoter sequence (TBD). HL: do we really need this method? Returns : A Bio::PrimarySeqI implementing object. Args :  File: pm.info, Node: Bio/SeqFeature/Gene/TranscriptI, Next: Bio/SeqFeature/Generic, Prev: Bio/SeqFeature/Gene/Transcript, Up: Module List Interface for a feature representing a transcript of exons, promoter(s), UTR, and a poly-adenylation site. ******************************************************************************************************************* NAME ==== Bio::SeqFeature::Gene::TranscriptI - Interface for a feature representing a transcript of exons, promoter(s), UTR, and a poly-adenylation site. SYNOPSIS ======== #documentation needed DESCRIPTION =========== A feature representing a transcript. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ promoters --------- Title : promoters() Usage : @proms = $transcript->promoters(); Function: Get the promoter features of this transcript. Note that OO-modeling of regulatory elements is not stable yet. This means that this method might change or even disappear in a future release. Be aware of this if you use it. Returns : An array of Bio::SeqFeatureI implementing objects representing the promoter regions or sites. Args : exons ----- Title : exons() Usage : @exons = $transcript->exons(); @inital = $transcript->exons('Initial'); Function: Get the individual exons this transcript comprises of, or all exons of a specified type. Refer to the documentation of the class that produced this transcript object for information about the possible types. See Bio::SeqFeature::Gene::ExonI for properties of the returned objects. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects Args : An optional string specifying the type of the exon. introns ------- Title : introns() Usage : @introns = $transcript->introns(); Function: Get all introns this transcript comprises of. Returns : An array of Bio::SeqFeatureI implementing objects representing the introns. Args : poly_A_site ----------- Title : poly_A_site() Usage : $polyAsite = $transcript->poly_A_site(); Function: Get the poly-adenylation site of this transcript. Returns : A Bio::SeqFeatureI implementing object. Args : utrs ---- Title : utrs() Usage : @utr_sites = $transcript->utrs(); Function: Get the UTR regions this transcript comprises of. See Bio::SeqFeature::Gene::ExonI for properties of the returned objects. Returns : An array of Bio::SeqFeature::Gene::ExonI implementing objects Args : mrna ---- Title : mrna() Usage : $mrna = $transcript->mrna(); Function: Get the mRNA of the transcript as a sequence object. Returns : A Bio::PrimarySeqI implementing object. Args : cds --- Title : cds() Usage : $cds = $transcript->cds(); Function: Get the CDS (coding sequence) of the transcript as a sequence object. Returns : A Bio::PrimarySeqI implementing object. Args : protein ------- Title : protein() Usage : $protein = $transcript->protein(); Function: Get the protein encoded by the transcript as a sequence object. Returns : A Bio::PrimarySeqI implementing object. Args :  File: pm.info, Node: Bio/SeqFeature/Generic, Next: Bio/SeqFeature/Similarity, Prev: Bio/SeqFeature/Gene/TranscriptI, Up: Module List Generic SeqFeature ****************** NAME ==== Bio::SeqFeature::Generic - Generic SeqFeature SYNOPSIS ======== $feat = new Bio::SeqFeature::Generic ( -start => 10, -end => 100, -strand => -1, -primary => 'repeat', -source => 'repeatmasker', -score => 1000, -tag => { new => 1, author => 'someone', sillytag => 'this is silly!' } ); $feat = new Bio::SeqFeature::Generic ( -gff_string => $string ); # if you want explicitly GFF1 $feat = new Bio::SeqFeature::Generic ( -gff1_string => $string ); # add it to an annotated sequence $annseq->add_SeqFeature($feat); DESCRIPTION =========== Bio::SeqFeature::Generic is a generic implementation for the Bio::SeqFeatureI interface, providing a simple object to provide all the information for a feature on a sequence. For many Features, this is all you will need to use (for example, this is fine for Repeats in DNA sequence or Domains in protein sequence). For other features, which have more structure, this is a good base class to extend using inheritence to have new things: this is what is done in the Bio::SeqFeature::Gene, Bio::SeqFeature::Transcript and Bio::SeqFeature::Exon, which provide well coordinated classes to represent genes on DNA sequence (for example, you can get the protein sequence out from a transcript class). For many Features, you want to add some piece of information, for example a common one is that this feature is 'new' whereas other features are 'old'. The tag system, which here is implemented using a hash can be used here. You can use the tag system to extend the SeqFeature::Generic programmatically: that is, you know that you have read in more information into the tag 'mytag' which you can the retrieve. This means you do not need to know how to write inherieted Perl to provide more complex information on a feature, and/or, if you do know but you donot want to write a new class every time you need some extra piece of information, you can use the tag system to easily store and then retrieve information. The tag system can be written in/out of GFF format, and also into EMBL format via AnnSeqIO::EMBL. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Ewan Birney ==================== Ewan Birney DEVELOPERS ========== This class has been written with an eye out of inheritence. The fields the actual object hash are: _gsf_tag_hash = reference to a hash for the tags _gsf_sub_array = reference to an array for sub arrays _gsf_start = scalar of the start point _gsf_end = scalar of the end point _gsf_strand = scalar of the strand APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ location -------- Title : location Usage : my $location = $seqfeature->location() Function: returns a location object suitable for identifying location of feature on sequence or parent feature Returns : Bio::LocationI object Args : none start ----- Title : start Usage : $start = $feat->start $feat->start(20) Function: Get/set on the start coordinate of the feature Returns : integer Args : none end --- Title : end Usage : $end = $feat->end $feat->end($end) Function: get/set on the end coordinate of the feature Returns : integer Args : none length ------ Title : length Usage : Function: Example : Returns : Args : strand ------ Title : strand Usage : $strand = $feat->strand() $feat->strand($strand) Function: get/set on strand information, being 1,-1 or 0 Returns : -1,1 or 0 Args : none score ----- Title : score Usage : $score = $feat->score() $feat->score($score) Function: get/set on score information Returns : float Args : none if get, the new value if set frame ----- Title : frame Usage : $frame = $feat->frame() $feat->frame($frame) Function: get/set on frame information Returns : 0,1,2, '.' Args : none if get, the new value if set sub_SeqFeature -------------- Title : sub_SeqFeature Usage : @feats = $feat->sub_SeqFeature(); Function: Returns an array of sub Sequence Features Returns : An array Args : none add_sub_SeqFeature ------------------ Title : add_sub_SeqFeature Usage : $feat->add_sub_SeqFeature($subfeat); $feat->add_sub_SeqFeature($subfeat,'EXPAND') Function: adds a SeqFeature into the subSeqFeature array. with no 'EXPAND' qualifer, subfeat will be tested as to whether it lies inside the parent, and throw an exception if not. If EXPAND is used, the parent's start/end/strand will be adjusted so that it grows to accommodate the new subFeature Returns : nothing Args : An object which has the SeqFeatureI interface flush_sub_SeqFeature -------------------- Title : flush_sub_SeqFeature Usage : $sf->flush_sub_SeqFeature Function: Removes all sub SeqFeature (if you want to remove only a subset, take an array of them all, flush them, and add back only the guys you want) Example : Returns : none Args : none primary_tag ----------- Title : primary_tag Usage : $tag = $feat->primary_tag() $feat->primary_tag('exon') Function: get/set on the primary tag for a feature, eg 'exon' Returns : a string Args : none source_tag ---------- Title : source_tag Usage : $tag = $feat->source_tag() $feat->source_tag('genscan'); Function: Returns the source tag for a feature, eg, 'genscan' Returns : a string Args : none has_tag ------- Title : has_tag Usage : $value = $self->has_tag('some_tag') Function: Tests wether a feature contaings a tag Returns : TRUE if the SeqFeature has the tag, and FALSE otherwise. Args : The name of a tag add_tag_value ------------- Title : add_tag_value Usage : $self->add_tag_value('note',"this is a note"); Returns : TRUE on success Args : tag (string) and value (any scalar) each_tag_value -------------- Title : each_tag_value Usage : @values = $gsf->each_tag_value('note'); Function: Returns a list of all the values stored under a particular tag. Returns : A list of scalars Args : The name of the tag all_tags -------- Title : all_tags Usage : @tags = $feat->all_tags() Function: Get a list of all the tags in a feature Returns : An array of tag names Args : none remove_tag ---------- Title : remove_tag Usage : $feat->remove_tag('some_tag') Function: removes a tag from this feature Returns : nothing Args : tag (string) attach_seq ---------- Title : attach_seq Usage : $sf->attach_seq($seq) Function: Attaches a Bio::Seq object to this feature. This Bio::Seq object is for the *entire* sequence: ie from 1 to 10000 Example : Returns : TRUE on success Args : seq --- Title : seq Usage : $tseq = $sf->seq() Function: returns the truncated sequence (if there) for this Example : Returns : sub seq on attached sequence bounded by start & end Args : none entire_seq ---------- Title : entire_seq Usage : $whole_seq = $sf->entire_seq() Function: gives the entire sequence that this seqfeature is attached to Example : Returns : Args : seqname ------- Title : seqname Usage : $obj->seqname($newval) Function: There are many cases when you make a feature that you do know the sequence name, but do not know its actual sequence. This is an attribute such that you can store the seqname. This attribute should *not* be used in GFF dumping, as that should come from the collection in which the seq feature was found. Returns : value of seqname Args : newvalue (optional) annotation ---------- Title : annotation Usage : $obj->annotation($annot_obj) Function: Example : Returns : A Bio::Annotation object Args : newvalue (optional) gff_format ---------- Title : gff_format Usage : # get: $gffio = $feature->gff_format(); # set (change the default version of GFF2): $feature->gff_format(Bio::Tools::GFF->new(-gff_version => 1)); Function: Get/set the GFF format interpreter. This object is supposed to format and parse GFF. See Bio::Tools::GFF for the interface. If this method is called as class method, the default for all newly created instances will be changed. Otherwise only this instance will be affected. Example : Returns : a Bio::Tools::GFF compliant object Args : On set, an instance of Bio::Tools::GFF or a derived object. gff_string ---------- Title : gff_string Usage : $str = $feat->gff_string; $str = $feat->gff_string($gff_formatter); Function: Provides the feature information in GFF format. We override this here from Bio::SeqFeatureI in order to use the formatter returned by gff_format(). Returns : A string Args : Optionally, an object implementing gff_string(). _from_gff_string ---------------- Title : _from_gff_string Usage : Function: Set feature properties from GFF string. This method uses the object returned by gff_format() for the actual interpretation of the string. Set a different GFF format interpreter first if you need a specific version, like GFF1. (The default is GFF2.) Example : Returns : Args : a GFF-formatted string _expand_region -------------- Title : _expand_region Usage : $self->_expand_region($feature); Function: Expand the total region covered by this feature to accomodate for the given feature. May be called whenever any kind of subfeature is added to this feature. add_sub_SeqFeature() already does this. Returns : Args : A Bio::SeqFeatureI implementing object. _parse ------ Title : _parse Usage : Function: Parsing hints Example : Returns : Args : _tag_value ---------- Title : _tag_value Usage : Function: For internal use only. Convenience method for those tags that may only have a single value. Returns : Args :  File: pm.info, Node: Bio/SeqFeature/Similarity, Next: Bio/SeqFeature/SimilarityPair, Prev: Bio/SeqFeature/Generic, Up: Module List A sequence feature based on similarity ************************************** NAME ==== Bio::SeqFeature::Similarity - A sequence feature based on similarity SYNOPSIS ======== # obtain a similarity feature somehow print "significance: ", $sim_fea->significance(), "\n"; print "bit score: ", $sim_fea->bits(), "\n"; print "score: ", $sim_fea->score(), "\n"; print "fraction of identical residues: ", $sim_fea->frac_identical(), "\n"; DESCRIPTION =========== This module is basically a sequence features based on similarity, and therefore has support for measures assessing the similarity. Everything else is inherited from *Note Bio/SeqFeature/Generic: Bio/SeqFeature/Generic,. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net or hilmar.lapp@pharma.novartis.com Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ significance ------------ Title : significance Usage : $evalue = $obj->significance(); $obj->significance($evalue); Function: Returns : Args : bits ---- Title : bits Usage : $bits = $obj->bits(); $obj->bits($value); Function: Returns : Args : frac_identical -------------- Title : frac_identical Usage : $fracid = $obj->frac_identical(); $obj->frac_identical($value); Function: Returns : Args : seqlength --------- Title : seqlength Usage : $len = $obj->seqlength(); $obj->seqlength($len); Function: Returns : Args : seqdesc ------- Title : seqdesc Usage : $desc = $obj->seqdesc(); $obj->seqdesc($desc); Function: At present this method is a shorthand for $obj->annotation()->description(). Note that this is not stored in the tag system and hence will not be included in the return value of gff_string(). Returns : Args :  File: pm.info, Node: Bio/SeqFeature/SimilarityPair, Next: Bio/SeqFeatureI, Prev: Bio/SeqFeature/Similarity, Up: Module List Sequence feature based on the similarity of two sequences. **************************************************************************** NAME ==== Bio::SeqFeature::SimilarityPair - Sequence feature based on the similarity of two sequences. SYNOPSIS ======== $sim_pair = Bio::SeqFeature::SimilarityPair->from_searchResult($blastHit); $sim = $sim_pair->query(); # a Bio::SeqFeature::Similarity object $sim = $sim_pair->subject(); # dto. # some properties for the similarity pair $expect = $sim_pair->significance(); $score = $sim_pair->score(); $bitscore = $sim_pair->bits(); # this will not write the description for the sequence (only its name) print $sim_pair->query()->gff_string(), "\n"; DESCRIPTION =========== Lightweight similarity search result as a pair of Similarity features. This class inherits off Bio::SeqFeature::FeaturePair and therefore implements Bio::SeqFeatureI, whereas the two features of the pair are descendants of Bio::SeqFeature::Generic, with better support for representing similarity search results in a cleaner way. FEEDBACK ======== Mailing Lists ------------- User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ AUTHOR - Hilmar Lapp ==================== Email hlapp@gmx.net or hilmar.lapp@pharma.novartis.com Describe contact details here APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ from_searchResult ----------------- Title : from_searchResult Usage : $sim_pair = Bio::SeqFeature::SimilarityPair->from_searchResult($blast_obj); $sim_pair->from_searchResult($blast_obj); Function: This method creates or fills SimilarityPair objects from objects representing similarity search results. Since there is no public interface search result objects are required to implement, this method basically checks for the type of the object and dispatches the actual SimilarityPair creation to a method capable of this. At present, the following classes are recognized: Bio::Tools::Blast::Sbjct Bio::Tools::Blast::HSP An exception will be thrown if an object of an unrecognized class is passed. Note that this is probably the point where you will want to add your class if you have a method for creating SimilarityPair objects from it. Note that passing an object that has already previously been filled is potentially error-prone, because undefined fields will not be (re-)set to an undef value. Returns : The object created or filled. Args : _from_blastObject ----------------- Title : from_blastObject Usage : $sim_pair = Bio::SeqFeature::SimilarityPair->_from_blastObj($blast_obj); $sim_pair->_from_blastObj($blast_obj); Function: See documentation for from_searchResult(). This one handles Bio::Tools::Blast::Sbjct and Bio::Tools::Blast::HSP objects. Returns : A SimilarityPair object. Args : query ----- Title : query Usage : $query_feature = $obj->query(); $obj->query($query_feature); Function: Returns : Args : subject ------- Title : subject Usage : $sbjct_feature = $obj->subject(); $obj->subject($sbjct_feature); Function: Returns : Args : source_tag ---------- Title : source_tag Usage : $source = $obj->source_tag(); # i.e., program $obj->source_tag($evalue); Function: Returns : Args : significance ------------ Title : significance Usage : $evalue = $obj->significance(); $obj->significance($evalue); Function: Returns : Args : score ----- Title : score Usage : $score = $obj->score(); $obj->score($value); Function: Returns : Args : bits ---- Title : bits Usage : $bits = $obj->bits(); $obj->bits($value); Function: Returns : Args :  File: pm.info, Node: Bio/SeqFeatureI, Next: Bio/SeqI, Prev: Bio/SeqFeature/SimilarityPair, Up: Module List Abstract interface of a Sequence Feature **************************************** NAME ==== Bio::SeqFeatureI - Abstract interface of a Sequence Feature SYNOPSIS ======== # get a seqfeature somehow, eg, foreach $feat ( $annseq->all_seqfeatures() ) { print "Feature from ", $feat->start, "to ", $feat->end, " Primary tag ", $feat->primary_tag, ", produced by ", $feat->source_tag(), "\n"; if( $feat->strand == 0 ) { print "Feature applicable to either strand\n"; } else { print "Feature on strand ", $feat->strand,"\n"; # -1,1 } foreach $tag ( $feat->all_tags() ) { print "Feature has tag ", $tag, "with values, ", join(' ',$feat->each_tag_value($tag)), "\n"; } print "new feature\n" if $feat->has_tag('new'); # features can have sub features my @subfeat = $feat->sub_SeqFeature(); } DESCRIPTION =========== This interface is the functions one can expect for any Sequence Feature, whatever its implemtation or whether it is a more complex type (eg, a Gene). This object doesn't actually provide any implemention, it just provides the definitions of what methods one can call. See Bio::SeqFeature::Generic for a good standard implementation of this object FEEDBACK ======== User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bio.perl.org/MailList.html - About the mailing lists 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 email or the web: bioperl-bugs@bio.perl.org http://bio.perl.org/bioperl-bugs/ APPENDIX ======== The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ start ----- Title : start Usage : $start = $feat->start Function: Returns the start coordinate of the feature Returns : integer Args : none end --- Title : end Usage : $end = $feat->end Function: Returns the end coordinate of the feature Returns : integer Args : none strand ------ Title : strand Usage : $strand = $feat->strand() Function: Returns strand information, being 1,-1 or 0 Returns : -1,1 or 0 Args : none sub_SeqFeature -------------- Title : sub_SeqFeature Usage : @feats = $feat->sub_SeqFeature(); Function: Returns an array of sub Sequence Features Returns : An array Args : none primary_tag ----------- Title : primary_tag Usage : $tag = $feat->primary_tag() Function: Returns the primary tag for a feature, eg 'exon' Returns : a string Args : none source_tag ---------- Title : source_tag Usage : $tag = $feat->source_tag() Function: Returns the source tag for a feature, eg, 'genscan' Returns : a string Args : none has_tag ------- Title : has_tag Usage : $tag_exists = $self->has_tag('some_tag') Function: Returns : TRUE if the specified tag exists, and FALSE otherwise Args : each_tag_value -------------- Title : each_tag_value Usage : @values = $self->each_tag_value('some_tag') Function: Returns : An array comprising the values of the specified tag. Args : all_tags -------- Title : all_tags Usage : @tags = $feat->all_tags() Function: gives all tags for this feature Returns : an array of strings Args : none gff_string ---------- Title : gff_string Usage : $str = $feat->gff_string; $str = $feat->gff_string($gff_formatter); Function: Provides the feature information in GFF format. The implementation provided here returns GFF2 by default. If you want a different version, supply an object implementing a method gff_string() accepting a SeqFeatureI object as argument. E.g., to obtain GFF1 format, do the following: my $gffio = Bio::Tools::GFF->new(-gff_version => 1); $gff1str = $feat->gff_string($gff1io); Returns : A string Args : Optionally, an object implementing gff_string(). _static_gff_formatter --------------------- Title : _static_gff_formatter Usage : Function: Example : Returns : Args : RangeI methods ============== These methods are inherited from RangeI and can be used directly from a SeqFeatureI interface. Remember that a SeqFeature is-a RangeI, and so wherever you see RangeI you can use a feature ($r in the below documentation). overlaps -------- Title : overlaps Usage : if($feat->overlaps($r)) { do stuff } if($feat->overlaps(200)) { do stuff } Function: tests if $feat overlaps $r Args : a RangeI to test for overlap with, or a point Returns : true if the Range overlaps with the feature, false otherwise contains -------- Title : contains Usage : if($feat->contains($r) { do stuff } Function: tests whether $feat totally contains $r Args : a RangeI to test for being contained Returns : true if the argument is totaly contained within this range equals ------ Title : equals Usage : if($feat->equals($r)) Function: test whether $feat has the same start, end, strand as $r Args : a RangeI to test for equality Returns : true if they are describing the same range Geometrical methods =================== These methods do things to the geometry of ranges, and return triplets (start, stop, strand) from which new ranges could be built. intersection ------------ Title : intersection Usage : ($start, $stop, $strand) = $feat->intersection($r) Function: gives the range that is contained by both ranges Args : a RangeI to compare this one to Returns : nothing if they do not overlap, or the range that they do overlap union ----- Title : union Usage : ($start, $stop, $strand) = $feat->union($r); : ($start, $stop, $strand) = Bio::RangeI->union(@ranges); Function: finds the minimal range that contains all of the ranges Args : a range or list of ranges to find the union of Returns : the range containing all of the ranges location -------- Title : location Usage : my $location = $seqfeature->location() Function: returns a location object suitable for identifying location of feature on sequence or parent feature Returns : Bio::LocationI object Args : none