openff-toolkit icon indicating copy to clipboard operation
openff-toolkit copied to clipboard

Bad optimized geometry for sulfonic and phosphonic acids

Open cbayly13 opened this issue 6 years ago • 10 comments

A Drugbank molecule with sulfonic and phosphonic acids optimizes with smirnoff99Frosst to bad geometries: valence angles O-P,S-O too large or small, S-O-H angle too small, and 1-4 distance O=S-O-H too small

To reproduce the behavior, just read in and optimize the first conformer of the accompanying DB2592_minIssue.mol2; What I get is the seconf conformer of the same molecule. Importantly, the first conformer is the MMFF94 optimized geometry to show that a) the starting geometry is reasonable and b) MMFF94 doesn't have the same pathologies. Also important is that the molecule is charged (single-conformer AM1-BCC) and I used these charges in the smirnoff optimization. The charge on the offending H is larger than I like, consistent with AM1-BCC on a strongly internally H-bonded moiety, which is why I would prefer ELF10 charging but what is there is a reasonable expectation for a use case. The resulting optimized coords seem pathological, suggestive of angle force constants that are substantially too small. Is it the smirnoff force constants to blame or is there a bug in applying them?

If the problem involves a specific molecule or file, please upload that as well.

Output DB2592_minIssue.mol2.gz

Computing environment OSX 10.14 using the Reference Platform (ie CPU) in OpenMM

Output of running conda list:

packages in environment at /Users/bayly/miniconda/envs/off_2019jun27:

ambermini 16.16.0 7 omnia appnope 0.1.0 py36_1000 conda-forge attrs 19.1.0 py_0 conda-forge backcall 0.1.0 py_0 conda-forge bleach 3.1.0 py_0 conda-forge boost 1.70.0 py36haf112f3_1 conda-forge boost-cpp 1.70.0 hd59e818_0 conda-forge bson 0.5.8 py_0 conda-forge bzip2 1.0.6 h1de35cc_1002 conda-forge ca-certificates 2019.6.16 hecc5488_0 conda-forge cairo 1.16.0 h0ab9d94_1001 conda-forge certifi 2019.6.16 py36_0 conda-forge cycler 0.10.0 py_1 conda-forge dbus 1.13.6 h2f22bb5_0 conda-forge decorator 4.4.0 py_0 conda-forge defusedxml 0.5.0 py_1 conda-forge entrypoints 0.3 py36_1000 conda-forge expat 2.2.5 h6de7cb9_1003 conda-forge fftw3f 3.3.4 2 omnia fontconfig 2.13.1 h1027ab8_1000 conda-forge freetype 2.10.0 h24853df_0 conda-forge gettext 0.19.8.1 h46ab8bc_1002 conda-forge glib 2.58.3 h9d45998_1001 conda-forge icu 58.2 h0a44026_1000 conda-forge ipykernel 5.1.1 py36h24bf2e0_0 conda-forge ipython 7.5.0 py36h24bf2e0_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.4.2 py_0 conda-forge jedi 0.14.0 py36_0 conda-forge jinja2 2.10.1 py_0 conda-forge jpeg 9c h1de35cc_1001 conda-forge jsonschema 3.0.1 py36_0 conda-forge jupyter 1.0.0 py_2 conda-forge jupyter_client 5.2.4 py_3 conda-forge jupyter_console 6.0.0 py_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge kiwisolver 1.1.0 py36h770b8ee_0 conda-forge libblas 3.8.0 10_openblas conda-forge libcblas 3.8.0 10_openblas conda-forge libcxx 8.0.0 3 conda-forge libcxxabi 8.0.0 3 conda-forge libffi 3.2.1 h6de7cb9_1006 conda-forge libgcc 4.8.5 hdbeacc1_10 conda-forge libgfortran 3.0.1 0 conda-forge libiconv 1.15 h01d97ff_1005 conda-forge liblapack 3.8.0 10_openblas conda-forge libopenblas 0.3.6 hd44dcd8_3 conda-forge libpng 1.6.37 h2573ce8_0 conda-forge libsodium 1.0.16 h1de35cc_1001 conda-forge libtiff 4.0.10 hd08fb8f_1003 conda-forge libxml2 2.9.9 hd80cff7_0 conda-forge lz4-c 1.8.3 h6de7cb9_1001 conda-forge markupsafe 1.1.1 py36h1de35cc_0 conda-forge matplotlib 3.1.0 py36_1 conda-forge matplotlib-base 3.1.0 py36h3a684a6_1 conda-forge mistune 0.8.4 py36h1de35cc_1000 conda-forge msgpack-python 0.6.1 py36h04f5b5a_0 conda-forge nbconvert 5.5.0 py_0 conda-forge nbformat 4.4.0 py_1 conda-forge ncurses 6.1 h0a44026_1002 conda-forge networkx 2.3 py_0 conda-forge notebook 5.7.8 py36_1 conda-forge numpy 1.16.4 py36h6b0580a_0 conda-forge olefile 0.46 py_0 conda-forge openblas 0.3.6 hd44dcd8_3 conda-forge OpenEye-toolkits 2019.4.2 OpenEye-toolkits-python3-osx-x64 2019.4.2 openforcefield 0.4.0 py36_0 omnia openmm 7.3.1 py36_cuda92_rc_2 omnia openssl 1.0.2r h1de35cc_0 conda-forge packaging 19.0 py_0 conda-forge pandas 0.24.2 py36h86efe34_0 conda-forge pandoc 2.7.3 0 conda-forge pandocfilters 1.4.2 py_1 conda-forge parmed 3.2.0 py36_0 omnia parso 0.5.0 py_0 conda-forge pcre 8.41 h0a44026_1003 conda-forge pexpect 4.7.0 py36_0 conda-forge pickleshare 0.7.5 py36_1000 conda-forge pillow 6.0.0 py36h7095ceb_0 conda-forge pip 19.1.1 py36_0 conda-forge pixman 0.38.0 h01d97ff_1003 conda-forge prometheus_client 0.7.1 py_0 conda-forge prompt_toolkit 2.0.9 py_0 conda-forge ptyprocess 0.6.0 py_1001 conda-forge pycairo 1.18.1 py36h650f75e_0 conda-forge pygments 2.4.2 py_0 conda-forge pyparsing 2.4.0 py_0 conda-forge pyqt 5.9.2 py36h2a560b1_0 conda-forge pyrsistent 0.15.2 py36h01d97ff_0 conda-forge python 3.6.6 h4a56312_1003 conda-forge python-dateutil 2.8.0 py_0 conda-forge pytz 2019.1 py_0 conda-forge pyyaml 5.1.1 py36h01d97ff_0 conda-forge pyzmq 18.0.2 py36h2d07e9b_0 conda-forge qt 5.9.7 h93ee506_2 conda-forge qtconsole 4.5.1 py_0 conda-forge rdkit 2019.03.2 py36hbdb07b7_1 conda-forge readline 7.0 hcfe32e1_1001 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 41.0.1 py36_0 conda-forge sip 4.19.8 py36h0a44026_1000 conda-forge six 1.12.0 py36_1000 conda-forge sqlite 3.28.0 h9721f7c_0 conda-forge terminado 0.8.2 py36_0 conda-forge testpath 0.4.2 py_1001 conda-forge tk 8.6.9 h2573ce8_1002 conda-forge toml 0.10.0 py_0 conda-forge tornado 6.0.3 py36h01d97ff_0 conda-forge traitlets 4.3.2 py36_1000 conda-forge wcwidth 0.1.7 py_1 conda-forge webencodings 0.5.1 py_1 conda-forge wheel 0.33.4 py36_0 conda-forge widgetsnbextension 3.4.2 py36_1000 conda-forge xmltodict 0.12.0 py_0 conda-forge xz 5.2.4 h1de35cc_1001 conda-forge yaml 0.1.7 h1de35cc_1001 conda-forge zeromq 4.3.1 h0a44026_1000 conda-forge zlib 1.2.11 h1de35cc_1004 conda-forge zstd 1.4.0 ha9f0a20_0 conda-forge

cbayly13 avatar Jul 01 '19 20:07 cbayly13

Using smirnoff99Frosst-1.0.9.offxml for this case. Found out that the valence angle parameters assigned for the O-S-O valence angle is: <Angle smirks="[*:1]~[#16X4:2]~[*:3]" angle="109.5" id="a30" k="140.0"/> which has the right equilibrium angle. Likewise the O-P-O angles have valence angle parameter: <Angle smirks="[*:1]~[#15:2]~[*:3]" angle="109.5" id="a38" k="140.0"/> which has the right equilib angle. For the S-O-H: <Angle smirks="[*:1]-[#8:2]-[*:3]" angle="113." id="a27" k="100.0"/> which seems perhaps a little large, but the opt angle is way too small ( 81.5 degrees)

cbayly13 avatar Jul 01 '19 22:07 cbayly13

Sorry, the "opt angle is way too small"? Which angle?

davidlmobley avatar Jul 01 '19 22:07 davidlmobley

Ah, the "optimized angle", after geometry optimization.

davidlmobley avatar Jul 01 '19 22:07 davidlmobley

OK, so for the record (cross-posting from Slack) this is a phosphonic acid with a proton and a sulfonic acid with a proton, and the proton ends up way too close to the other oxygen coming off of the connected [sulfur/phosphorous]. Probably the angle is not stiff enough.

I've actually seen this before with a protonated phosphonic acid with GAFF, and my recollection is that we brought it up with Dave Case and he'd seen it before too. So we think this is a general issue with AMBER-type FFs for these systems and not a SMIRNOFF-specific one.

We need to: a) Make sure we have some molecule(s) presenting these parameters present in the pipeline for fitting, then b) specifically check the geometries of these after fitting to see if they're going to need a custom/special angle parameter.

davidlmobley avatar Jul 01 '19 23:07 davidlmobley

Thanks for the thorough report, @cbayly13 .

I've reproduced this bug on my side. Simulating this molecule at 300K at 2fs step in OpenMM leads to a crash after a few hundred steps.

The charges on some atoms here are large [1]. I could see this accumulation of charge leading to coulomb interactions that compete with valence parameters. As you said, these charges came from a vanilla workflow, so we probably want to be able to handle this. I agree with @davidlmobley that we want to bring these conformers into the training set.

I'm including the XML system here [2], for the curious.

[1]: first conformer from the attached mol2 file

Summary
@<TRIPOS>MOLECULE
DrugBank_2592
   46    48     0     0     0
SMALL
USER_CHARGES

@<TRIPOS>ATOM
      1 C1          2.1618   -1.4754    2.9984 C.ar      1 <0>         0.6913
      2 C2         -1.5292    0.8508    3.1538 C.2       1 <0>         0.5392
      3 C3         -0.3131   -0.8110    3.7330 C.ar      1 <0>        -0.2243
      4 C4          0.4465   -0.0826    2.8325 C.ar      1 <0>         0.5809
      5 C5          0.2801   -1.9658    4.2686 C.ar      1 <0>         0.7636
      6 C6          0.1166    2.6930   -0.7029 C.3       1 <0>         0.1716
      7 C7          0.4714    1.5084    0.1748 C.3       1 <0>         0.0739
      8 C8         -1.2058    3.1304   -0.0805 C.3       1 <0>         0.1300
      9 C9          0.0422    2.0256    1.5546 C.3       1 <0>         0.4089
     10 C10        -1.5702    4.5831   -0.3883 C.3       1 <0>         0.1602
     11 N1          1.6936   -0.3532    2.4034 N.ar      1 <0>        -0.7482
     12 N2          1.5430   -2.2738    3.8939 N.ar      1 <0>        -0.7954
     13 N3         -1.5407   -0.2138    3.9301 N.2       1 <0>        -0.5448
     14 N4         -0.3514    0.9698    2.4677 N.pl3     1 <0>        -0.7037
     15 N5         -0.3575   -2.7969    5.1783 N.pl3     1 <0>        -0.9548
     16 O1          0.6112   -0.1128   -2.5128 O.2       1 <0>        -0.8309
     17 O2         -4.0574    4.4134   -2.1284 O.2       1 <0>        -0.8442
     18 O3         -3.8745    3.1467   -5.2566 O.2       1 <0>        -0.6607
     19 O4         -2.4391    2.3385   -3.3431 O.2       1 <0>        -0.6607
     20 O5         -1.0663    2.9314    1.3403 O.3       1 <0>        -0.4189
     21 O6          1.8719    1.2205    0.0510 O.3       1 <0>        -0.5838
     22 O7          2.3704    1.8040   -2.5291 O.3       1 <0>        -0.7592
     23 O8          0.6744    1.7080   -4.3513 O.3       1 <0>        -0.7592
     24 O9         -2.9236    6.6121   -2.6571 O.3       1 <0>        -0.7755
     25 O10        -1.4478    2.8301   -5.5061 O.3       1 <0>        -0.7746
     26 O11        -0.0234    2.4102   -2.0766 O.3       1 <0>        -0.5321
     27 O12        -1.4691    4.8296   -1.7751 O.3       1 <0>        -0.5795
     28 O13        -2.3414    4.7222   -4.1460 O.3       1 <0>        -0.7993
     29 P1          0.8785    1.3189   -2.8048 P.3       1 <0>         1.6463
     30 P2         -2.7955    5.0069   -2.6568 P.3       1 <0>         1.8005
     31 S1         -2.6494    3.1882   -4.4913 S.o2      1 <0>         2.0120
     32 H1          3.1690   -1.7765    2.7217 H         1 <0>         0.0543
     33 H2         -2.3405    1.5628    3.0571 H         1 <0>         0.0844
     34 H3          0.8798    3.4749   -0.5987 H         1 <0>         0.0940
     35 H4         -0.0907    0.6143   -0.1192 H         1 <0>         0.0872
     36 H5         -2.0161    2.4824   -0.4392 H         1 <0>         0.0943
     37 H6          0.8460    2.5845    2.0490 H         1 <0>         0.1138
     38 H7         -0.8786    5.2592    0.1270 H         1 <0>         0.0682
     39 H8         -2.5680    4.8220   -0.0038 H         1 <0>         0.0682
     40 H9         -1.1364   -2.3592    5.6576 H         1 <0>         0.4494
     41 H10         0.2897   -3.3472    5.7261 H         1 <0>         0.4494
     42 H11         2.0579    0.5287    0.7302 H         1 <0>         0.4358
     43 H12         2.6155    1.5653   -1.6047 H         1 <0>         0.4872
     44 H13         1.1983    1.0820   -4.8931 H         1 <0>         0.4872
     45 H14        -3.8374    6.8877   -2.8585 H         1 <0>         0.4888
     46 H15        -0.6675    2.5179   -4.9808 H         1 <0>         0.5095
@<TRIPOS>BOND
     1    1   11 ar
     2    1   12 ar
     3    2   13 2
     4    2   14 1
     5    3    4 ar
     6    3    5 ar
     7    3   13 1
     8    4   11 ar
     9    4   14 1
    10    5   12 ar
    11    5   15 1
    12    6    7 1
    13    6    8 1
    14    6   26 1
    15    7    9 1
    16    7   21 1
    17    8   10 1
    18    8   20 1
    19    9   14 1
    20    9   20 1
    21   10   27 1
    22   16   29 2
    23   17   30 2
    24   18   31 2
    25   19   31 2
    26   22   29 1
    27   23   29 1
    28   24   30 1
    29   25   31 1
    30   26   29 1
    31   27   30 1
    32   28   30 1
    33   28   31 1
    34    1   32 1
    35    2   33 1
    36    6   34 1
    37    7   35 1
    38    8   36 1
    39    9   37 1
    40   10   38 1
    41   10   39 1
    42   15   40 1
    43   15   41 1
    44   21   42 1
    45   22   43 1
    46   23   44 1
    47   24   45 1
    48   25   46 1
@<TRIPOS>MOLECULE
DrugBank_2592
   46    48     0     0     0
SMALL
USER_CHARGES

[2] The XML-serialized OpenMM system

Summary
<?xml version="1.0" ?>
<System openmmVersion="7.3.1" type="System" version="1">
	<PeriodicBoxVectors>
		<A x="2" y="0" z="0"/>
		<B x="0" y="2" z="0"/>
		<C x="0" y="0" z="2"/>
	</PeriodicBoxVectors>
	<Particles>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="12.01078"/>
		<Particle mass="14.00672"/>
		<Particle mass="14.00672"/>
		<Particle mass="14.00672"/>
		<Particle mass="14.00672"/>
		<Particle mass="14.00672"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="15.99943"/>
		<Particle mass="30.9737622"/>
		<Particle mass="30.9737622"/>
		<Particle mass="32.0655"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
		<Particle mass="1.007947"/>
	</Particles>
	<Constraints/>
	<Forces>
		<Force alpha="0" cutoff="1" dispersionCorrection="1" ewaldTolerance=".0005" forceGroup="0" ljAlpha="0" ljnx="0" ljny="0" ljnz="0" method="0" nx="0" ny="0" nz="0" recipForceGroup="-1" rfDielectric="78.3" switchingDistance="-1" type="NonbondedForce" useSwitchingFunction="0" version="3">
			<GlobalParameters/>
			<ParticleOffsets/>
			<ExceptionOffsets/>
			<Particles>
				<Particle eps=".359824" q=".6912999749183655" sig=".3399669508423535"/>
				<Particle eps=".359824" q=".5392000079154968" sig=".3399669508423535"/>
				<Particle eps=".359824" q="-.22429999709129333" sig=".3399669508423535"/>
				<Particle eps=".359824" q=".5809000134468079" sig=".3399669508423535"/>
				<Particle eps=".359824" q=".7635999917984009" sig=".3399669508423535"/>
				<Particle eps=".4577296" q=".17159999907016754" sig=".3399669508423535"/>
				<Particle eps=".4577296" q=".0738999992609024" sig=".3399669508423535"/>
				<Particle eps=".4577296" q=".12999999523162842" sig=".3399669508423535"/>
				<Particle eps=".4577296" q=".4088999927043915" sig=".3399669508423535"/>
				<Particle eps=".4577296" q=".16019999980926514" sig=".3399669508423535"/>
				<Particle eps=".7112800000000001" q="-.748199999332428" sig=".3249998523775958"/>
				<Particle eps=".7112800000000001" q="-.7954000234603882" sig=".3249998523775958"/>
				<Particle eps=".7112800000000001" q="-.5447999835014343" sig=".3249998523775958"/>
				<Particle eps=".7112800000000001" q="-.7037000060081482" sig=".3249998523775958"/>
				<Particle eps=".7112800000000001" q="-.954800009727478" sig=".3249998523775958"/>
				<Particle eps=".87864" q="-.8309000134468079" sig=".2959921901149463"/>
				<Particle eps=".87864" q="-.8442000150680542" sig=".2959921901149463"/>
				<Particle eps=".87864" q="-.6607000231742859" sig=".2959921901149463"/>
				<Particle eps=".87864" q="-.6607000231742859" sig=".2959921901149463"/>
				<Particle eps=".7112800000000001" q="-.4189000129699707" sig=".3000012343465779"/>
				<Particle eps=".8803136" q="-.5838000178337097" sig=".3066473387839048"/>
				<Particle eps=".8803136" q="-.7591999769210815" sig=".3066473387839048"/>
				<Particle eps=".8803136" q="-.7591999769210815" sig=".3066473387839048"/>
				<Particle eps=".8803136" q="-.7754999995231628" sig=".3066473387839048"/>
				<Particle eps=".8803136" q="-.7746000289916992" sig=".3066473387839048"/>
				<Particle eps=".7112800000000001" q="-.5321000218391418" sig=".3000012343465779"/>
				<Particle eps=".7112800000000001" q="-.5795000195503235" sig=".3000012343465779"/>
				<Particle eps=".7112800000000001" q="-.7993000149726868" sig=".3000012343465779"/>
				<Particle eps=".8368000000000001" q="1.646299958229065" sig=".37417746161894255"/>
				<Particle eps=".8368000000000001" q="1.8005000352859497" sig=".37417746161894255"/>
				<Particle eps="1.046" q="2.01200008392334" sig=".35635948725613575"/>
				<Particle eps=".06276" q=".05429999902844429" sig=".24214627159054422"/>
				<Particle eps=".06276" q=".0843999981880188" sig=".24214627159054422"/>
				<Particle eps=".06568879999999999" q=".09399999678134918" sig=".2471353044121301"/>
				<Particle eps=".06568879999999999" q=".08720000088214874" sig=".2471353044121301"/>
				<Particle eps=".06568879999999999" q=".09430000185966492" sig=".2471353044121301"/>
				<Particle eps=".06568879999999999" q=".11379999667406082" sig=".22931733004932334"/>
				<Particle eps=".06568879999999999" q=".0681999996304512" sig=".2471353044121301"/>
				<Particle eps=".06568879999999999" q=".0681999996304512" sig=".2471353044121301"/>
				<Particle eps=".06568879999999999" q=".44940000772476196" sig=".10690784617684071"/>
				<Particle eps=".06568879999999999" q=".44940000772476196" sig=".10690784617684071"/>
				<Particle eps=".0002204968" q=".4357999861240387" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".487199991941452" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".487199991941452" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".4887999892234802" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".5095000267028809" sig=".053453923088420355"/>
			</Particles>
			<Exceptions>
				<Exception eps=".179912" p1="0" p2="2" q="-.12921496844089259" sig=".3399669508423535"/>
				<Exception eps="0" p1="1" p2="2" q="0" sig="1"/>
				<Exception eps="0" p1="0" p2="3" q="0" sig="1"/>
				<Exception eps="0" p1="1" p2="3" q="0" sig="1"/>
				<Exception eps="0" p1="2" p2="3" q="0" sig="1"/>
				<Exception eps="0" p1="0" p2="4" q="0" sig="1"/>
				<Exception eps=".179912" p1="1" p2="4" q=".3431095622412372" sig=".3399669508423535"/>
				<Exception eps="0" p1="2" p2="4" q="0" sig="1"/>
				<Exception eps="0" p1="3" p2="4" q="0" sig="1"/>
				<Exception eps=".20291752979375635" p1="1" p2="6" q=".03320560066576087" sig=".3399669508423535"/>
				<Exception eps=".20291752979375635" p1="3" p2="6" q=".03577361570861253" sig=".3399669508423535"/>
				<Exception eps="0" p1="5" p2="6" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="7" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="7" q="0" sig="1"/>
				<Exception eps="0" p1="1" p2="8" q="0" sig="1"/>
				<Exception eps=".20291752979375635" p1="2" p2="8" q="-.0764299169242968" sig=".3399669508423535"/>
				<Exception eps="0" p1="3" p2="8" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="8" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="8" q="0" sig="1"/>
				<Exception eps="0" p1="7" p2="8" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="9" q="0" sig="1"/>
				<Exception eps=".2288648" p1="6" p2="9" q=".009865610426984825" sig=".3399669508423535"/>
				<Exception eps="0" p1="7" p2="9" q="0" sig="1"/>
				<Exception eps=".2288648" p1="8" p2="9" q=".054587930608447514" sig=".3399669508423535"/>
				<Exception eps="0" p1="0" p2="10" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="1" p2="10" q="-.3361898598705314" sig=".3324834016099747"/>
				<Exception eps="0" p1="2" p2="10" q="0" sig="1"/>
				<Exception eps="0" p1="3" p2="10" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="4" p2="10" q="-.47610269004312683" sig=".3324834016099747"/>
				<Exception eps=".28529542140034425" p1="8" p2="10" q="-.254948125427132" sig=".3324834016099747"/>
				<Exception eps="0" p1="0" p2="11" q="0" sig="1"/>
				<Exception eps="0" p1="2" p2="11" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="3" p2="11" q="-.38503836344349457" sig=".3324834016099747"/>
				<Exception eps="0" p1="4" p2="11" q="0" sig="1"/>
				<Exception eps="0" p1="10" p2="11" q="0" sig="1"/>
				<Exception eps="0" p1="1" p2="12" q="0" sig="1"/>
				<Exception eps="0" p1="2" p2="12" q="0" sig="1"/>
				<Exception eps="0" p1="3" p2="12" q="0" sig="1"/>
				<Exception eps="0" p1="4" p2="12" q="0" sig="1"/>
				<Exception eps=".28529542140034425" p1="8" p2="12" q="-.18563984850354331" sig=".3324834016099747"/>
				<Exception eps=".35564000000000007" p1="10" p2="12" q=".339681430678909" sig=".3249998523775958"/>
				<Exception eps=".35564000000000007" p1="11" p2="12" q=".36111015526881773" sig=".3249998523775958"/>
				<Exception eps=".25295039766721067" p1="0" p2="13" q="-.4053882088602504" sig=".3324834016099747"/>
				<Exception eps="0" p1="1" p2="13" q="0" sig="1"/>
				<Exception eps="0" p1="2" p2="13" q="0" sig="1"/>
				<Exception eps="0" p1="3" p2="13" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="4" p2="13" q="-.44778597452923447" sig=".3324834016099747"/>
				<Exception eps=".28529542140034425" p1="5" p2="13" q="-.10062869779749468" sig=".3324834016099747"/>
				<Exception eps="0" p1="6" p2="13" q="0" sig="1"/>
				<Exception eps=".28529542140034425" p1="7" p2="13" q="-.07623385958463871" sig=".3324834016099747"/>
				<Exception eps="0" p1="8" p2="13" q="0" sig="1"/>
				<Exception eps="0" p1="10" p2="13" q="0" sig="1"/>
				<Exception eps="0" p1="12" p2="13" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="0" p2="14" q="-.5500421521364747" sig=".3324834016099747"/>
				<Exception eps="0" p1="2" p2="14" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="3" p2="14" q="-.46220093326362527" sig=".3324834016099747"/>
				<Exception eps="0" p1="4" p2="14" q="0" sig="1"/>
				<Exception eps="0" p1="11" p2="14" q="0" sig="1"/>
				<Exception eps=".35564000000000007" p1="12" p2="14" q=".433477457372151" sig=".3249998523775958"/>
				<Exception eps=".3170881327580709" p1="5" p2="15" q="-.11881822600425691" sig=".3179795704786499"/>
				<Exception eps=".3170881327580709" p1="9" p2="16" q="-.11270025107459576" sig=".3179795704786499"/>
				<Exception eps="0" p1="17" p2="18" q="0" sig="1"/>
				<Exception eps=".25295039766721067" p1="1" p2="19" q="-.1882249890213739" sig=".3199840925944657"/>
				<Exception eps=".25295039766721067" p1="3" p2="19" q="-.20278170817585942" sig=".3199840925944657"/>
				<Exception eps="0" p1="5" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="7" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="8" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="9" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="13" p2="19" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="20" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="20" q="0" sig="1"/>
				<Exception eps=".3173899777885874" p1="7" p2="20" q="-.06324474663217393" sig=".32330714481312917"/>
				<Exception eps="0" p1="8" p2="20" q="0" sig="1"/>
				<Exception eps=".3956480308961489" p1="13" p2="20" q=".3423486939806953" sig=".31582359558075035"/>
				<Exception eps=".3956480308961489" p1="19" p2="20" q=".20379404735589163" sig=".30332428656524135"/>
				<Exception eps=".3173899777885874" p1="5" p2="21" q="-.10856516184905624" sig=".32330714481312917"/>
				<Exception eps="0" p1="15" p2="21" q="0" sig="1"/>
				<Exception eps=".3173899777885874" p1="5" p2="22" q="-.10856516184905624" sig=".32330714481312917"/>
				<Exception eps="0" p1="15" p2="22" q="0" sig="1"/>
				<Exception eps="0" p1="21" p2="22" q="0" sig="1"/>
				<Exception eps=".3173899777885874" p1="9" p2="23" q="-.1035288356960806" sig=".32330714481312917"/>
				<Exception eps="0" p1="16" p2="23" q="0" sig="1"/>
				<Exception eps="0" p1="17" p2="24" q="0" sig="1"/>
				<Exception eps="0" p1="18" p2="24" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="25" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="25" q="0" sig="1"/>
				<Exception eps="0" p1="7" p2="25" q="0" sig="1"/>
				<Exception eps=".28529542140034425" p1="8" p2="25" q="-.18131235395437623" sig=".3199840925944657"/>
				<Exception eps=".28529542140034425" p1="9" p2="25" q="-.0710350686895391" sig=".3199840925944657"/>
				<Exception eps="0" p1="15" p2="25" q="0" sig="1"/>
				<Exception eps=".35564000000000007" p1="19" p2="25" q=".18574651205242834" sig=".3000012343465779"/>
				<Exception eps=".3956480308961489" p1="20" p2="25" q=".2588656330658328" sig=".30332428656524135"/>
				<Exception eps="0" p1="21" p2="25" q="0" sig="1"/>
				<Exception eps="0" p1="22" p2="25" q="0" sig="1"/>
				<Exception eps=".28529542140034425" p1="5" p2="26" q="-.08286817087265527" sig=".3199840925944657"/>
				<Exception eps="0" p1="7" p2="26" q="0" sig="1"/>
				<Exception eps="0" p1="9" p2="26" q="0" sig="1"/>
				<Exception eps="0" p1="16" p2="26" q="0" sig="1"/>
				<Exception eps=".35564000000000007" p1="19" p2="26" q=".20229299557955496" sig=".3000012343465779"/>
				<Exception eps="0" p1="23" p2="26" q="0" sig="1"/>
				<Exception eps=".28529542140034425" p1="9" p2="27" q="-.1067061250456009" sig=".3199840925944657"/>
				<Exception eps="0" p1="16" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="17" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="18" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="23" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="24" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="26" p2="27" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="28" q="0" sig="1"/>
				<Exception eps=".3094463318897156" p1="6" p2="28" q=".10138423254174066" sig=".35707220623064806"/>
				<Exception eps=".3094463318897156" p1="7" p2="28" q=".17834844220305138" sig=".35707220623064806"/>
				<Exception eps="0" p1="15" p2="28" q="0" sig="1"/>
				<Exception eps="0" p1="21" p2="28" q="0" sig="1"/>
				<Exception eps="0" p1="22" p2="28" q="0" sig="1"/>
				<Exception eps="0" p1="25" p2="28" q="0" sig="1"/>
				<Exception eps=".3094463318897156" p1="7" p2="29" q=".19505338311811354" sig=".35707220623064806"/>
				<Exception eps="0" p1="9" p2="29" q="0" sig="1"/>
				<Exception eps="0" p1="16" p2="29" q="0" sig="1"/>
				<Exception eps=".42873242004774964" p1="17" p2="29" q="-.9913213805642245" sig=".33508482586694444"/>
				<Exception eps=".42873242004774964" p1="18" p2="29" q="-.9913213805642245" sig=".33508482586694444"/>
				<Exception eps="0" p1="23" p2="29" q="0" sig="1"/>
				<Exception eps=".42914054238675703" p1="24" p2="29" q="-1.162218167385445" sig=".3404124002014237"/>
				<Exception eps="0" p1="26" p2="29" q="0" sig="1"/>
				<Exception eps="0" p1="27" p2="29" q="0" sig="1"/>
				<Exception eps=".47933741769238086" p1="16" p2="30" q="-1.4154364225358376" sig=".326175838685541"/>
				<Exception eps="0" p1="17" p2="30" q="0" sig="1"/>
				<Exception eps="0" p1="18" p2="30" q="0" sig="1"/>
				<Exception eps=".4797937123389593" p1="23" p2="30" q="-1.3002498524157478" sig=".3315034130200203"/>
				<Exception eps="0" p1="24" p2="30" q="0" sig="1"/>
				<Exception eps=".43127684843960734" p1="26" p2="30" q="-.9716245201270634" sig=".3281803608013568"/>
				<Exception eps="0" p1="27" p2="30" q="0" sig="1"/>
				<Exception eps="0" p1="29" p2="30" q="0" sig="1"/>
				<Exception eps="0" p1="0" p2="31" q="0" sig="1"/>
				<Exception eps=".07513746442354838" p1="3" p2="31" q=".026285619995253567" sig=".2910566112164489"/>
				<Exception eps=".07513746442354838" p1="4" p2="31" q=".03455276079904832" sig=".2910566112164489"/>
				<Exception eps="0" p1="10" p2="31" q="0" sig="1"/>
				<Exception eps="0" p1="11" p2="31" q="0" sig="1"/>
				<Exception eps="0" p1="1" p2="32" q="0" sig="1"/>
				<Exception eps=".07513746442354838" p1="2" p2="32" q="-.015775703020333657" sig=".2910566112164489"/>
				<Exception eps=".07513746442354838" p1="3" p2="32" q=".04085646997540863" sig=".2910566112164489"/>
				<Exception eps=".08474536815661372" p1="8" p2="32" q=".028759183832247473" sig=".2910566112164489"/>
				<Exception eps="0" p1="12" p2="32" q="0" sig="1"/>
				<Exception eps="0" p1="13" p2="32" q="0" sig="1"/>
				<Exception eps="0" p1="5" p2="33" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="33" q="0" sig="1"/>
				<Exception eps="0" p1="7" p2="33" q="0" sig="1"/>
				<Exception eps=".08670021359327784" p1="8" p2="33" q=".03203037020976209" sig=".2935511276272418"/>
				<Exception eps=".08670021359327784" p1="9" p2="33" q=".012548949359370998" sig=".2935511276272418"/>
				<Exception eps=".10807766844265286" p1="19" p2="33" q="-.03281370197040408" sig=".27356826937935397"/>
				<Exception eps=".12023595968727492" p1="20" p2="33" q="-.04573081690710093" sig=".27689132159801744"/>
				<Exception eps="0" p1="25" p2="33" q="0" sig="1"/>
				<Exception eps=".11722669047618806" p1="28" p2="33" q=".1289596431382536" sig=".31065638301553633"/>
				<Exception eps="0" p1="5" p2="34" q="0" sig="1"/>
				<Exception eps="0" p1="6" p2="34" q="0" sig="1"/>
				<Exception eps=".08670021359327784" p1="7" p2="34" q=".009446628629065446" sig=".2935511276272418"/>
				<Exception eps="0" p1="8" p2="34" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="13" p2="34" q="-.051135329745095014" sig=".28606757839486296"/>
				<Exception eps=".10807766844265286" p1="19" p2="34" q="-.03043994615682297" sig=".27356826937935397"/>
				<Exception eps="0" p1="20" p2="34" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="25" p2="34" q="-.0386657806477292" sig=".27356826937935397"/>
				<Exception eps=".032844399999999996" p1="33" p2="34" q=".006830639179213682" sig=".2471353044121301"/>
				<Exception eps="0" p1="5" p2="35" q="0" sig="1"/>
				<Exception eps=".08670021359327784" p1="6" p2="35" q=".005807285160543386" sig=".2935511276272418"/>
				<Exception eps="0" p1="7" p2="35" q="0" sig="1"/>
				<Exception eps=".08670021359327784" p1="8" p2="35" q=".03213259652946733" sig=".2935511276272418"/>
				<Exception eps="0" p1="9" p2="35" q="0" sig="1"/>
				<Exception eps="0" p1="19" p2="35" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="25" p2="35" q="-.04181402695068885" sig=".27356826937935397"/>
				<Exception eps=".10807766844265286" p1="26" p2="35" q="-.04553886194488306" sig=".27356826937935397"/>
				<Exception eps=".032844399999999996" p1="33" p2="35" q=".0073868036787418665" sig=".2471353044121301"/>
				<Exception eps=".07687068162049819" p1="1" p2="36" q=".051133928053000564" sig=".2846421404458384"/>
				<Exception eps=".07687068162049819" p1="3" p2="36" q=".05508846264377519" sig=".2846421404458384"/>
				<Exception eps=".08670021359327784" p1="5" p2="36" q=".016273334342613844" sig=".2846421404458384"/>
				<Exception eps="0" p1="6" p2="36" q="0" sig="1"/>
				<Exception eps=".08670021359327784" p1="7" p2="36" q=".012328283207492614" sig=".2846421404458384"/>
				<Exception eps="0" p1="8" p2="36" q="0" sig="1"/>
				<Exception eps="0" p1="13" p2="36" q="0" sig="1"/>
				<Exception eps="0" p1="19" p2="36" q="0" sig="1"/>
				<Exception eps=".12023595968727492" p1="20" p2="36" q="-.055363478618360384" sig=".26798233441661407"/>
				<Exception eps=".032844399999999996" p1="34" p2="36" q=".008269433430772822" sig=".23822631723072674"/>
				<Exception eps=".08670021359327784" p1="5" p2="37" q=".009752560883909467" sig=".2935511276272418"/>
				<Exception eps="0" p1="7" p2="37" q="0" sig="1"/>
				<Exception eps="0" p1="9" p2="37" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="19" p2="37" q="-.023807388711520907" sig=".27356826937935397"/>
				<Exception eps="0" p1="26" p2="37" q="0" sig="1"/>
				<Exception eps=".11722669047618806" p1="29" p2="37" q=".10232800880393515" sig=".31065638301553633"/>
				<Exception eps=".032844399999999996" p1="35" p2="37" q=".005359361972450273" sig=".2471353044121301"/>
				<Exception eps=".08670021359327784" p1="5" p2="38" q=".009752560883909467" sig=".2935511276272418"/>
				<Exception eps="0" p1="7" p2="38" q="0" sig="1"/>
				<Exception eps="0" p1="9" p2="38" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="19" p2="38" q="-.023807388711520907" sig=".27356826937935397"/>
				<Exception eps="0" p1="26" p2="38" q="0" sig="1"/>
				<Exception eps=".11722669047618806" p1="29" p2="38" q=".10232800880393515" sig=".31065638301553633"/>
				<Exception eps=".032844399999999996" p1="35" p2="38" q=".005359361972450273" sig=".2471353044121301"/>
				<Exception eps="0" p1="37" p2="38" q="0" sig="1"/>
				<Exception eps=".07687068162049819" p1="2" p2="39" q="-.08400001435317467" sig=".2234373985095971"/>
				<Exception eps="0" p1="4" p2="39" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="11" p2="39" q="-.2978761223968896" sig=".21595384927721828"/>
				<Exception eps="0" p1="14" p2="39" q="0" sig="1"/>
				<Exception eps=".07687068162049819" p1="2" p2="40" q="-.08400001435317467" sig=".2234373985095971"/>
				<Exception eps="0" p1="4" p2="40" q="0" sig="1"/>
				<Exception eps=".10807766844265286" p1="11" p2="40" q="-.2978761223968896" sig=".21595384927721828"/>
				<Exception eps="0" p1="14" p2="40" q="0" sig="1"/>
				<Exception eps="0" p1="39" p2="40" q="0" sig="1"/>
				<Exception eps=".005023144236065694" p1="5" p2="41" q=".06231914840046268" sig=".19671043696538693"/>
				<Exception eps="0" p1="6" p2="41" q="0" sig="1"/>
				<Exception eps=".005023144236065694" p1="8" p2="41" q=".14849824862687397" sig=".19671043696538693"/>
				<Exception eps="0" p1="20" p2="41" q="0" sig="1"/>
				<Exception eps=".001902903715104892" p1="34" p2="41" q=".031668005972849904" sig=".15029461375027522"/>
				<Exception eps=".006959477501077218" p1="15" p2="42" q="-.3373440504979315" sig=".17472305660168333"/>
				<Exception eps="0" p1="21" p2="42" q="0" sig="1"/>
				<Exception eps=".006966102421664499" p1="22" p2="42" q="-.30823395259084246" sig=".18005063093616258"/>
				<Exception eps=".0062616883486804106" p1="25" p2="42" q="-.21603174116297577" sig=".1767275787174991"/>
				<Exception eps="0" p1="28" p2="42" q="0" sig="1"/>
				<Exception eps=".006959477501077218" p1="15" p2="43" q="-.3373440504979315" sig=".17472305660168333"/>
				<Exception eps=".006966102421664499" p1="21" p2="43" q="-.30823395259084246" sig=".18005063093616258"/>
				<Exception eps="0" p1="22" p2="43" q="0" sig="1"/>
				<Exception eps=".0062616883486804106" p1="25" p2="43" q="-.21603174116297577" sig=".1767275787174991"/>
				<Exception eps="0" p1="28" p2="43" q="0" sig="1"/>
				<Exception eps=".006959477501077218" p1="16" p2="44" q="-.3438694230732447" sig=".17472305660168333"/>
				<Exception eps="0" p1="23" p2="44" q="0" sig="1"/>
				<Exception eps=".0062616883486804106" p1="26" p2="44" q="-.2360487252273262" sig=".1767275787174991"/>
				<Exception eps=".0062616883486804106" p1="27" p2="44" q="-.3255802299280184" sig=".1767275787174991"/>
				<Exception eps="0" p1="29" p2="44" q="0" sig="1"/>
				<Exception eps=".006959477501077218" p1="17" p2="45" q="-.280521110785979" sig=".17472305660168333"/>
				<Exception eps=".006959477501077218" p1="18" p2="45" q="-.280521110785979" sig=".17472305660168333"/>
				<Exception eps="0" p1="24" p2="45" q="0" sig="1"/>
				<Exception eps=".0062616883486804106" p1="27" p2="45" q="-.33936812499890096" sig=".1767275787174991"/>
				<Exception eps="0" p1="30" p2="45" q="0" sig="1"/>
			</Exceptions>
		</Force>
		<Force forceGroup="0" type="PeriodicTorsionForce" usesPeriodic="0" version="2">
			<Torsions>
				<Torsion k="1.3946666666666667" p1="13" p2="1" p3="3" p4="8" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.3946666666666667" p1="13" p2="3" p3="8" p4="1" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.3946666666666667" p1="13" p2="8" p3="1" p4="3" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="3" p2="2" p3="10" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="3" p2="10" p3="13" p4="2" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="3" p2="13" p3="2" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="4" p2="2" p3="11" p4="14" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="4" p2="11" p3="14" p4="2" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="4" p2="14" p3="2" p4="11" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="2" p2="3" p3="4" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="2" p2="4" p3="12" p4="3" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="2" p2="12" p3="3" p4="4" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.3946666666666667" p1="14" p2="4" p3="39" p4="40" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.3946666666666667" p1="14" p2="39" p3="40" p4="4" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.3946666666666667" p1="14" p2="40" p3="4" p4="39" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="0" p2="10" p3="11" p4="31" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="0" p2="11" p3="31" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.5341333333333336" p1="0" p2="31" p3="10" p4="11" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="14.644" p1="1" p2="12" p3="13" p4="32" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="14.644" p1="1" p2="13" p3="32" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="14.644" p1="1" p2="32" p3="12" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="20.0832" p1="0" p2="10" p3="3" p4="2" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="0" p2="10" p3="3" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="20.0832" p1="0" p2="11" p3="4" p4="2" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="0" p2="11" p3="4" p4="14" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="6.276" p1="1" p2="12" p3="2" p4="3" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="6.276" p1="1" p2="12" p3="2" p4="4" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="1" p2="13" p3="3" p4="2" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="1" p2="13" p3="3" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="2.092" p1="1" p2="13" p3="8" p4="6" periodicity="4" phase="3.141592653589793"/>
				<Torsion k=".6276" p1="1" p2="13" p3="8" p4="6" periodicity="3" phase="3.141592653589793"/>
				<Torsion k="0" p1="1" p2="13" p3="8" p4="6" periodicity="2" phase="0"/>
				<Torsion k="2.2175200000000004" p1="1" p2="13" p3="8" p4="6" periodicity="1" phase="0"/>
				<Torsion k="0" p1="1" p2="13" p3="8" p4="19" periodicity="2" phase="0"/>
				<Torsion k="10.46" p1="1" p2="13" p3="8" p4="19" periodicity="1" phase="0"/>
				<Torsion k="0" p1="1" p2="13" p3="8" p4="36" periodicity="2" phase="0"/>
				<Torsion k="0" p1="1" p2="13" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k="5.8576" p1="2" p2="3" p3="13" p4="8" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="2.615" p1="2" p2="4" p3="14" p4="39" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="2.615" p1="2" p2="4" p3="14" p4="40" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="20.92" p1="2" p2="12" p3="1" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="20.92" p1="2" p2="12" p3="1" p4="32" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="3" p2="2" p3="4" p4="11" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="3" p2="2" p3="4" p4="14" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="3" p2="10" p3="0" p4="11" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="3" p2="10" p3="0" p4="31" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="3" p2="13" p3="1" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="3" p2="13" p3="1" p4="32" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="0" p1="3" p2="13" p3="8" p4="6" periodicity="2" phase="0"/>
				<Torsion k="0" p1="3" p2="13" p3="8" p4="6" periodicity="3" phase="0"/>
				<Torsion k="0" p1="3" p2="13" p3="8" p4="19" periodicity="2" phase="0"/>
				<Torsion k="10.46" p1="3" p2="13" p3="8" p4="19" periodicity="1" phase="0"/>
				<Torsion k="0" p1="3" p2="13" p3="8" p4="36" periodicity="2" phase="0"/>
				<Torsion k="0" p1="3" p2="13" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k="15.167" p1="4" p2="2" p3="3" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="4" p2="2" p3="3" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="4" p2="11" p3="0" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="12.552" p1="4" p2="11" p3="0" p4="31" periodicity="2" phase="3.141592653589793"/>
				<Torsion k=".6527040000000001" p1="5" p2="6" p3="8" p4="13" periodicity="3" phase="0"/>
				<Torsion k=".6527040000000001" p1="5" p2="6" p3="8" p4="19" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="5" p2="6" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="5" p2="6" p3="20" p4="41" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="5" p2="6" p3="20" p4="41" periodicity="1" phase="0"/>
				<Torsion k=".6527040000000001" p1="5" p2="7" p3="9" p4="26" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="5" p2="7" p3="9" p4="37" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="5" p2="7" p3="9" p4="38" periodicity="3" phase="0"/>
				<Torsion k="1.6024720000000001" p1="5" p2="7" p3="19" p4="8" periodicity="3" phase="0"/>
				<Torsion k=".41840000000000005" p1="5" p2="7" p3="19" p4="8" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="3.138" p1="5" p2="25" p3="28" p4="15" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="5" p2="25" p3="28" p4="21" periodicity="3" phase="0"/>
				<Torsion k="5.0208" p1="5" p2="25" p3="28" p4="21" periodicity="2" phase="0"/>
				<Torsion k="1.046" p1="5" p2="25" p3="28" p4="22" periodicity="3" phase="0"/>
				<Torsion k="5.0208" p1="5" p2="25" p3="28" p4="22" periodicity="2" phase="0"/>
				<Torsion k=".75312" p1="6" p2="5" p3="7" p4="9" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="6" p2="5" p3="7" p4="9" periodicity="2" phase="3.141592653589793"/>
				<Torsion k=".8368000000000001" p1="6" p2="5" p3="7" p4="9" periodicity="1" phase="3.141592653589793"/>
				<Torsion k=".6527040000000001" p1="6" p2="5" p3="7" p4="19" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="6" p2="5" p3="7" p4="35" periodicity="3" phase="0"/>
				<Torsion k="1.6038666666666666" p1="6" p2="5" p3="25" p4="28" periodicity="3" phase="0"/>
				<Torsion k="1.6024720000000001" p1="6" p2="8" p3="19" p4="7" periodicity="3" phase="0"/>
				<Torsion k=".41840000000000005" p1="6" p2="8" p3="19" p4="7" periodicity="2" phase="3.141592653589793"/>
				<Torsion k=".75312" p1="7" p2="5" p3="6" p4="8" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="7" p2="5" p3="6" p4="8" periodicity="2" phase="3.141592653589793"/>
				<Torsion k=".8368000000000001" p1="7" p2="5" p3="6" p4="8" periodicity="1" phase="3.141592653589793"/>
				<Torsion k=".6527040000000001" p1="7" p2="5" p3="6" p4="20" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="7" p2="5" p3="6" p4="34" periodicity="3" phase="0"/>
				<Torsion k="1.6038666666666666" p1="7" p2="5" p3="25" p4="28" periodicity="3" phase="0"/>
				<Torsion k="1.6038666666666666" p1="7" p2="9" p3="26" p4="29" periodicity="3" phase="0"/>
				<Torsion k="1.6024720000000001" p1="7" p2="19" p3="8" p4="13" periodicity="3" phase="0"/>
				<Torsion k="2.7196000000000002" p1="7" p2="19" p3="8" p4="13" periodicity="2" phase="0"/>
				<Torsion k="1.6038666666666666" p1="7" p2="19" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k=".6527040000000001" p1="8" p2="6" p3="5" p4="25" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="8" p2="6" p3="5" p4="33" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="8" p2="6" p3="20" p4="41" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="8" p2="6" p3="20" p4="41" periodicity="1" phase="0"/>
				<Torsion k="5.8576" p1="8" p2="13" p3="1" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="8" p2="13" p3="1" p4="32" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="5.8576" p1="8" p2="13" p3="3" p4="10" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.6024720000000001" p1="8" p2="19" p3="7" p4="9" periodicity="3" phase="0"/>
				<Torsion k=".41840000000000005" p1="8" p2="19" p3="7" p4="9" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="1.6038666666666666" p1="8" p2="19" p3="7" p4="35" periodicity="3" phase="0"/>
				<Torsion k=".6527040000000001" p1="9" p2="7" p3="5" p4="25" periodicity="3" phase="0"/>
				<Torsion k=".66944" p1="9" p2="7" p3="5" p4="33" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="9" p2="26" p3="29" p4="16" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="9" p2="26" p3="29" p4="23" periodicity="3" phase="0"/>
				<Torsion k="5.0208" p1="9" p2="26" p3="29" p4="23" periodicity="2" phase="0"/>
				<Torsion k="1.046" p1="9" p2="26" p3="29" p4="27" periodicity="3" phase="0"/>
				<Torsion k="5.0208" p1="9" p2="26" p3="29" p4="27" periodicity="2" phase="0"/>
				<Torsion k="15.167" p1="10" p2="3" p3="2" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="11" p2="4" p3="2" p4="12" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="2.615" p1="11" p2="4" p3="14" p4="39" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="2.615" p1="11" p2="4" p3="14" p4="40" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="12" p2="2" p3="3" p4="13" periodicity="2" phase="3.141592653589793"/>
				<Torsion k="15.167" p1="12" p2="2" p3="4" p4="14" periodicity="2" phase="3.141592653589793"/>
				<Torsion k=".6527040000000001" p1="13" p2="8" p3="6" p4="20" periodicity="3" phase="0"/>
				<Torsion k=".6527040000000001" p1="13" p2="8" p3="6" p4="34" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="15" p2="28" p3="21" p4="42" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="15" p2="28" p3="22" p4="43" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="16" p2="29" p3="23" p4="44" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="16" p2="29" p3="27" p4="30" periodicity="3" phase="0"/>
				<Torsion k="0" p1="17" p2="30" p3="24" p4="45" periodicity="1" phase="0"/>
				<Torsion k="0" p1="17" p2="30" p3="27" p4="29" periodicity="1" phase="0"/>
				<Torsion k="0" p1="18" p2="30" p3="24" p4="45" periodicity="1" phase="0"/>
				<Torsion k="0" p1="18" p2="30" p3="27" p4="29" periodicity="1" phase="0"/>
				<Torsion k=".602496" p1="19" p2="7" p3="5" p4="25" periodicity="3" phase="0"/>
				<Torsion k="4.916200000000001" p1="19" p2="7" p3="5" p4="25" periodicity="2" phase="0"/>
				<Torsion k="0" p1="19" p2="7" p3="5" p4="33" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="19" p2="7" p3="5" p4="33" periodicity="1" phase="0"/>
				<Torsion k=".602496" p1="19" p2="7" p3="9" p4="26" periodicity="3" phase="0"/>
				<Torsion k="4.916200000000001" p1="19" p2="7" p3="9" p4="26" periodicity="2" phase="0"/>
				<Torsion k="0" p1="19" p2="7" p3="9" p4="37" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="19" p2="7" p3="9" p4="37" periodicity="1" phase="0"/>
				<Torsion k="0" p1="19" p2="7" p3="9" p4="38" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="19" p2="7" p3="9" p4="38" periodicity="1" phase="0"/>
				<Torsion k=".602496" p1="19" p2="8" p3="6" p4="20" periodicity="3" phase="0"/>
				<Torsion k="4.916200000000001" p1="19" p2="8" p3="6" p4="20" periodicity="2" phase="0"/>
				<Torsion k="0" p1="19" p2="8" p3="6" p4="34" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="19" p2="8" p3="6" p4="34" periodicity="1" phase="0"/>
				<Torsion k=".602496" p1="20" p2="6" p3="5" p4="25" periodicity="3" phase="0"/>
				<Torsion k="4.916200000000001" p1="20" p2="6" p3="5" p4="25" periodicity="2" phase="0"/>
				<Torsion k="0" p1="20" p2="6" p3="5" p4="33" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="20" p2="6" p3="5" p4="33" periodicity="1" phase="0"/>
				<Torsion k="0" p1="20" p2="6" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="20" p2="6" p3="8" p4="36" periodicity="1" phase="0"/>
				<Torsion k="3.138" p1="21" p2="28" p3="22" p4="43" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="22" p2="28" p3="21" p4="42" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="23" p2="29" p3="27" p4="30" periodicity="3" phase="0"/>
				<Torsion k="0" p1="24" p2="30" p3="27" p4="29" periodicity="1" phase="0"/>
				<Torsion k="0" p1="25" p2="5" p3="6" p4="34" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="25" p2="5" p3="6" p4="34" periodicity="1" phase="0"/>
				<Torsion k="0" p1="25" p2="5" p3="7" p4="35" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="25" p2="5" p3="7" p4="35" periodicity="1" phase="0"/>
				<Torsion k="3.138" p1="25" p2="28" p3="21" p4="42" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="25" p2="28" p3="22" p4="43" periodicity="3" phase="0"/>
				<Torsion k="0" p1="26" p2="9" p3="7" p4="35" periodicity="3" phase="0"/>
				<Torsion k="1.046" p1="26" p2="9" p3="7" p4="35" periodicity="1" phase="0"/>
				<Torsion k="3.138" p1="26" p2="29" p3="23" p4="44" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="26" p2="29" p3="27" p4="30" periodicity="3" phase="0"/>
				<Torsion k="3.138" p1="27" p2="29" p3="23" p4="44" periodicity="3" phase="0"/>
				<Torsion k="0" p1="27" p2="30" p3="24" p4="45" periodicity="1" phase="0"/>
				<Torsion k="1.6038666666666666" p1="28" p2="25" p3="5" p4="33" periodicity="3" phase="0"/>
				<Torsion k="1.6038666666666666" p1="29" p2="26" p3="9" p4="37" periodicity="3" phase="0"/>
				<Torsion k="1.6038666666666666" p1="29" p2="26" p3="9" p4="38" periodicity="3" phase="0"/>
				<Torsion k=".6276" p1="33" p2="5" p3="6" p4="34" periodicity="3" phase="0"/>
				<Torsion k=".6276" p1="33" p2="5" p3="7" p4="35" periodicity="3" phase="0"/>
				<Torsion k=".6276" p1="34" p2="6" p3="8" p4="36" periodicity="3" phase="0"/>
				<Torsion k=".6973333333333334" p1="34" p2="6" p3="20" p4="41" periodicity="3" phase="0"/>
				<Torsion k=".6276" p1="35" p2="7" p3="9" p4="37" periodicity="3" phase="0"/>
				<Torsion k=".6276" p1="35" p2="7" p3="9" p4="38" periodicity="3" phase="0"/>
			</Torsions>
		</Force>
		<Force forceGroup="0" type="HarmonicAngleForce" usesPeriodic="0" version="2">
			<Angles>
				<Angle a="2.0943951023931953" k="585.76" p1="0" p2="10" p3="3"/>
				<Angle a="2.0943951023931953" k="585.76" p1="0" p2="11" p3="4"/>
				<Angle a="2.0943951023931953" k="585.76" p1="1" p2="12" p3="2"/>
				<Angle a="2.0943951023931953" k="585.76" p1="1" p2="13" p3="3"/>
				<Angle a="2.0943951023931953" k="585.76" p1="1" p2="13" p3="8"/>
				<Angle a="2.0943951023931953" k="585.76" p1="2" p2="3" p3="10"/>
				<Angle a="2.0943951023931953" k="585.76" p1="2" p2="3" p3="13"/>
				<Angle a="2.0943951023931953" k="585.76" p1="2" p2="4" p3="11"/>
				<Angle a="2.0943951023931953" k="585.76" p1="2" p2="4" p3="14"/>
				<Angle a="2.0943951023931953" k="585.76" p1="3" p2="2" p3="4"/>
				<Angle a="2.0943951023931953" k="585.76" p1="3" p2="2" p3="12"/>
				<Angle a="2.0943951023931953" k="585.76" p1="3" p2="13" p3="8"/>
				<Angle a="2.2689280275926285" k="585.76" p1="4" p2="2" p3="12"/>
				<Angle a="2.0943951023931953" k="418.40000000000003" p1="4" p2="14" p3="39"/>
				<Angle a="2.0943951023931953" k="418.40000000000003" p1="4" p2="14" p3="40"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="6" p3="8"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="6" p3="20"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="6" p3="34"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="7" p3="9"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="7" p3="19"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="5" p2="7" p3="35"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="5" p2="25" p3="28"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="5" p3="7"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="5" p3="25"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="5" p3="33"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="8" p3="13"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="8" p3="19"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="6" p2="8" p3="36"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="6" p2="20" p3="41"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="7" p2="5" p3="25"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="7" p2="5" p3="33"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="7" p2="9" p3="26"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="7" p2="9" p3="37"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="7" p2="9" p3="38"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="7" p2="19" p3="8"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="8" p2="6" p3="20"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="8" p2="6" p3="34"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="9" p2="7" p3="19"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="9" p2="7" p3="35"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="9" p2="26" p3="29"/>
				<Angle a="2.0943951023931953" k="585.76" p1="10" p2="0" p3="11"/>
				<Angle a="2.0943951023931953" k="418.40000000000003" p1="10" p2="0" p3="31"/>
				<Angle a="2.2689280275926285" k="585.76" p1="10" p2="3" p3="13"/>
				<Angle a="2.0943951023931953" k="418.40000000000003" p1="11" p2="0" p3="31"/>
				<Angle a="2.0943951023931953" k="585.76" p1="11" p2="4" p3="14"/>
				<Angle a="2.0943951023931953" k="585.76" p1="12" p2="1" p3="13"/>
				<Angle a="2.181661564992912" k="585.76" p1="12" p2="1" p3="32"/>
				<Angle a="2.181661564992912" k="585.76" p1="13" p2="1" p3="32"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="13" p2="8" p3="19"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="13" p2="8" p3="36"/>
				<Angle a="1.911135530933791" k="585.76" p1="15" p2="28" p3="21"/>
				<Angle a="1.911135530933791" k="585.76" p1="15" p2="28" p3="22"/>
				<Angle a="1.911135530933791" k="585.76" p1="15" p2="28" p3="25"/>
				<Angle a="1.911135530933791" k="585.76" p1="16" p2="29" p3="23"/>
				<Angle a="1.911135530933791" k="585.76" p1="16" p2="29" p3="26"/>
				<Angle a="1.911135530933791" k="585.76" p1="16" p2="29" p3="27"/>
				<Angle a="1.911135530933791" k="585.76" p1="17" p2="30" p3="18"/>
				<Angle a="1.911135530933791" k="585.76" p1="17" p2="30" p3="24"/>
				<Angle a="1.911135530933791" k="585.76" p1="17" p2="30" p3="27"/>
				<Angle a="1.911135530933791" k="585.76" p1="18" p2="30" p3="24"/>
				<Angle a="1.911135530933791" k="585.76" p1="18" p2="30" p3="27"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="19" p2="7" p3="35"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="19" p2="8" p3="36"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="20" p2="6" p3="34"/>
				<Angle a="1.911135530933791" k="585.76" p1="21" p2="28" p3="22"/>
				<Angle a="1.911135530933791" k="585.76" p1="21" p2="28" p3="25"/>
				<Angle a="1.911135530933791" k="585.76" p1="22" p2="28" p3="25"/>
				<Angle a="1.911135530933791" k="585.76" p1="23" p2="29" p3="26"/>
				<Angle a="1.911135530933791" k="585.76" p1="23" p2="29" p3="27"/>
				<Angle a="1.911135530933791" k="502.08000000000004" p1="24" p2="30" p3="27"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="25" p2="5" p3="33"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="26" p2="9" p3="37"/>
				<Angle a="1.911135530933791" k="418.40000000000003" p1="26" p2="9" p3="38"/>
				<Angle a="1.911135530933791" k="585.76" p1="26" p2="29" p3="27"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="28" p2="21" p3="42"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="28" p2="22" p3="43"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="29" p2="23" p3="44"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="29" p2="27" p3="30"/>
				<Angle a="1.9722220547535925" k="418.40000000000003" p1="30" p2="24" p3="45"/>
				<Angle a="1.911135530933791" k="292.88" p1="37" p2="9" p3="38"/>
				<Angle a="2.0943951023931953" k="418.40000000000003" p1="39" p2="14" p3="40"/>
			</Angles>
		</Force>
		<Force forceGroup="0" type="HarmonicBondForce" usesPeriodic="0" version="2">
			<Bonds>
				<Bond d=".134" k="401664" p1="0" p2="10"/>
				<Bond d=".134" k="401664" p1="0" p2="11"/>
				<Bond d=".10800000000000001" k="307105.6" p1="0" p2="31"/>
				<Bond d=".13" k="443504" p1="1" p2="12"/>
				<Bond d=".13799999999999998" k="357313.6" p1="1" p2="13"/>
				<Bond d=".10800000000000001" k="307105.6" p1="1" p2="32"/>
				<Bond d=".13999999999999999" k="392459.19999999995" p1="2" p2="3"/>
				<Bond d=".13999999999999999" k="392459.19999999995" p1="2" p2="4"/>
				<Bond d=".13899999999999998" k="343088" p1="2" p2="12"/>
				<Bond d=".134" k="401664" p1="3" p2="10"/>
				<Bond d=".13799999999999998" k="357313.6" p1="3" p2="13"/>
				<Bond d=".134" k="401664" p1="4" p2="11"/>
				<Bond d=".13799999999999998" k="357313.6" p1="4" p2="14"/>
				<Bond d=".1526" k="259408" p1="5" p2="6"/>
				<Bond d=".1526" k="259408" p1="5" p2="7"/>
				<Bond d=".137" k="267776" p1="5" p2="25"/>
				<Bond d=".10900000000000001" k="284512" p1="5" p2="33"/>
				<Bond d=".1526" k="259408" p1="6" p2="8"/>
				<Bond d=".141" k="267776" p1="6" p2="20"/>
				<Bond d=".10900000000000001" k="284512" p1="6" p2="34"/>
				<Bond d=".1526" k="259408" p1="7" p2="9"/>
				<Bond d=".137" k="267776" p1="7" p2="19"/>
				<Bond d=".10900000000000001" k="284512" p1="7" p2="35"/>
				<Bond d=".147" k="307105.6" p1="8" p2="13"/>
				<Bond d=".137" k="267776" p1="8" p2="19"/>
				<Bond d=".10900000000000001" k="284512" p1="8" p2="36"/>
				<Bond d=".137" k="267776" p1="9" p2="26"/>
				<Bond d=".10900000000000001" k="284512" p1="9" p2="37"/>
				<Bond d=".10900000000000001" k="284512" p1="9" p2="38"/>
				<Bond d=".101" k="363171.19999999995" p1="14" p2="39"/>
				<Bond d=".101" k="363171.19999999995" p1="14" p2="40"/>
				<Bond d=".148" k="439320" p1="15" p2="28"/>
				<Bond d=".148" k="439320" p1="16" p2="29"/>
				<Bond d=".144" k="251040" p1="17" p2="30"/>
				<Bond d=".144" k="251040" p1="18" p2="30"/>
				<Bond d=".096" k="462750.39999999997" p1="20" p2="41"/>
				<Bond d=".16100000000000003" k="192464" p1="21" p2="28"/>
				<Bond d=".096" k="462750.39999999997" p1="21" p2="42"/>
				<Bond d=".16100000000000003" k="192464" p1="22" p2="28"/>
				<Bond d=".096" k="462750.39999999997" p1="22" p2="43"/>
				<Bond d=".16100000000000003" k="192464" p1="23" p2="29"/>
				<Bond d=".096" k="462750.39999999997" p1="23" p2="44"/>
				<Bond d=".15960000000000002" k="251040" p1="24" p2="30"/>
				<Bond d=".096" k="462750.39999999997" p1="24" p2="45"/>
				<Bond d=".16100000000000003" k="192464" p1="25" p2="28"/>
				<Bond d=".16100000000000003" k="192464" p1="26" p2="29"/>
				<Bond d=".16100000000000003" k="192464" p1="27" p2="29"/>
				<Bond d=".15960000000000002" k="251040" p1="27" p2="30"/>
			</Bonds>
		</Force>
	</Forces>
</System>

j-wags avatar Jul 02 '19 02:07 j-wags

Right, that was the other thing I was forgetting: We had crashes with GAFF, too, when simulating sulfonic acids in such environments.

I had thought we'd not have crashes with SMIRNOFF due to having a nonzero LJ paraeters on hydroxyl hydrogens, but I'd have to check if the hydroxyl LJ parameters get applied here.

davidlmobley avatar Jul 02 '19 02:07 davidlmobley

Why do H11 through H15 have Lennard-Jones epsilon parameters that are several orders of magnitude smaller than everything else?

				<Particle eps=".0002204968" q=".4357999861240387" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".487199991941452" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".487199991941452" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".4887999892234802" sig=".053453923088420355"/>
				<Particle eps=".0002204968" q=".5095000267028809" sig=".053453923088420355"/>

These appear to be hydrogens on the phosphates.

@j-wags : If you have a script to reproduce this, perhaps you can just try making the eps larger for these (say 0.065) and see if they still crash at 2 fs?

jchodera avatar Jul 02 '19 02:07 jchodera

@jchodera see SMIRNOFF paper SI section 3 . These are small because AMBER formerly had them as zero, and for smirnoff99Frosst we essentially made them just nonzero enough to remove crashes without significantly perturbing densities, etc. The plan was/is to refit these values when doing condensed phase properties -- it's likely they should be larger, but would have perturbed MANY properties if we'd made them larger without doing a refit of other parameters at the same time.

It is possible that these only are large enough to remove crashes when in proximity to typical oxygens and in phosphate environments there are other differences which mean the crashes are still there. I doubt it though; I expect the issue is more that the wonky angle results in really weird geometries which have very rough energy landscapes and encounter large forces even after only very small perturbations.

(For what it's worth, for the paper I was actually able to use OpenMM to compute the energy landscape for pulling two neutral acids -- acetic acid IIRC -- together in a dimer (subtracting out the restraint energy) and showed that with typical AMBER parameters, the energy becomes infinite and negative as the proton approaches the other oxygen, and the barrier was not that large, so such "fusion" of acid dimers would not be uncommon in simulations -- consistent with what Chris and I had observed before. I found that adding even a small nonzero parameter here removed those issues entirely.)

davidlmobley avatar Jul 02 '19 15:07 davidlmobley

It is possible that these only are large enough to remove crashes when in proximity to typical oxygens and in phosphate environments there are other differences which mean the crashes are still there. I doubt it though; I expect the issue is more that the wonky angle results in really weird geometries which have very rough energy landscapes and encounter large forces even after only very small perturbations.

Should be easy to test if @j-wags can post his test code.

jchodera avatar Jul 02 '19 21:07 jchodera

Sorry, got caught up in a few other things.

Reproducing test code:

from openforcefield.topology import Molecule, Topology
from openforcefield.typing.engines.smirnoff import ForceField
from openforcefield.utils import get_data_file_path
offmol = Molecule('DB2592_minIssue_conf1.mol2')
off_top = Topology.from_molecules([offmol])
ff = ForceField(get_data_file_path('test_forcefields/smirnoff99Frosst.offxml'))
omm_system = ff.create_openmm_system(off_top, charge_from_molecules=[offmol])

from simtk import openmm, unit

# Propagate the System with Langevin dynamics.
time_step = 2*unit.femtoseconds  # simulation timestep
temperature = 300*unit.kelvin  # simulation temperature
friction = 1/unit.picosecond  # collision rate
integrator = openmm.LangevinIntegrator(temperature, friction, time_step)

# Length of the simulation.
num_steps = 1000  # number of integration steps to run

# Logging options.
trj_freq = 1  # number of steps per written trajectory frame
data_freq = 1  # number of steps per written simulation statistics

# Set up an OpenMM simulation.
omm_topology = off_top.to_openmm()
simulation = openmm.app.Simulation(omm_topology, omm_system, integrator)

# Set the initial positions.
#positions = pdbfile.getPositions() 
simulation.context.setPositions(offmol.conformers[0])


# Randomize the velocities from a Boltzmann distribution at a given temperature.
simulation.context.setVelocitiesToTemperature(temperature)

# Configure the information in the output files.
pdb_reporter = openmm.app.PDBReporter('trajectory.pdb', trj_freq)
state_data_reporter = openmm.app.StateDataReporter('data.csv', data_freq, step=True,
                                                   potentialEnergy=True, temperature=True,
                                                   density=True)
simulation.reporters.append(pdb_reporter)
simulation.reporters.append(state_data_reporter)


# Run the simulation
simulation.step(num_steps)

Contents of DB2592_minIssue_conf1.mol2 are posted in my previous comment (just the first conformer from the molecules posted in the original issue)

j-wags avatar Jul 02 '19 22:07 j-wags

This is quite old and may be resolved in the several generations of force field development of the past four years, so I'm closing it now. If there are new issues with these chemistries they can be reported here or at https://github.com/orgs/openforcefield/discussions

mattwthompson avatar Jul 26 '23 13:07 mattwthompson