| Class | Bio::PDB::Residue |
| In: |
lib/bio/db/pdb/residue.rb
|
| Parent: | Object |
Bio::PDB::Residue is a class to store a residue. The object would contain some atoms (Bio::PDB::Record::ATOM objects).
| residue_id | -> | id |
| Now, Residue#id is an alias of residue_id. | ||
| atoms | [R] | atoms in this residue. (Array) |
| chain | [RW] | the chain to which this residue belongs |
| iCode | [R] | 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. |
Creates residue id from an ATOM (or HETATM) object.
# File lib/bio/db/pdb/residue.rb, line 34
34: def self.get_residue_id_from_atom(atom)
35: "#{atom.resSeq}#{atom.iCode.strip}".strip
36: end
Sorts based on resSeq and iCode if need be
# File lib/bio/db/pdb/residue.rb, line 119
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, line 69
69: def [](key)
70: atom = @atoms.find{ |atom| key == atom.name }
71: end
Adds an atom to this residue
# File lib/bio/db/pdb/residue.rb, line 105
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, line 112
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, line 142
142: def hetatm
143: false
144: end
returns a string containing human-readable representation of this object.
# File lib/bio/db/pdb/residue.rb, line 134
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