| Class | Bio::Features |
| In: |
lib/bio/compat/features.rb
|
| Parent: | Object |
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 = 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
| features | [RW] | Returns an Array of Feature objects. |
Normally, users can not call this method.
Create a new Bio::Features object.
Arguments:
| Returns: | Bio::Features object |
# File lib/bio/compat/features.rb, line 111
111: def initialize(ary = [])
112: @features = ary
113: end
This method should not be used. Only for backward compatibility of existing code.
Since Bio::Features is obsoleted, Bio::Features.new not returns Bio::Features object, but modifies given ary and returns the ary.
Arguments:
| Returns: | the given array |
# File lib/bio/compat/features.rb, line 98
98: def self.new(ary = [])
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
Short cut for the Features#features[n]
# File lib/bio/compat/features.rb, line 140
140: def [](*arg)
141: @features[*arg]
142: end
Appends a Feature object to Features.
Arguments:
| Returns: | Bio::Features object |
# File lib/bio/compat/features.rb, line 123
123: def append(a)
124: @features.push(a) if a.is_a? Feature
125: return self
126: end