| Class | Bio::Feature |
| In: |
lib/bio/feature.rb
|
| Parent: | Object |
Container for the sequence annotation.
# 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
| INSD feature table definition: | www.ddbj.nig.ac.jp/FT/full_index.html |
Create a new Bio::Feature object. Arguments:
| Returns: | Bio::Feature object |
# File lib/bio/feature.rb, line 52
52: def initialize(feature = '', position = '', qualifiers = [])
53: @feature, @position, @qualifiers = feature, position, qualifiers
54: end
Short cut for the Bio::Feature#to_hash[key]
# File lib/bio/feature.rb, line 112
112: def [](key)
113: self.to_hash[key]
114: end
Appends a Qualifier object to the Feature.
Arguments:
| Returns: | Bio::Feature object |
# File lib/bio/feature.rb, line 75
75: def append(a)
76: @qualifiers.push(a) if a.is_a? Qualifier
77: return self
78: end
Returns a Hash constructed from qualifier objects.
# File lib/bio/feature.rb, line 92
92: def assoc
93: STDERR.puts "Bio::Feature#assoc is deprecated, use Bio::Feature#to_hash instead" if $DEBUG
94: hash = Hash.new
95: @qualifiers.each do |x|
96: hash[x.qualifier] = x.value
97: end
98: return hash
99: end
Returns a Bio::Locations object translated from the position string.
# File lib/bio/feature.rb, line 66
66: def locations
67: Locations.new(@position)
68: end