| Class | Bio::Sequence::AA |
| In: |
lib/bio/sequence/compat.rb
lib/bio/sequence/aa.rb |
| Parent: | Object |
Bio::Sequence::AA represents a bare Amino Acid sequence in bioruby.
# Create an Amino Acid sequence.
aa = Bio::Sequence::AA.new('ACDEFGHIKLMNPQRSTVWYU')
# What are the three-letter codes for all the residues?
puts aa.codes
# What are the names of all the residues?
puts aa.names
# What is the molecular weight of this peptide?
puts aa.molecular_weight
Generate an amino acid sequence object from a string.
s = Bio::Sequence::AA.new("RRLEHTFVFLRNFSLMLLRY")
or maybe (if you have an amino acid sequence in a file)
s = Bio::Sequence:AA.new(File.open('aa.txt').read)
Amino Acid sequences are always all uppercase in bioruby
s = Bio::Sequence::AA.new("rrLeHtfV")
puts s #=> "RRLEHTFVF"
Whitespace is stripped from the sequence
s = Bio::Sequence::AA.new("RRL\nELA\tRG\r RL")
puts s #=> "RRLELARGRL"
Arguments:
| Returns: | Bio::Sequence::AA object |
# File lib/bio/sequence/aa.rb, line 60
60: def initialize(str)
61: super
62: self.upcase!
63: self.tr!(" \t\n\r",'')
64: end
Generate a new random sequence with the given frequency of bases. The sequence length is determined by their cumulative sum. (See also Bio::Sequence::Common#randomize which creates a new randomized sequence object using the base composition of an existing sequence instance).
counts = {'R'=>1,'L'=>2,'E'=>3,'A'=>4}
puts Bio::Sequence::AA.randomize(counts) #=> "AAEAELALRE" (for example)
You may also feed the output of randomize into a block
actual_counts = {'R'=>0,'L'=>0,'E'=>0,'A'=>0}
Bio::Sequence::AA.randomize(counts) {|x| actual_counts[x] += 1}
actual_counts #=> {"A"=>4, "L"=>2, "E"=>3, "R"=>1}
Arguments:
| Returns: | Bio::Sequence::AA object |
# File lib/bio/sequence/compat.rb, line 114
114: def self.randomize(*arg, &block)
115: self.new('').randomize(*arg, &block)
116: end
Generate the list of the names of each residue along with the sequence (3 letters code). Codes used in bioruby are found in the Bio::AminoAcid::NAMES hash.
s = Bio::Sequence::AA.new("RRLE")
puts s.codes #=> ["Arg", "Arg", "Leu", "Glu"]
| Returns: | Array object |
# File lib/bio/sequence/aa.rb, line 97
97: def codes
98: array = []
99: self.each_byte do |x|
100: array.push(Bio::AminoAcid.names[x.chr])
101: end
102: return array
103: end
Estimate molecular weight based on Fasman1976
s = Bio::Sequence::AA.new("RRLE")
puts s.molecular_weight #=> 572.655
| Returns: | Float object |
# File lib/bio/sequence/aa.rb, line 74
74: def molecular_weight
75: Bio::AminoAcid.weight(self)
76: end
Generate the list of the names of each residue along with the sequence (full name). Names used in bioruby are found in the Bio::AminoAcid::NAMES hash.
s = Bio::Sequence::AA.new("RRLE")
puts s.names
#=> ["arginine", "arginine", "leucine", "glutamic acid"]
| Returns: | Array object |
# File lib/bio/sequence/aa.rb, line 114
114: def names
115: self.codes.map do |x|
116: Bio::AminoAcid.names[x]
117: end
118: end