Class: Bio::Features
Overview
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
Defined Under Namespace
Modules: BackwardCompatibility
Instance Attribute Summary collapse
-
#features ⇒ Object
Returns an Array of Feature objects.
Class Method Summary collapse
-
.new(ary = []) ⇒ Object
This method should not be used.
Instance Method Summary collapse
-
#[](*arg) ⇒ Object
Short cut for the Features#features.
-
#append(a) ⇒ Object
Appends a Feature object to Features.
-
#each(arg = nil) ⇒ Object
Iterates on each feature object.
-
#first ⇒ Object
Short cut for the Features#features.first.
-
#initialize(ary = []) ⇒ Features
constructor
Normally, users can not call this method.
-
#last ⇒ Object
Short cut for the Features#features.last.
Constructor Details
#initialize(ary = []) ⇒ Features
Normally, users can not call this method.
Create a new Bio::Features object.
Arguments:
-
(optional) _list of features_: list of Bio::Feature objects
- Returns
-
Bio::Features object
111 112 113 |
# File 'lib/bio/compat/features.rb', line 111 def initialize(ary = []) @features = ary end |
Instance Attribute Details
#features ⇒ Object
Returns an Array of Feature objects.
116 117 118 |
# File 'lib/bio/compat/features.rb', line 116 def features @features end |
Class Method Details
.new(ary = []) ⇒ Object
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:
-
(optional) __: Array of Bio::Feature objects
- Returns
-
the given array
98 99 100 101 102 |
# File 'lib/bio/compat/features.rb', line 98 def self.new(ary = []) warn 'Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility.' ary.extend(BackwardCompatibility) ary end |
Instance Method Details
#[](*arg) ⇒ Object
Short cut for the Features#features
140 141 142 |
# File 'lib/bio/compat/features.rb', line 140 def [](*arg) @features[*arg] end |
#append(a) ⇒ Object
Appends a Feature object to Features.
Arguments:
-
(required) feature: Bio::Feature object
- Returns
-
Bio::Features object
123 124 125 126 |
# File 'lib/bio/compat/features.rb', line 123 def append(a) @features.push(a) if a.is_a? Feature return self end |
#each(arg = nil) ⇒ Object
Iterates on each feature object.
Arguments:
-
(optional) key: if specified, only iterates over features with this key
132 133 134 135 136 137 |
# File 'lib/bio/compat/features.rb', line 132 def each(arg = nil) @features.each do |x| next if arg and x.feature != arg yield x end end |
#first ⇒ Object
Short cut for the Features#features.first
145 146 147 |
# File 'lib/bio/compat/features.rb', line 145 def first @features.first end |
#last ⇒ Object
Short cut for the Features#features.last
150 151 152 |
# File 'lib/bio/compat/features.rb', line 150 def last @features.last end |