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 in this residue. (Array)
the chain to which this residue belongs
iCode
residue id (String or nil). The id is a composite of resSeq and iCode.
resName (residue name)
resSeq
residue id (String or nil). The id is a composite of resSeq and iCode.
Public Class Methods
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
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
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
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
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
Iterator over the atoms
# File lib/bio/db/pdb/residue.rb 112 def each 113 @atoms.each{ |atom| yield atom } 114 end
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=()
# File lib/bio/db/pdb/residue.rb 98 def iCode=(iCode) 99 @iCode = iCode 100 update_residue_id 101 @iCode 102 end
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=()
# File lib/bio/db/pdb/residue.rb 88 def resSeq=(resSeq) 89 @resSeq = resSeq.to_i 90 update_residue_id 91 @resSeq 92 end
Stringifies each atom
# File lib/bio/db/pdb/residue.rb 128 def to_s 129 @atoms.join('') 130 end