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:
(required) str: String
Returns |
Bio::Sequence::AA object |
# File lib/bio/sequence/aa.rb, line 58 def initialize(str) super self.upcase! self.tr!(" \t\n\r",'') 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, line 113 def self.randomize(*arg, &block) self.new('').randomize(*arg, &block) 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 95 def codes array = [] self.each_byte do |x| array.push(Bio::AminoAcid.names[x.chr]) end return array 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 72 def molecular_weight Bio::AminoAcid.weight(self) 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 112 def names self.codes.map do |x| Bio::AminoAcid.names[x] end 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, line 83 def to_re Bio::AminoAcid.to_re(self) end
Generated with the Darkfish Rdoc Generator 2.