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
Source
# File lib/bio/sequence/aa.rb 58 def initialize(str) 59 super 60 self.upcase! 61 self.tr!(" \t\n\r",'') 62 end
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
Source
# File lib/bio/sequence/compat.rb 113 def self.randomize(*arg, &block) 114 self.new('').randomize(*arg, &block) 115 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
Public Instance Methods
Source
# 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
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
Source
# File lib/bio/sequence/aa.rb 72 def molecular_weight 73 Bio::AminoAcid.weight(self) 74 end
Estimate molecular weight based on Fasman1976
s = Bio::Sequence::AA.new("RRLE") puts s.molecular_weight #=> 572.655
- Returns
-
Float object
Source
# File lib/bio/sequence/aa.rb 112 def names 113 self.codes.map do |x| 114 Bio::AminoAcid.names[x] 115 end 116 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