shirtsgroup / InterMol

Conversion tool for molecular simulations
MIT License
185 stars 53 forks source link

InterMol unable to recognize when the molecule tag for each atom at least when converting to gromacs files #350

Open JoshuaSBrown opened 5 years ago

JoshuaSBrown commented 5 years ago

E.g. Here is a section from a lammps.data file that is in the Atoms section notice that the molecular tag changes at atoms 517 to 518.

      513         1       10  -0.02660800   -18.795860   -17.866504     6.424540 #    HC
      514         1        8  -0.33129100   -18.695024   -15.769852     6.844219 #    CT
      515         1       10   0.07227600   -17.793134   -15.818433     7.454617 #    HC
      516         1       10   0.07227600   -18.701067   -14.816105     6.317202 #    HC
      517         1       10   0.08113100   -19.555138   -15.794549     7.513446 #    HC
      518         2        1   0.20660700   -43.466510    24.465123   -45.923757 #    CB
      519         2        1  -0.17133700   -44.295471    23.901868   -44.989479 #    CB
      520         2        2   0.04657400   -43.113915    23.781029   -47.097746 #    CA
      521         2        3  -0.27708900   -43.052059    25.775495   -45.552924 #    CS
      522         2        2   0.30839100   -44.801953    22.606565   -45.175180 #    CA

And here is the output from the converted gromacs file created using intermol:

    1R01  A201   513  -1.879586000000  -1.786650400000   0.642454000000
    1R01  A202   514  -1.869502400000  -1.576985200000   0.684421900000
    1R01  A203   515  -1.779313400000  -1.581843300000   0.745461700000
    1R01  A204   516  -1.870106700000  -1.481610500000   0.631720200000
    1R01  A205   517  -1.955513800000  -1.579454900000   0.751344600000
    1R01  A206   518  -4.346651000000   2.446512300000  -4.592375700000
    1R01  A207   519  -4.429547100000   2.390186800000  -4.498947900000
    1R01  A208   520  -4.311391500000   2.378102900000  -4.709774600000
    1R01  A209   521  -4.305205900000   2.577549500000  -4.555292400000
    1R01  A20a   522  -4.480195300000   2.260656500000  -4.517518000000

Notice that the residue number has not been changed to indicate that the atoms are on a separate molecule. They are all considered to be on residue 1.

ctk3b commented 5 years ago

It's been a while but at a quick glance, I do not think we ever got around to implementing this in the LAMMPS parser: https://github.com/shirtsgroup/InterMol/blob/master/intermol/lammps/lammps_parser.py#L401

https://github.com/shirtsgroup/InterMol/blob/master/intermol/lammps/lammps_parser.py#L394

JoshuaSBrown commented 5 years ago

Just a heads up, I have just been made aware that there is this package that provides file parsing capabilities for several molecular dynamics file types. You might already be aware.

https://www.mdanalysis.org/docs/documentation_pages/topology/init.html

And I'll see if I can fix the issue.

ctk3b commented 5 years ago

Last I checked MDAnalysis did not read or convert forcefield parameters but it's been a while since I tried it.

The other package that we've been involved in is https://github.com/ParmEd/ParmEd which does perform full forcefield parameter conversions but does not yet support LAMMPS. ParmEd is actually how InterMol operates on Amber files: https://github.com/shirtsgroup/InterMol/blob/master/intermol/convert.py#L641