Clean up Code

This commit is contained in:
Niels Mueller
2019-10-08 15:08:52 +02:00
parent 27fc2cbbcc
commit a820741ec3
4 changed files with 244 additions and 214 deletions

56
pygmx/tpxio.pyx Normal file → Executable file
View File

@ -34,7 +34,6 @@ cdef extern from "gromacs/fileio/tpxio.h":
int *natoms,
rvec *x,
rvec *v,
# rvec *f,
gmx_mtop_t *mtop)
@ -89,11 +88,12 @@ cdef index_groups_from_topology(gmx_mtop_t *topology):
cdef open_tpx(const char* filename, t_inputrec *ir, matrix box, int *natoms, gmx_mtop_t *top):
#cdef stdio.FILE *old_stderr = stdio.stderr
#stdio.stderr = stdio.freopen('tmp', 'w', stdio.stderr)
# unterdrücke GMX output durch internen stderr buffer...
cdef char buffer[stdio.BUFSIZ]
stdio.setbuf(stdio.stderr, buffer)
return_code = read_tpx(filename, ir, box, natoms, NULL, NULL, top)
cdef rvec *x, *v
return_code = read_tpx(filename, ir, box, natoms, x, v, top)
for i in range(stdio.BUFSIZ):
buffer[i] = 0
@ -194,29 +194,39 @@ cdef class TPXReader:
types += mol_type * nmol
return np.array(types)
@property
def nsteps(self):
return self.input_record.nsteps
property molecules:
"Get molecule indices from topology."
def __get__(self):
mols = [0] * self.n_atoms
molid = 0
for i in range(self.topology.mols.nr):
molid += 1
for j in range(self.topology.mols.index[i], self.topology.mols.index[i+1]):
mols[j] = molid
return mols
# @property
# def nsteps(self):
# return self.input_record.nsteps
@property
def nstxout(self):
return self.input_record.nstxout
# @property
# def nstxout(self):
# return self.input_record.nstxout
@property
def nstvout(self):
return self.input_record.nstvout
# @property
# def nstvout(self):
# return self.input_record.nstvout
@property
def nstfout(self):
return self.input_record.nstfout
# @property
# def nstfout(self):
# return self.input_record.nstfout
@property
def nstxout_compressed(self):
return self.input_record.nstxout_compressed
# @property
# def nstxout_compressed(self):
# return self.input_record.nstxout_compressed
@property
def nstenergy(self):
return self.input_record.nstenergy
# @property
# def nstenergy(self):
# return self.input_record.nstenergy
def read_ff(self):
@ -235,7 +245,7 @@ cdef class TPXReader:
# cdef np.ndarray[real, ndim=2] forces = np.empty((self.n_atoms, 3), dtype=np.float32)
open_tpx(
<char *>filename,
&self.input_record,
NULL,
self.box,
&self.n_atoms,
&self.topology