Represent a Sequence Feature on an object. Attributes: o location - the location of the feature on the sequence (FeatureLocation) o type - the specified type of the feature (ie. CDS, exon, repeat...) o location_operator - a string specifying how this SeqFeature may be related to others. For example, in the example GenBank feature shown below, the location_operator would be "join" o strand - A value specifying on which strand (of a DNA sequence, for instance) the feature deals with. 1 indicates the plus strand, -1 indicates the minus strand, 0 indicates both strands, and None indicates that strand doesn't apply (ie. for proteins) or is not known. o id - A string identifier for the feature. o ref - A reference to another sequence. This could be an accession number for some different sequence. o ref_db - A different database for the reference accession number. o qualifiers - A dictionary of qualifiers on the feature. These are analagous to the qualifiers from a GenBank feature table. The keys of the dictionary are qualifier names, the values are the qualifier values. o sub_features - Additional SeqFeatures which fall under this 'parent' feature. For instance, if we having something like: CDS join(1..10,30..40,50..60) The the top level feature would be a CDS from 1 to 60, and the sub features would be of 'CDS_join' type and would be from 1 to 10, 30 to 40 and 50 to 60, respectively. To get the nucleotide sequence for this CDS, you would need to take the parent sequence and do seq[0:10]+seq[29:40]+seq[49:60] (Python counting). Things are more complicated with strands and fuzzy positions. To save you dealing with all these special cases, the SeqFeature provides an extract method to do this for you.
Public Member Functions
Private Member Functions