Class Chain
protein chain class for rFold
Functions
chain.new (o) | Chain class object initialiser (not a class method) |
chain.reportDbChain (rfpg, pdbid, chainid) | query database for info about specified chain (not a class method) |
Fields
Chain.residues | array of residue ordered and disordered objects indexed by sequence position |
Chain.initNCaC | array of atomCoordinates (4x1 float matrices) for initial N,Ca,C residues of all ordered segments of this chain indexed by atomKeys (resPos res atom) |
Chain.id | chain ID from PDB file |
Chain.pdbid | 4-position PDB identifier |
Chain.firstPos | signed integer indicating sequence position of first residue in chain |
Chain.seqres | PDB file SEQRES data for this chain |
Methods
Chain:getResidue (ires, iresn, disordered) | find or initialise Residue object (ordered by definition) for specified amino acid and sequence position will set firstPos (first residue in this chain) if appropriate (if not set already) else any missing residues between firstPos and this one will be set to {} (disordered) |
Chain:load (t) | find or create Residue for passed data table, pass table to it for loading |
Chain:orderedResidues (a) | initialiser for Chain:oResIter() |
Chain:countOrderedResidues () | count ordered residues in chain according to orderedResidues() |
Chain:allResidues (a) | initialiser for Chain:aResIter() |
Chain:countAllResidues () | count all residues in chain according to allResidues() |
Chain:setPrevNext (i, r) | implement assign 'prev' and 'next' for passed Residues[] index and residue |
Chain:linkResidues () | assign 'prev' and 'next' for Residues in self['residues']; trigger Residue to link its dihedra (create map of keys to dihedra, link dihedron atoms into backbone and sidechain tables) |
Chain:countHedra () | query each Residue for its count of hedra |
Chain:countDihedra () | query each Residue for its count of dihedra |
Chain:countDSSPs () | query each Resdiue for a DSSP record |
Chain:clearAtomCoords () | delete protein space atom coordinate data from this chain |
Chain:clearInternalCoords () | delete internal coordinate data from this chain |
Chain:seqStr () | concatenate 1-letter amino acid codes for Residues in this chain |
Chain:renderDihedra () | trigger generation of atom coordinates for updated Hedra in Residues in this Chain, then do same for updated Dihedra. |
Chain:dihedraFromAtoms () | foreach chain, complete residue, dihedra, hedra data structures from protein space atom coordinates |
Chain:assembleResidues () | for each Residue in Chain, set startPos and then trigger Residue to assemble atoms from its Dihedrons starting with the startPos coordinates for N, CA, C
first Residue startPos is set from DSSP or other source to match PDB file, subsequent startPos's read from previous residue backbone atom coordinates in protein coordinate space |
Chain:writePDB (ndx, range) | trigger each Residue in Chain to generate PDB ATOM records, add TER record at end of chain |
Chain:writeInternalCoords (range) | generate PIC hedra and dihedra records for each residue in chain |
Chain:writeDb (rfpg, pdb_no, update) | write chain data to rfold database |
Chain:dbLoad (rfpg) | populate chain object from database using supplied pdb and chain id |
Chain:reportDb (rfpg) | query database for info about this chain |
Chain:setStartCoords () | if first Residue in Chain has 'dssp' field, set self['initNCaC'] to hold those protein space coordinates to build the rest of the Chain from |
Chain:countResidues () | report ordered (with coordinates) residues in this chain |
Functions
Methods- chain.new (o)
-
Chain class object initialiser (not a class method)
Parameters:
- o table with field 'id' = chain ID; ' ' or '' is val
Returns:
-
minimally initialised Chain object
- chain.reportDbChain (rfpg, pdbid, chainid)
-
query database for info about specified chain (not a class method)
Parameters:
- rfpg open database handle
- pdbid 4 character PDB code
- chainid 1 character chain identiifier
Returns:
-
report string for printing
Fields
- Chain.residues
-
array of residue ordered and disordered objects indexed by sequence position
- residues array of residue objects
- Chain.initNCaC
-
array of atomCoordinates (4x1 float matrices) for initial N,Ca,C residues of all ordered segments of this chain indexed by atomKeys (resPos res atom)
- initNCaC
- Chain.id
-
chain ID from PDB file
- id char
- Chain.pdbid
-
4-position PDB identifier
- pdbid string
- Chain.firstPos
-
signed integer indicating sequence position of first residue in chain
- firstPos integer
- Chain.seqres
-
PDB file SEQRES data for this chain
- seqres string
Methods
- Chain:getResidue (ires, iresn, disordered)
-
find or initialise Residue object (ordered by definition) for specified amino acid and sequence position
will set firstPos (first residue in this chain) if appropriate (if not set already)
else any missing residues between firstPos and this one will be set to {} (disordered)
Parameters:
- ires uppercase 1-letter amino acid code
- iresn sequence position of residue in this chain
- disordered optional boolean to indicate disordered residue (default is ordered)
Returns:
-
Residue object, minimally initialised and referenced from self['residues'][iresn]
- Chain:load (t)
-
find or create Residue for passed data table, pass table to it for loading
Parameters:
- t table created by file parser, passed here as callback
- Chain:orderedResidues (a)
-
initialiser for Chain:oResIter()
Parameters:
- a array of residues to iterate in numeric order
- Chain:countOrderedResidues ()
-
count ordered residues in chain according to orderedResidues()
Returns:
-
count of ordered residues
- Chain:allResidues (a)
-
initialiser for Chain:aResIter()
Parameters:
- a array of residues to iterate in numeric order
- Chain:countAllResidues ()
-
count all residues in chain according to allResidues()
Returns:
-
count of all residues
- Chain:setPrevNext (i, r)
-
implement assign 'prev' and 'next' for passed Residues[] index and residue
Parameters:
- i
- r
- Chain:linkResidues ()
- assign 'prev' and 'next' for Residues in self['residues']; trigger Residue to link its dihedra (create map of keys to dihedra, link dihedron atoms into backbone and sidechain tables)
- Chain:countHedra ()
-
query each Residue for its count of hedra
Returns:
-
sum of hedra for Residues in chain
- Chain:countDihedra ()
-
query each Residue for its count of dihedra
Returns:
-
sum of dihedra for Residues in chain
- Chain:countDSSPs ()
-
query each Resdiue for a DSSP record
Returns:
-
sum of Residues in chain with DSSP records
- Chain:clearAtomCoords ()
- delete protein space atom coordinate data from this chain
- Chain:clearInternalCoords ()
- delete internal coordinate data from this chain
- Chain:seqStr ()
-
concatenate 1-letter amino acid codes for Residues in this chain
Returns:
-
chain amino acid sequence as string
- Chain:renderDihedra ()
-
trigger generation of atom coordinates for updated Hedra in Residues in this Chain, then do same for updated Dihedra.
Dihedra depend on hedra in adjacent Residues, so must complete hedra first - Chain:dihedraFromAtoms ()
- foreach chain, complete residue, dihedra, hedra data structures from protein space atom coordinates
- Chain:assembleResidues ()
-
for each Residue in Chain, set startPos and then trigger Residue to assemble atoms from its Dihedrons starting with the startPos coordinates for N, CA, C
first Residue startPos is set from DSSP or other source to match PDB file, subsequent startPos's read from previous residue backbone atom coordinates in protein coordinate spaceSee also:
- Chain:writePDB (ndx, range)
-
trigger each Residue in Chain to generate PDB ATOM records, add TER record at end of chain
Parameters:
- ndx counter for lines in pdb output file
- range optional begin:end filter for residues to print
Returns:
-
string of PDB format records for ATOMS in Chain, plus TER record
- Chain:writeInternalCoords (range)
-
generate PIC hedra and dihedra records for each residue in chain
Parameters:
- range optional begin:end filter for residues to print
Returns:
-
string of PIC format records for residues in Chain
- Chain:writeDb (rfpg, pdb_no, update)
-
write chain data to rfold database
Parameters:
- rfpg open database handle
- pdb_no chain ID in pdb_chain table
- update optional flag, if false silently skip if [pdbno, resndx] entry exists already in residue table
- Chain:dbLoad (rfpg)
-
populate chain object from database using supplied pdb and chain id
Parameters:
- rfpg open database handle
- Chain:reportDb (rfpg)
-
query database for info about this chain
Parameters:
- rfpg open database handle
Returns:
-
report string for printing
- Chain:setStartCoords ()
-
if first Residue in Chain has 'dssp' field, set self['initNCaC'] to hold those protein space coordinates to build the rest of the Chain from
See also:
- Chain:countResidues ()
-
report ordered (with coordinates) residues in this chain
Returns:
-
count of ordered residues