AmberTopology

class AmberTopology(pointers: List<Int>, atomNames: List<String>, atomicNumbers: List<Int>, residuePointers: List<Int>, residueLabels: List<String>, bondsIncHydrogen: List<Int>, bondsWithoutHydrogen: List<Int>, dihedralsIncHydrogen: List<Int>, dihedralsWithoutHydrogen: List<Int>, charges: List<Double>, atomTypeIndices: List<Int>, nonbondedParmIndices: List<Int>, esScaleFactors: List<Double>, vdwScaleFactors: List<Double>, lennardJonesACoeff: List<Double>, lennardJonesBCoeff: List<Double>, atomTypes: List<String>)

A representation of the parts of the AMBER topology file format that we care about in OSPREY.

Full docs at: http://ambermd.org/FileFormats.php

Constructors

Link copied to clipboard
fun AmberTopology(pointers: List<Int>, atomNames: List<String>, atomicNumbers: List<Int>, residuePointers: List<Int>, residueLabels: List<String>, bondsIncHydrogen: List<Int>, bondsWithoutHydrogen: List<Int>, dihedralsIncHydrogen: List<Int>, dihedralsWithoutHydrogen: List<Int>, charges: List<Double>, atomTypeIndices: List<Int>, nonbondedParmIndices: List<Int>, esScaleFactors: List<Double>, vdwScaleFactors: List<Double>, lennardJonesACoeff: List<Double>, lennardJonesBCoeff: List<Double>, atomTypes: List<String>)

Types

Link copied to clipboard
class IndexPair(i1: Int, i2: Int)
Link copied to clipboard
inner class Mapped
Link copied to clipboard
data class MappedAtom(mol: Molecule, res: Polymer.Residue?, atom: Atom?)

Functions

Link copied to clipboard
fun atomIndices(resIndex: Int): IntRange
Link copied to clipboard
fun firstAtomIndex(resIndex: Int): Int
Link copied to clipboard
fun getDihedralIndex(atomi1: Int, atomi2: Int): Int?
Link copied to clipboard
fun lastAtomLimit(resIndex: Int): Int
Link copied to clipboard
fun mapTo(mols: List<Molecule>): AmberTopology.Mapped
Link copied to clipboard
fun numAtoms(resIndex: Int): Int

Properties

Link copied to clipboard
val atomicNumbers: List<Int>

%FORMAT(10I8) (ATNUM(i), i=1,NATOM) ATNUM : the atomic number of each atom.

Link copied to clipboard
val atomNames: List<String>

%FORMAT(20a4) (IGRAPH(i), i=1,NATOM) IGRAPH : the user-specified atoms names

Link copied to clipboard
val atomTypeIndices: List<Int>

%FORMAT(1OI8) (IAC(i), i=1,NATOM) IAC : index for the atom types involved in Lennard Jones (6-12) interactions. See ICO below.

Link copied to clipboard
val atomTypes: List<String>

%FORMAT(20A4) (ISYMBL(i), i=1,NATOM) ISYMBL : the AMBER atom types for each atom

Link copied to clipboard
val bondsIncHydrogen: List<Int>

%FORMAT(10I8) (IBH(i),JBH(i),ICBH(i), i=1,NBONH) IBH : atom involved in bond "i", bond contains hydrogen JBH : atom involved in bond "i", bond contains hydrogen ICBH : index into parameter arrays RK and REQ

Link copied to clipboard
val bondsWithoutHydrogen: List<Int>

%FORMAT(10I8) (IB(i),JB(i),ICB(i), i=1,NBONA) IB : atom involved in bond "i", bond does not contain hydrogen JB : atom involved in bond "i", bond does not contain hydrogen ICB : index into parameter arrays RK and REQ

Link copied to clipboard
val charges: List<Double>

%FORMAT(5E16.8) (CHARGE(i), i=1,NATOM) CHARGE : the atom charges. Amber internally uses units of charge such that E = q1*q2/r, where E is in kcal/mol, r is in Angstrom, and q1,q2 are the values found in this section of the prmtop file.

Link copied to clipboard
val dihedralIndices: HashMap<AmberTopology.IndexPair, Int>
Link copied to clipboard
val dihedralsIncHydrogen: List<Int>

%FORMAT(10I8) (IPH(i),JPH(i),KPH(i),LPH(i),ICPH(i), i=1,NPHIH) IPH : atom involved in dihedral "i", dihedral contains hydrogen JPH : atom involved in dihedral "i", dihedral contains hydrogen KPH : atom involved in dihedral "i", dihedral contains hydrogen LPH : atom involved in dihedral "i", dihedral contains hydrogen ICPH : index into parameter arrays PK, PN, PHASE, ONE_SCEE, and ONE_SCNB for dihedral IPH(i)-JPH(i)-KPH(i)-LPH(i)

Link copied to clipboard
val dihedralsWithoutHydrogen: List<Int>

%FORMAT(10I8) (IP(i),JP(i),KP(i),LP(i),ICP(i), i=1,NPHIA) IP : atom involved in dihedral "i", dihedral does not contain hydrogen JP : atom involved in dihedral "i", dihedral does not contain hydrogen KP : atom involved in dihedral "i", dihedral does not contain hydrogen LP : atom involved in dihedral "i", dihedral does not contain hydrogen ICP : index into parameter arrays PK, PN, PHASE, ONE_SCEE, and ONE_SCNB for dihedral IPH(i)-JPH(i)-KPH(i)-LPH(i). Note, if the periodicity is negative, this implies the following entry in the PK, PN, and PHASE arrays is another term in a multitermed dihedral.

Link copied to clipboard
val esScaleFactors: List<Double>

%FORMAT(5E16.8) (ONE_SCEE(i), i=1,NPTRA) ONE_SCEE : 1-4 electrostatic scaling constant. It is inverted right after it's read in for performance reasons. This allows variable 1-4 scaling. If not present, it defaults to 1.2 for all dihedrals. Therefore, the default ONE_SCEE value in the code is 1.0/1.2

Link copied to clipboard
val lennardJonesACoeff: List<Double>

%FORMAT(5E16.8) (CN1(i), i=1,NTYPES*(NTYPES+1)/2) CN1 : Lennard Jones r*12 terms for all possible atom type interactions, indexed by ICO and IAC; for atom i and j where i < j, the index into this array is as follows (assuming the value of ICO(index) is positive): CN1(ICO(NTYPES(IAC(i)-1)+IAC(j))).

Link copied to clipboard
val lennardJonesBCoeff: List<Double>

%FORMAT(5E16.8) (CN2(i), i=1,NTYPES*(NTYPES+1)/2) CN2 : Lennard Jones r**6 terms for all possible atom type interactions. Indexed like CN1 above.

Link copied to clipboard
val nonbondedParmIndices: List<Int>

%FORMAT(10I8) (ICO(i), i=1,NTYPESNTYPES) ICO : provides the index to the nonbon parameter arrays CN1, CN2 and ASOL, BSOL. All possible 6-12 or 10-12 atoms type interactions are represented. NOTE: A particular atom type can have either a 10-12 or a 6-12 interaction, but not both. The index is calculated as follows: index = ICO(NTYPES(IAC(i)-1)+IAC(j)) If index is positive, this is an index into the 6-12 parameter arrays (CN1 and CN2) otherwise it is an index into the 10-12 parameter arrays (ASOL and BSOL).

Link copied to clipboard
val numAtoms: Int
Link copied to clipboard
val numAtomTypes: Int
Link copied to clipboard
val pointers: List<Int>

%FORMAT(10i8) NATOM, NTYPES, NBONH, MBONA, NTHETH, MTHETA, NPHIH, MPHIA, NHPARM, NPARM, NNB, NRES, NBONA, NTHETA, NPHIA, NUMBND, NUMANG, NPTRA, NATYP, NPHB, IFPERT, NBPER, NGPER, NDPER, MBPER, MGPER, MDPER, IFBOX, NMXRS, IFCAP, NUMEXTRA, NCOPY

Link copied to clipboard
val residueLabels: List<String>

%FORMAT(20A4) (LBRES(i), i=1,NRES) LBRES : names of each of the residues

Link copied to clipboard
val residuePointers: List<Int>

%FORMAT(10I8) (IPRES(i), i=1,NRES) IPRES : atoms in each residue are listed for atom "i" in IPRES(i) to IPRES(i+1)-1

Link copied to clipboard
val vdwScaleFactors: List<Double>

%FORMAT(5E16.8) (ONE_SCNB(i), i=1,NPTRA) ONE_SCNB : 1-4 VDW scaling constant. It is inverted right after it's read in. This allows variable 1-4 scaling. If not present, it defaults to 2.0 for all dihedrals. Therefore, the default ONE_SCNB value in the code is 1.0/2.0