From ce97ef384a0e12752e765bbe98fec999ac66e8c6 Mon Sep 17 00:00:00 2001
From: Chris Maffeo <cmaffeo2@illinois.edu>
Date: Sat, 27 Oct 2018 11:16:07 -0500
Subject: [PATCH] Added dihedral angle to DNA backbone for model with twist to
obtain correct persistence length
---
mrdna/segmentmodel.py | 12 ++++++------
mrdna/simulate.py | 2 ++
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/mrdna/segmentmodel.py b/mrdna/segmentmodel.py
index 13a5d74..40ab067 100644
--- a/mrdna/segmentmodel.py
+++ b/mrdna/segmentmodel.py
@@ -2082,11 +2082,11 @@ class SegmentModel(ArbdModel):
if b1.type_.name[0] == "D" and b2.type_.name[0] == "D" and b3.type_.name[0] == "D":
k = angle_spring_from_lp(sep,147)
if local_twist:
- ## TODO optimize this paramter
- k *= 0.5 # halve because orientation beads have similar springs
- angle = self.get_angle_potential(k,180)
- o1,o2,o3 = [b.orientation_bead for b in (b1,b2,b3)]
- parent.add_angle( o1, o2, o3, angle )
+ k_dihed = 0.25*k
+ k *= 0.75 # reduce because orientation beads impose similar springs
+ dihed = self.get_dihedral_potential(k_dihed,180)
+ parent.add_dihedral(b1,b2,b2.orientation_bead,b3, dihed)
+
else:
## TODO: get correct number from ssDNA model
@@ -2138,7 +2138,7 @@ class SegmentModel(ArbdModel):
pot = self.get_angle_potential(k,90)
parent.add_angle(o1,b1,b2, pot)
parent.add_angle(b1,b2,o2, pot)
-
+
## TODO: improve this
twist_per_nt = 0.5 * (p1.twist_per_nt + p2.twist_per_nt)
angle = sep*twist_per_nt
diff --git a/mrdna/simulate.py b/mrdna/simulate.py
index 7494f9b..2e04647 100644
--- a/mrdna/simulate.py
+++ b/mrdna/simulate.py
@@ -7,6 +7,8 @@ from . import get_resource_path
arbd="/home/cmaffeo2/development/cuda/arbd.dbg/src/arbd" # reduced the mem footprint cause vmd
namd="/home/cmaffeo2/development/namd-bin/NAMD_Git-2017-07-06_Linux-x86_64-multicore-CUDA/namd2"
+## TODO: implement replicas, initial conditions specified through some restart, and a custom simulation schedule
+
def multiresolution_simulation( model, output_name,
job_id=None,
gpu = 0,
--
GitLab