class Bio::Feature
DESCRIPTION¶ ↑
Container for the sequence annotation.
USAGE¶ ↑
# Create a Bio::Feature object. # For example: the GenBank-formatted entry in genbank for accession M33388 # contains the following feature: # exon 1532..1799 # /gene="CYP2D6" # /note="cytochrome P450 IID6; GOO-132-127" # /number="1" feature = Bio::Feature.new('exon','1532..1799') feature.append(Bio::Feature::Qualifier.new('gene', 'CYP2D6')) feature.append(Bio::Feature::Qualifier.new('note', 'cytochrome P450 IID6')) feature.append(Bio::Feature::Qualifier.new('number', '1')) # or all in one go: feature2 = Bio::Feature.new('exon','1532..1799', [ Bio::Feature::Qualifier.new('gene', 'CYP2D6'), Bio::Feature::Qualifier.new('note', 'cytochrome P450 IID6; GOO-132-127'), Bio::Feature::Qualifier.new('number', '1') ]) # Print the feature puts feature.feature + "\t" + feature.position feature.each do |qualifier| puts "- " + qualifier.qualifier + ": " + qualifier.value end
REFERENCES¶ ↑
- INSD feature table definition
Attributes
Returns type of feature in String (e.g 'CDS', 'gene')
Returns position of the feature in String (e.g. 'complement(123..146)')
Returns an Array of Qualifier objects.
Public Class Methods
Create a new Bio::Feature object. Arguments:
-
(required) feature: type of feature (e.g. “exon”)
-
(required) position: position of feature (e.g. “complement(1532..1799)”)
-
(opt) qualifiers: list of Bio::Feature::Qualifier objects (default: [])
- Returns
-
Bio::Feature object
# File lib/bio/feature.rb, line 51 def initialize(feature = '', position = '', qualifiers = []) @feature, @position, @qualifiers = feature, position, qualifiers end
Public Instance Methods
Short cut for the #to_hash
# File lib/bio/feature.rb, line 111 def [](key) self.to_hash[key] end
Appends a Qualifier object to the Feature.
Arguments:
-
(required) qualifier: Bio::Feature::Qualifier object
- Returns
-
Bio::Feature object
# File lib/bio/feature.rb, line 74 def append(a) @qualifiers.push(a) if a.is_a? Qualifier return self end
Returns a Hash constructed from qualifier objects.
# File lib/bio/feature.rb, line 91 def assoc STDERR.puts "Bio::Feature#assoc is deprecated, use Bio::Feature#to_hash instead" if $DEBUG hash = Hash.new @qualifiers.each do |x| hash[x.qualifier] = x.value end return hash end
Iterates on each qualifier object.
Arguments:
-
(optional) key: if specified, only iterates over qualifiers with this key
# File lib/bio/feature.rb, line 83 def each(arg = nil) @qualifiers.each do |x| next if arg and x.qualifier != arg yield x end end
Returns a Bio::Locations object translated from the position string.
# File lib/bio/feature.rb, line 65 def locations Locations.new(@position) end
Returns a Hash constructed from qualifier objects.
# File lib/bio/feature.rb, line 101 def to_hash hash = Hash.new @qualifiers.each do |x| hash[x.qualifier] ||= [] hash[x.qualifier] << x.value end return hash end