Class Bio::Feature
In: lib/bio/feature.rb
Parent: Object

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:www.ddbj.nig.ac.jp/FT/full_index.html

Methods

[]   append   assoc   each   locations   new   to_hash  

Classes and Modules

Class Bio::Feature::Qualifier

Attributes

feature  [RW]  Returns type of feature in String (e.g ‘CDS’, ‘gene’)
position  [RW]  Returns position of the feature in String (e.g. ‘complement(123..146)’)
qualifiers  [RW]  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

[Source]

    # File lib/bio/feature.rb, line 51
51:   def initialize(feature = '', position = '', qualifiers = [])
52:     @feature, @position, @qualifiers = feature, position, qualifiers
53:   end

Public Instance methods

Short cut for the Bio::Feature#to_hash[key]

[Source]

     # File lib/bio/feature.rb, line 111
111:   def [](key)
112:     self.to_hash[key]
113:   end

Appends a Qualifier object to the Feature.

Arguments:

Returns:Bio::Feature object

[Source]

    # File lib/bio/feature.rb, line 74
74:   def append(a)
75:     @qualifiers.push(a) if a.is_a? Qualifier
76:     return self
77:   end

Returns a Hash constructed from qualifier objects.

[Source]

    # File lib/bio/feature.rb, line 91
91:   def assoc
92:     STDERR.puts "Bio::Feature#assoc is deprecated, use Bio::Feature#to_hash instead" if $DEBUG
93:     hash = Hash.new
94:     @qualifiers.each do |x|
95:       hash[x.qualifier] = x.value
96:     end
97:     return hash
98:   end

Iterates on each qualifier object.

Arguments:

  • (optional) key: if specified, only iterates over qualifiers with this key

[Source]

    # File lib/bio/feature.rb, line 83
83:   def each(arg = nil)
84:     @qualifiers.each do |x|
85:       next if arg and x.qualifier != arg
86:       yield x
87:     end
88:   end

Returns a Bio::Locations object translated from the position string.

[Source]

    # File lib/bio/feature.rb, line 65
65:   def locations
66:     Locations.new(@position)
67:   end

Returns a Hash constructed from qualifier objects.

[Source]

     # File lib/bio/feature.rb, line 101
101:   def to_hash
102:     hash = Hash.new
103:     @qualifiers.each do |x|
104:       hash[x.qualifier] ||= []
105:       hash[x.qualifier] << x.value
106:     end
107:     return hash
108:   end

[Validate]