class Bio::Features

DESCRIPTION

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.

USAGE

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

# And create a container for them
feature_container = Bio::Features.new([ 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
  end
end

# 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
  end
end