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

new(str) click to toggle source

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

Calls superclass method
   # File lib/bio/sequence/aa.rb
58 def initialize(str)
59   super
60   self.upcase!
61   self.tr!(" \t\n\r",'')
62 end
randomize(*arg, &block) click to toggle source

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

codes() click to toggle source

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
molecular_weight() click to toggle source

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
names() click to toggle source

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
to_re() click to toggle source

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