class Bio::PDB::Residue

Bio::PDB::Residue is a class to store a residue. The object would contain some atoms (Bio::PDB::Record::ATOM objects).

Attributes

atoms[R]

atoms in this residue. (Array)

chain[RW]

the chain to which this residue belongs

iCode[R]

iCode

id[R]

residue id (String or nil). The id is a composite of resSeq and iCode.

resName[RW]

resName (residue name)

resSeq[R]

resSeq

residue_id[R]

residue id (String or nil). The id is a composite of resSeq and iCode.

Public Class Methods

get_residue_id_from_atom(atom) click to toggle source

Creates residue id from an ATOM (or HETATM) object.

   # File lib/bio/db/pdb/residue.rb
34 def self.get_residue_id_from_atom(atom)
35   "#{atom.resSeq}#{atom.iCode.strip}".strip
36 end
new(resName = nil, resSeq = nil, iCode = nil, chain = nil) click to toggle source

Creates a new Residue object.

   # File lib/bio/db/pdb/residue.rb
39 def initialize(resName = nil, resSeq = nil, iCode = nil, 
40                chain = nil)
41   
42   @resName = resName
43   @resSeq  = resSeq
44   @iCode   = iCode
45   
46   @chain   = chain
47   @atoms   = []
48 
49   update_residue_id
50 end

Public Instance Methods

<=>(other) click to toggle source

Sorts based on resSeq and iCode if need be

    # File lib/bio/db/pdb/residue.rb
119 def <=>(other)
120   if @resSeq != other.resSeq
121     return @resSeq <=> other.resSeq
122   else
123     return @iCode <=> other.iCode
124   end
125 end
[](key) click to toggle source

Keyed access to atoms based on atom name e.g. [“CA”]

   # File lib/bio/db/pdb/residue.rb
69 def [](key)
70   @atoms.find{ |atom| key == atom.name }
71 end
addAtom(atom) click to toggle source

Adds an atom to this residue

    # File lib/bio/db/pdb/residue.rb
105 def addAtom(atom)
106   raise "Expecting ATOM or HETATM" unless atom.is_a? Bio::PDB::Record::ATOM
107   @atoms.push(atom)
108   self
109 end
each() { |atom| ... } click to toggle source

Iterator over the atoms

    # File lib/bio/db/pdb/residue.rb
112 def each
113   @atoms.each{ |atom| yield atom }
114 end
Also aliased as: each_atom
each_atom()

Alias to override AtomFinder#each_atom

Alias for: each
hetatm() click to toggle source

Always returns false.

If the residue is HETATM, returns true. Otherwise, returns false.

    # File lib/bio/db/pdb/residue.rb
142 def hetatm
143   false
144 end
iCode=(iCode) click to toggle source

iCode=()

    # File lib/bio/db/pdb/residue.rb
 98 def iCode=(iCode)
 99   @iCode = iCode
100   update_residue_id
101   @iCode
102 end
inspect() click to toggle source

returns a string containing human-readable representation of this object.

    # File lib/bio/db/pdb/residue.rb
134 def inspect
135   "#<#{self.class.to_s} resName=#{resName.inspect} id=#{residue_id.inspect} chain.id=#{(chain ? chain.id : nil).inspect} resSeq=#{resSeq.inspect} iCode=#{iCode.inspect} atoms.size=#{atoms.size}>"
136 end
resSeq=(resSeq) click to toggle source

resSeq=()

   # File lib/bio/db/pdb/residue.rb
88 def resSeq=(resSeq)
89   @resSeq = resSeq.to_i
90   update_residue_id
91   @resSeq
92 end
to_s() click to toggle source

Stringifies each atom

    # File lib/bio/db/pdb/residue.rb
128 def to_s
129   @atoms.join('')
130 end