From f506105a42e71ad9d44350180969eb36ab2bf818 Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Tue, 13 Aug 2019 15:12:41 -0500 Subject: [PATCH] Added ability to add custom extra lines to BD file using extra_bd_file_lines attribute in arbdmodel --- mrdna/model/arbdmodel.py | 6 +++++- mrdna/segmentmodel.py | 11 +++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mrdna/model/arbdmodel.py b/mrdna/model/arbdmodel.py index 88d22b5..b374901 100644 --- a/mrdna/model/arbdmodel.py +++ b/mrdna/model/arbdmodel.py @@ -628,7 +628,7 @@ class PdbModel(Transformable, Parent): class ArbdModel(PdbModel): - def __init__(self, children, dimensions=(1000,1000,1000), temperature=291, timestep=50e-6, cutoff=50, decompPeriod=10000, pairlistDistance=None, nonbondedResolution=0.1, remove_duplicate_bonded_terms=True): + def __init__(self, children, dimensions=(1000,1000,1000), temperature=291, timestep=50e-6, cutoff=50, decompPeriod=10000, pairlistDistance=None, nonbondedResolution=0.1, remove_duplicate_bonded_terms=True, extra_bd_file_lines=""): PdbModel.__init__(self, children, dimensions, remove_duplicate_bonded_terms) self.temperature = temperature @@ -641,6 +641,8 @@ class ArbdModel(PdbModel): self.decompPeriod = decompPeriod self.pairlistDistance = pairlistDistance + self.extra_bd_file_lines = extra_bd_file_lines + self.numParticles = 0 self.particles = [] self.type_counts = None @@ -857,6 +859,8 @@ pairlistDistance {pairlistDistance} origin {originX} {originY} {originZ} systemSize {dimX} {dimY} {dimZ} + +{extra_bd_file_lines} \n""".format(**params)) ## Write entries for each type of particle diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py index 9adcc29..86550d1 100644 --- a/mrdna/segmentmodel.py +++ b/mrdna/segmentmodel.py @@ -436,7 +436,7 @@ class Segment(ConnectableElement, Group): self.sequence = None def __repr__(self): - return "<{} {}[{:d}]>".format( type(self), self.name, self.num_nt ) + return "<{} {}[{:d}]>".format( str(type(self)).split('.')[-1], self.name, self.num_nt ) def set_splines(self, contours, coords): tck, u = interpolate.splprep( coords.T, u=contours, s=0, k=1) @@ -1540,15 +1540,18 @@ class SegmentModel(ArbdModel): dimensions=(5000,5000,5000), temperature=291, timestep=50e-6, cutoff=50, decompPeriod=10000, pairlistDistance=None, - nonbondedResolution=0,DEBUG=0, - debye_length = None + nonbondedResolution=0, DEBUG=0, + debye_length = None, + extra_bd_file_lines = "", ): self.DEBUG = DEBUG if DEBUG > 0: print("Building ARBD Model") ArbdModel.__init__(self,segments, dimensions, temperature, timestep, cutoff, decompPeriod, pairlistDistance=None, - nonbondedResolution=0) + nonbondedResolution = 0, + extra_bd_file_lines = extra_bd_file_lines + ) # self.max_basepairs_per_bead = max_basepairs_per_bead # dsDNA -- GitLab