### Improved potentials around crossovers

```1) Proper accounting for a single bond representing a double crossover
2) Parallel-helix dihedral angle spring constant is now computed from three "springs" placed in series that represent:
a) the flexibility of the bond on one side of the crossover
b) the intrinsic flexibility of the crossover
c) the flexibility of the bond on the other side of the crossover```
parent fa4b1dae
 ... ... @@ -2461,6 +2461,15 @@ class SegmentModel(ArbdModel): parent.add_dihedral(o1,b1,b2,o2, pot) def count_crossovers(beads): count = 0 for b in beads: for l in b.locations: if l.connection is not None: if l.connection.type_ == "crossover": count += 1 return count def add_local_crossover_strand_orientation_potential(b1,b2, b1_on_fwd_strand): """ Adds a dihedral angle potential so bead b2 at opposite ... ... @@ -2559,7 +2568,13 @@ class SegmentModel(ArbdModel): ## TODO?: Check length-dependence of this potential if a is not None: k = k_xover_angle( dists[b][a]+dists[c][d] ) k_intrinsic = 0.00086 k = [1/k for k in (4*k_xover_angle( dists[b][a] ), k_intrinsic, 4*k_xover_angle( dists[c][d] ))] k = sum(k)**-1 k = k * count_crossovers((b1,b2))/4 pot = self.get_dihedral_potential(k,t0) self.add_dihedral( a,b,c,d, pot ) ... ... ... @@ -2612,7 +2627,8 @@ class SegmentModel(ArbdModel): return """ Add bond potential """ pot = self.get_bond_potential(4,18.5) k = 1.0 * count_crossovers((b1,b2)) pot = self.get_bond_potential(k,18.5) self.add_bond(b1,b2, pot) """ Add parallel helices potential, possibly """ ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!