Commit 87fc5b22 authored by cmaffeo2's avatar cmaffeo2
Browse files

Fixed crossover angle potentials

parent 9f096897
......@@ -18,7 +18,7 @@ def stringToIntTuples(string, tupleLen, offset):
return ret
class CanonicalNucleotideFactory(Group):
DefaultOrientation = rotationAboutAxis([0,0,1], 80)
DefaultOrientation = rotationAboutAxis([0,0,1], 180)
def __init__(self, prefix, seq):
self.sequence = seq # TODO: used?
self.resname = resnames[seq]
......
......@@ -1783,23 +1783,18 @@ class SegmentModel(ArbdModel):
if local_twist:
k = (1.0/2) * 1.5 * kT * (1.0 / (1-np.exp(-float(1)/147))) * 0.00030461742; # kcal_mol/degree^2
pot = self.get_angle_potential(k,120)
if 'orientation_bead' in b1.__dict__:
# t0 = 90 + 60
t0 = 150
if A.on_fwd_strand: t0 = 30 # TODO handle antiparallel segments
o = b1.orientation_bead
pot = self.get_angle_potential(k,t0)
self.add_angle( o,b1,b2, pot )
if 'orientation_bead' in b2.__dict__:
t0 = 150
if B.on_fwd_strand: t0 = 30
o = b2.orientation_bead
pot = self.get_angle_potential(k,t0)
self.add_angle( b1,b2,o, pot )
t0 = 90
if 'orientation_bead' in b1.__dict__:
t0 = 90
if A.on_fwd_strand: t0 = -90
o1 = b1.orientation_bead
if u2 is not None:
k = k_fn( dists[b2][u2] )
......@@ -1807,9 +1802,11 @@ class SegmentModel(ArbdModel):
self.add_dihedral( o1,b1,b2,u2, pot )
elif d2 is not None:
k = k_fn( dists[b2][d2] )
pot = self.get_dihedral_potential(k,t0)
pot = self.get_dihedral_potential(k,-t0)
self.add_dihedral( o1,b1,b2,d2, pot )
if 'orientation_bead' in b2.__dict__:
t0 = 90
if B.on_fwd_strand: t0 = -90
o2 = b2.orientation_bead
if u1 is not None:
k = k_fn( dists[b1][u1] )
......@@ -1817,7 +1814,7 @@ class SegmentModel(ArbdModel):
self.add_dihedral( o2,b2,b1,u1, pot )
elif d1 is not None:
k = k_fn( dists[b1][d1] )
pot = self.get_dihedral_potential(k,t0)
pot = self.get_dihedral_potential(k,-t0)
self.add_dihedral( o2,b2,b1,d1, pot )
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment