Class | Bio::Sequence::AA |
In: |
lib/bio/sequence/aa.rb
lib/bio/sequence/compat.rb |
Parent: | String |
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 118 118: def self.randomize(*arg, &block) 119: self.new('').randomize(*arg, &block) 120: 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