diff --git a/mrdna/RELEASE-VERSION b/mrdna/RELEASE-VERSION index 62d032927066d8531598024b80ee5af953e96119..2b3885600c852a6185ef87f0544983870fc91094 100644 --- a/mrdna/RELEASE-VERSION +++ b/mrdna/RELEASE-VERSION @@ -1 +1 @@ -1.0a.dev178 +1.0a.dev180 diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py index 82a1985630fa0659b76551c3342c4d5944eb27ab..dca9d3dfe1e5698531db91a205b4a30347a9f140 100644 --- a/mrdna/segmentmodel.py +++ b/mrdna/segmentmodel.py @@ -2045,7 +2045,8 @@ class SegmentModel(ArbdModel): assert( d > 0.2 ) if key not in self._bonded_potential: kT = self.configuration.temperature * 0.0019872065 # kcal/mol - self._bonded_potential[key] = WLCSKBond( d, lp, kT, range_=(0,1200) ) + _pot = WLCSKBond( d, lp, kT, range_=(0,1200) ) + self._bonded_potential[key] = _pot return self._bonded_potential[key] def _get_wlc_sk_angle_potential(self, d): @@ -2764,10 +2765,10 @@ class SegmentModel(ArbdModel): if key in beadtype_s: bead.type_ = beadtype_s[key] else: - t = deepcopy(bead.type_) + newname = f'{char}{beadtype_count[char]:03d}' + kwargs = {k:v for k,v in bead.type_.__dict__.items() if k not in ParticleType.excludedAttributes} + t = ParticleType( name=newname, **kwargs ) t.__dict__["nts"] = bead.num_nt*2 if char in ("D","O") else bead.num_nt - # t.name = t.name + "%03d" % (t.nts*10**decimals) - t.name = char + "%03d" % (beadtype_count[char]) t.mass = t.nts * 150 t.diffusivity = 120 if t.nts == 0 else min( 50 / np.sqrt(t.nts/5), 120) beadtype_count[char] += 1