def __init__(self,tpr,symtab=None): self.position = tpr.tell() ngrps = versions.ngrps(tpr) self.extend([ ("nameidx", Integer(tpr) if tpr.version >= 57 else None), # Symtab index for Moleculetype Name ("natoms", Integer(tpr)), # Number of atoms in Moleculetype ("nres", Integer(tpr)), # Number of residues in Moleculetype ("ngroupname", Integer(tpr) if tpr.version < 57 else None), # Number of group names in Moleculetype. # Kept in struct starting with version 57. ]) self.extend([ ("atoms", Tuple(tpr, self.natoms, Atom)), ("atomnameidx", Tuple(tpr, self.natoms, Integer)), ("atomtypeidx", Tuple(tpr, self.natoms, Integer) if tpr.version > 20 else []), ("atomtypeBidx", Tuple(tpr, self.natoms, Integer) if tpr.version > 20 else []), ("residues", Tuple(tpr, self.nres, (Integer,Integer,Char) if tpr.version >= 63 else (Integer,))), ("groupnameidx", Tuple(tpr, self.ngroupname, Integer) if tpr.version < 57 else []), ("groups", Tuple(tpr, ngrps, Group) if tpr.version < 57 else []), ("ilists", Ilist(tpr) if tpr.version >= 57 else None), ("cgs", Block(tpr) if tpr.version >= 57 else None), ("excls", BlockA(tpr)), ]) if symtab: self.setnames(symtab)
def __init__(self,tpr): ngrps = versions.ngrps(tpr) self.extend([ ("symtab", Strings(tpr)), ("symstridx", Integer(tpr)), ]) self.extend([ ("symstr", self.symtab[self.symstridx]), ("ffparam", FFParam(tpr,self.symtab) if tpr.version >= 57 else None), ("moltypes", Group(tpr, Moltype) if tpr.version >= 57 else None), ("molblocks", Group(tpr, Molblock) if tpr.version >= 57 else None), ("topnatoms", Integer(tpr) if tpr.version >= 57 else None), ("atomtypes", AtomTypes(tpr) if tpr.version > 25 else None), # For earlier versions (<57), there should be one moltype, and # this set of ffparam/ilists should be set as attribute to that ("ffparam", FFParam(tpr,self.symtab) if tpr.version < 57 else None), ("ilists", Ilist(tpr) if tpr.version < 57 else None), ("cmapN", Integer(tpr) if tpr.version >= 65 else None), ("cmapGridSize", Integer(tpr) if tpr.version >= 65 else None), ]) self.extend([ ("cmap", [ Tuple(tpr, self.cmapGridSize**2, (Real, Real, Real, Real)) for i in range(self.cmapN) ] if tpr.version >= 65 else None ), ("groupids", [ Group(tpr, Integer) for i in range(ngrps) ] if tpr.version >= 57 else None ), ("groupnameidx", Group(tpr, Integer) if tpr.version >= 57 else None), ("groups", [ Group(tpr, Unsigned) for i in range(ngrps) ] if tpr.version >= 57 else None ), ("cgs", Block(tpr) if tpr.version < 57 else None), ("mol", Block(tpr) if tpr.version < 57 else None), ("shake", BlockA(tpr) if tpr.version < 51 else None), ])
def __init__(self, tpr): self.position = tpr.tell() ngrps = versions.ngrps(tpr) self.extend([ ("m", Real(tpr)), ("q", Real(tpr)), ("mB", Real(tpr)), ("qB", Real(tpr)), ("type", Unsigned(tpr)), ("typeB", Unsigned(tpr)), ("ptype", Integer(tpr)), ("resind", Integer(tpr)), ("atomnumber", Integer(tpr) if tpr.version >= 52 else 0), ("groups", Tuple(tpr, ngrps, Unsigned) if tpr.version < 57 else None) ])
def __init__(self,tpr): self.position = tpr.tell() ngrps = versions.ngrps(tpr) self.extend([ ("m", Real(tpr)), ("q", Real(tpr)), ("mB", Real(tpr)), ("qB", Real(tpr)), ("type", Unsigned(tpr)), ("typeB", Unsigned(tpr)), ("ptype", Integer(tpr)), ("resind", Integer(tpr)), ("atomnumber", Integer(tpr) if tpr.version >= 52 else 0), ("groups", Tuple(tpr, ngrps, Unsigned) if tpr.version < 57 else None) ])
def __init__(self, tpr): ngrps = versions.ngrps(tpr) self.extend([ ("symtab", Strings(tpr)), ("symstridx", Integer(tpr)), ]) self.extend([ ("symstr", self.symtab[self.symstridx]), ("ffparam", FFParam(tpr, self.symtab) if tpr.version >= 57 else None), ("moltypes", Group(tpr, Moltype) if tpr.version >= 57 else None), ("molblocks", Group(tpr, Molblock) if tpr.version >= 57 else None), ("topnatoms", Integer(tpr) if tpr.version >= 57 else None), ("atomtypes", AtomTypes(tpr) if tpr.version > 25 else None), # For earlier versions (<57), there should be one moltype, and # this set of ffparam/ilists should be set as attribute to that ("ffparam", FFParam(tpr, self.symtab) if tpr.version < 57 else None ), ("ilists", Ilist(tpr) if tpr.version < 57 else None), ("cmapN", Integer(tpr) if tpr.version >= 65 else None), ("cmapGridSize", Integer(tpr) if tpr.version >= 65 else None), ]) self.extend([ ("cmap", [ Tuple(tpr, self.cmapGridSize**2, (Real, Real, Real, Real)) for i in range(self.cmapN) ] if tpr.version >= 65 else None), ("groupids", [Group(tpr, Integer) for i in range(ngrps)] if tpr.version >= 57 else None), ("groupnameidx", Group(tpr, Integer) if tpr.version >= 57 else None), ("groups", [Group(tpr, Unsigned) for i in range(ngrps)] if tpr.version >= 57 else None), ("cgs", Block(tpr) if tpr.version < 57 else None), ("mol", Block(tpr) if tpr.version < 57 else None), ("shake", BlockA(tpr) if tpr.version < 51 else None), ])
def __init__(self, tpr, symtab=None): self.position = tpr.tell() ngrps = versions.ngrps(tpr) self.extend([ ("nameidx", Integer(tpr) if tpr.version >= 57 else None), # Symtab index for Moleculetype Name ("natoms", Integer(tpr)), # Number of atoms in Moleculetype ("nres", Integer(tpr)), # Number of residues in Moleculetype ("ngroupname", Integer(tpr) if tpr.version < 57 else None), # Number of group names in Moleculetype. # Kept in struct starting with version 57. ]) self.extend([ ("atoms", Tuple(tpr, self.natoms, Atom)), ("atomnameidx", Tuple(tpr, self.natoms, Integer)), ("atomtypeidx", Tuple(tpr, self.natoms, Integer) if tpr.version > 20 else []), ("atomtypeBidx", Tuple(tpr, self.natoms, Integer) if tpr.version > 20 else []), ("residues", Tuple(tpr, self.nres, (Integer, Integer, Char) if tpr.version >= 63 else (Integer, ))), ("groupnameidx", Tuple(tpr, self.ngroupname, Integer) if tpr.version < 57 else []), ("groups", Tuple(tpr, ngrps, Group) if tpr.version < 57 else []), ("ilists", Ilist(tpr) if tpr.version >= 57 else None), ("cgs", Block(tpr) if tpr.version >= 57 else None), ("excls", BlockA(tpr)), ]) if symtab: self.setnames(symtab)