File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -115,9 +115,12 @@ def run():
115115 action = argparse .BooleanOptionalAction ,
116116 help = """
117117 Whether to optimise the equilibrium value of the angle terms involving
118- ghost atoms for non-planar triple junctions.
118+ ghost atoms for non-planar triple junctions. Disabled by default due
119+ to conformer dependence: different input geometries can yield different
120+ equilibrium angles, adding variability to the resulting force field.
121+ Enable for simple, symmetric cases to follow Boresch et al. strictly.
119122 """ ,
120- default = True ,
123+ default = False ,
121124 required = False ,
122125 )
123126
Original file line number Diff line number Diff line change @@ -48,7 +48,7 @@ def modify(
4848 system ,
4949 k_hard = 100 ,
5050 k_soft = 5 ,
51- optimise_angles = True ,
51+ optimise_angles = False ,
5252 num_optimise = 10 ,
5353 soften_anchors = 1.0 ,
5454 stiffen_rotamers = False ,
@@ -83,7 +83,15 @@ def modify(
8383
8484 optimise_angles : bool, optional
8585 Whether to optimise the equilibrium value of the angle terms involving
86- ghost atoms for non-planar triple junctions.
86+ ghost atoms for non-planar triple junctions. Boresch et al. (JCTC 2021)
87+ recommend finding theta0 by minimisation with very low force constants,
88+ but this was validated on ammonia — a small symmetric molecule with a
89+ unique minimum. For complex drug-like molecules, minimisation is
90+ conformer-dependent: different input geometries give different theta0
91+ values, adding variability to the resulting force field. The original
92+ force field theta0 reflects the physical end-state equilibrium geometry
93+ and is sufficient given the small k_soft value. Defaults to False;
94+ set True to follow Boresch strictly for simple, symmetric cases.
8795
8896 num_optimise : int, optional
8997 The number of repeats to average over when optimising the equilibrium
@@ -1127,7 +1135,7 @@ def _triple(
11271135 modifications ,
11281136 k_hard = 100 ,
11291137 k_soft = 5 ,
1130- optimise_angles = True ,
1138+ optimise_angles = False ,
11311139 num_optimise = 10 ,
11321140 is_lambda1 = False ,
11331141 bridge_indices = None ,
@@ -1612,7 +1620,7 @@ def _higher(
16121620 modifications ,
16131621 k_hard = 100 ,
16141622 k_soft = 5 ,
1615- optimise_angles = True ,
1623+ optimise_angles = False ,
16161624 num_optimise = 10 ,
16171625 is_lambda1 = False ,
16181626):
You can’t perform that action at this time.
0 commit comments