class Bio::Sequence::AA
DESCRIPTION¶ ↑
Bio::Sequence::AA
represents a bare Amino Acid sequence in bioruby.
USAGE¶ ↑
# 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
Public Class Methods
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:
-
(required) str: String
- Returns
-
Bio::Sequence::AA
object
# File lib/bio/sequence/aa.rb 58 def initialize(str) 59 super 60 self.upcase! 61 self.tr!(" \t\n\r",'') 62 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:
-
(optional) hash: Hash object
- Returns
-
Bio::Sequence::AA
object
# File lib/bio/sequence/compat.rb 113 def self.randomize(*arg, &block) 114 self.new('').randomize(*arg, &block) 115 end
Public Instance Methods
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 95 def codes 96 array = [] 97 self.each_byte do |x| 98 array.push(Bio::AminoAcid.names[x.chr]) 99 end 100 return array 101 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 72 def molecular_weight 73 Bio::AminoAcid.weight(self) 74 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 112 def names 113 self.codes.map do |x| 114 Bio::AminoAcid.names[x] 115 end 116 end
Create a ruby regular expression instance (Regexp)
s = Bio::Sequence::AA.new("RRLE") puts s.to_re #=> /RRLE/
- Returns
-
Regexp object
# File lib/bio/sequence/aa.rb 83 def to_re 84 Bio::AminoAcid.to_re(self) 85 end