First draft of a python wrapper for gromacs library
This commit is contained in:
107
pygmx/topology.pxd
Normal file
107
pygmx/topology.pxd
Normal file
@@ -0,0 +1,107 @@
|
||||
|
||||
from utility cimport *
|
||||
from math cimport *
|
||||
from mdtypes cimport *
|
||||
|
||||
cdef extern from "gromacs/topology/atoms.h":
|
||||
ctypedef struct t_atom:
|
||||
real m, q; # Mass and charge */
|
||||
real mB, qB; # Mass and charge for Free Energy calc */
|
||||
unsigned short type; # Atom type */
|
||||
unsigned short typeB; # Atom type for Free Energy calc */
|
||||
int ptype; # Particle type */
|
||||
int resind; # Index into resinfo (in t_atoms) */
|
||||
int atomnumber; # Atomic Number or 0 */
|
||||
char elem[4]; # Element name */
|
||||
|
||||
ctypedef struct t_resinfo:
|
||||
char **name; # Pointer to the residue name */
|
||||
int nr; # Residue number */
|
||||
unsigned char ic; # Code for insertion of residues */
|
||||
int chainnum; # Iincremented at TER or new chain id */
|
||||
char chainid; # Chain identifier written/read to pdb */
|
||||
char **rtp; # rtp building block name (optional) */
|
||||
|
||||
ctypedef struct t_pdbinfo:
|
||||
pass
|
||||
|
||||
ctypedef struct t_atoms:
|
||||
int nr # Nr of atoms */
|
||||
t_atom *atom # Array of atoms (dim: nr) */
|
||||
# The following entries will not */
|
||||
# always be used (nres==0) */
|
||||
char ***atomname # Array of pointers to atom name */
|
||||
# use: (*(atomname[i])) */
|
||||
char ***atomtype # Array of pointers to atom types */
|
||||
# use: (*(atomtype[i])) */
|
||||
char ***atomtypeB # Array of pointers to B atom types */
|
||||
# use: (*(atomtypeB[i])) */
|
||||
int nres # The number of resinfo entries */
|
||||
t_resinfo *resinfo # Array of residue names and numbers */
|
||||
t_pdbinfo *pdbinfo # PDB Information, such as aniso. Bfac */
|
||||
|
||||
ctypedef struct t_atomtypes:
|
||||
pass
|
||||
|
||||
#ctypedef t_atoms *t_atoms_ptr
|
||||
|
||||
cdef extern from "gromacs/topology/symtab.h":
|
||||
ctypedef struct t_symtab:
|
||||
pass
|
||||
|
||||
cdef extern from "gromacs/topology/block.h":
|
||||
ctypedef struct t_block:
|
||||
pass
|
||||
ctypedef struct t_blocka:
|
||||
pass
|
||||
|
||||
cdef extern from "gromacs/topology/idef.h":
|
||||
ctypedef struct t_ilist:
|
||||
pass
|
||||
|
||||
ctypedef struct gmx_ffparams_t:
|
||||
pass
|
||||
|
||||
cdef extern from "gromacs/topology/topology.h":
|
||||
ctypedef struct gmx_moltype_t:
|
||||
char **name; # Name of the molecule type */
|
||||
t_atoms atoms; # The atoms in this molecule */
|
||||
t_ilist ilist[0]; # Interaction list with local indices */
|
||||
t_block cgs; # The charge groups */
|
||||
t_blocka excls; # The exclusions */
|
||||
|
||||
ctypedef struct gmx_molblock_t:
|
||||
int type; # The molcule type index in mtop.moltype */
|
||||
int nmol; # The number of molecules in this block */
|
||||
int natoms_mol; # The number of atoms in one molecule */
|
||||
int nposres_xA; # The number of posres coords for top A */
|
||||
rvec *posres_xA; # The posres coords for top A */
|
||||
int nposres_xB; # The number of posres coords for top B */
|
||||
rvec *posres_xB; # The posres coords for top B */
|
||||
|
||||
ctypedef struct gmx_groups_t:
|
||||
pass
|
||||
|
||||
ctypedef struct gmx_mtop_t:
|
||||
char **name # Name of the topology */
|
||||
gmx_ffparams_t ffparams
|
||||
int nmoltype
|
||||
gmx_moltype_t *moltype
|
||||
int nmolblock
|
||||
gmx_molblock_t *molblock
|
||||
bint bIntermolecularInteractions # Are there intermolecular
|
||||
# interactions? */
|
||||
t_ilist *intermolecular_ilist # List of intermolecular interactions
|
||||
# using system wide atom indices,
|
||||
# either NULL or size F_NRE */
|
||||
int natoms
|
||||
int maxres_renum # Parameter for residue numbering */
|
||||
int maxresnr # The maximum residue number in moltype */
|
||||
t_atomtypes atomtypes # Atomtype properties */
|
||||
t_block mols # The molecules */
|
||||
gmx_groups_t groups
|
||||
t_symtab symtab # The symbol table */
|
||||
|
||||
# cdef extern from "gromacs/topology/topology.h":
|
||||
# generate a t_atoms struct for the system from gmx_mtop_t
|
||||
# t_atoms* mtop2atoms(gmx_mtop_t *mtop)
|
||||
Reference in New Issue
Block a user