diff --git a/mrdna/arbdmodel/__init__.py b/mrdna/arbdmodel/__init__.py index 9e6f86a884b4d10003e69bb5d09a029077cde0f7..cc1ad4d48e24bca9b6d627a3f23612ca9c25fdc2 100644 --- a/mrdna/arbdmodel/__init__.py +++ b/mrdna/arbdmodel/__init__.py @@ -181,7 +181,7 @@ class Parent(): return ret def get_bonds(self): - ret = self.bonds + ret = list(self.bonds) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_bonds() ) if self.remove_duplicate_bonded_terms: @@ -191,7 +191,7 @@ class Parent(): def get_angles(self): - ret = self.angles + ret = list(self.angles) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_angles() ) if self.remove_duplicate_bonded_terms: @@ -200,7 +200,7 @@ class Parent(): return ret def get_dihedrals(self): - ret = self.dihedrals + ret = list(self.dihedrals) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_dihedrals() ) if self.remove_duplicate_bonded_terms: @@ -209,7 +209,7 @@ class Parent(): return ret def get_impropers(self): - ret = self.impropers + ret = list(self.impropers) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_impropers() ) if self.remove_duplicate_bonded_terms: @@ -218,7 +218,7 @@ class Parent(): return ret def get_exclusions(self): - ret = self.exclusions + ret = list(self.exclusions) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_exclusions() ) if self.remove_duplicate_bonded_terms: @@ -227,7 +227,7 @@ class Parent(): return ret def get_bond_angles(self): - ret = self.bond_angles + ret = list(self.bond_angles) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_bond_angles() ) if self.remove_duplicate_bonded_terms: @@ -236,7 +236,7 @@ class Parent(): return ret def get_product_potentials(self): - ret = self.product_potentials + ret = list(self.product_potentials) for c in self.children: if isinstance(c,Parent): ret.extend( c.get_product_potentials() ) if self.remove_duplicate_bonded_terms: @@ -853,7 +853,7 @@ class ArbdModel(PdbModel): def __init__(self, children, origin=None, dimensions=(1000,1000,1000), temperature=291, timestep=50e-6, particle_integrator = 'Brown', cutoff=50, decomp_period=1000, pairlist_distance=None, nonbonded_resolution=0.1, - remove_duplicate_bonded_terms=True, extra_bd_file_lines=""): + remove_duplicate_bonded_terms=False, extra_bd_file_lines=""): PdbModel.__init__(self, children, dimensions, remove_duplicate_bonded_terms) self.origin = origin @@ -1328,6 +1328,7 @@ component "data" value 3 def _writeNonbondedParameterFiles(self, prefix): x = np.arange(0, self.cutoff, self.nbResolution) + self._nbParamFiles = [] for i,j,t1,t2 in self._particleTypePairIter(): f = "%s.%s-%s.dat" % (prefix, t1.name, t2.name) scheme = self._getNbScheme(t1,t2) diff --git a/mrdna/arbdmodel/interactions.py b/mrdna/arbdmodel/interactions.py index 1c4b9b6c7276d5368a01fa6a24731c9a0abb37a3..1fb76699ba819e943efbd7fb12d2667339f6d760 100644 --- a/mrdna/arbdmodel/interactions.py +++ b/mrdna/arbdmodel/interactions.py @@ -59,8 +59,8 @@ class TabulatedPotential(NonbondedScheme): ## Bonded potentials class HarmonicPotential(): def __init__(self, k, r0, rRange=(0,50), resolution=0.1, maxForce=None, max_potential=None, prefix="potentials/"): - self.k = k - self.r0 = r0 + self.k = round(k,8) + self.r0 = round(r0,6) self.rRange = rRange self.resolution = 0.1 self.maxForce = maxForce diff --git a/mrdna/arbdmodel/nonbonded.py b/mrdna/arbdmodel/nonbonded.py index 834ed49afa86c4b3d2e64bebfc7a8983fe309cf1..776f0884d4f8dc20910c179db284dc9bbf3e22f9 100644 --- a/mrdna/arbdmodel/nonbonded.py +++ b/mrdna/arbdmodel/nonbonded.py @@ -180,7 +180,7 @@ class WLCSKBond(BasePotential): def __init__(self, d, lp, kT, rRange=(0,50), resolution=0.02, maxForce=100, max_potential=None, zero="min", prefix="potentials/"): BasePotential.__init__(self, 0, rRange, resolution, maxForce, max_potential, zero, prefix) self.type_ = "wlcbond" - self.d = d # separation + self.d = round(d,6) # separation self.lp = lp # persistence length self.kT = kT