class Bio::Features


This class is OBSOLETED, and will soon be removed. Instead of this class, an array is to be used.

Container for a list of Feature objects.


# First, create some Bio::Feature objects
feature1 ='intron','3627..4059')
feature2 ='exon','4060..4236')
feature3 ='intron','4237..4426')
feature4 ='CDS','join(2538..3626,4060..4236)',
                 ['gene', 'CYP2D6'),

# And create a container for them
feature_container =[ feature1, feature2, feature3, feature4 ])

# Iterate over all features and print
feature_container.each do |feature|
  puts feature.feature + "\t" + feature.position
  feature.each do |qualifier|
    puts "- " + qualifier.qualifier + ": " + qualifier.value

# Iterate only over CDS features and extract translated amino acid sequences
features.each("CDS") do |feature|
  hash = feature.to_hash
  name = hash["gene"] || hash["product"] || hash["note"] 
  aaseq  = hash["translation"]
  pos  = feature.position
  if name and seq
    puts ">#{gene} #{feature.position}"
    puts aaseq



Returns an Array of Feature objects.

Public Class Methods

new(ary = []) click to toggle source

This method should not be used. Only for backward compatibility of existing code.

Since Bio::Features is obsoleted, not returns Bio::Features object, but modifies given ary and returns the ary.



the given array

    # File lib/bio/compat/features.rb
 98 def = [])
 99   warn 'Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility.'
100   ary.extend(BackwardCompatibility)
101   ary
102 end
new(ary = []) click to toggle source

Normally, users can not call this method.

Create a new Bio::Features object.


  • (optional) _list of features_: list of Bio::Feature objects


Bio::Features object

    # File lib/bio/compat/features.rb
111 def initialize(ary = [])
112   @features = ary
113 end

Public Instance Methods

[](*arg) click to toggle source

Short cut for the Features#features[n]

    # File lib/bio/compat/features.rb
140 def [](*arg)
141   @features[*arg]
142 end
append(a) click to toggle source

Appends a Feature object to Features.



Bio::Features object

    # File lib/bio/compat/features.rb
123 def append(a)
124   @features.push(a) if a.is_a? Feature
125   return self
126 end
each(arg = nil) { |x| ... } click to toggle source

Iterates on each feature object.


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

    # File lib/bio/compat/features.rb
132 def each(arg = nil)
133   @features.each do |x|
134     next if arg and x.feature != arg
135     yield x
136   end
137 end
first() click to toggle source

Short cut for the Features#features.first

    # File lib/bio/compat/features.rb
145 def first
146   @features.first
147 end
last() click to toggle source

Short cut for the Features#features.last

    # File lib/bio/compat/features.rb
150 def last
151   @features.last
152 end