Repository 'gmx_trj'
hg clone https://toolshed.g2.bx.psu.edu/repos/chemteam/gmx_trj

Changeset 2:b2acdbff8dfb (2020-04-15)
Previous changeset 1:e9cc595562b8 (2020-02-13) Next changeset 3:6ac5f450ad31 (2020-05-08)
Commit message:
"planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/tools/gromacs commit 71a3084d6e402b31563b1662bb629d5a959ce7b7"
modified:
merge_top.py
added:
test-data/complex.gro
test-data/complex.top
test-data/lig.gro
test-data/lig.itp
removed:
test-data/top_output.top
b
diff -r e9cc595562b8 -r b2acdbff8dfb merge_top.py
--- a/merge_top.py Thu Feb 13 03:51:40 2020 -0500
+++ b/merge_top.py Wed Apr 15 14:14:07 2020 -0400
[
@@ -1,38 +1,65 @@
-import re
-import sys
+import argparse
+
+import parmed as pmd
 
 
-def combine_tops(top_text, itp_texts):
-    """
-    Search through parent topology top_text and replace
-    #include lines with the relevant child topologies
-    from the dictionary itp_texts
-    """
-    for itp in itp_texts:
-        # split on include string, then rejoin around itp file
-        spl = re.split('#include ".*{}"\n'.format(itp), top_text)
-        top_text = itp_texts[itp].join(spl)
-    return top_text
+def merge_gro_files(prot_gro, lig_gro, cmplx_gro):
+    prot = pmd.load_file(prot_gro)
+    lig = pmd.load_file(lig_gro)
+    cmplx = prot + lig
+    cmplx.save(cmplx_gro)
 
 
-top = sys.argv[1]  # parent topology file
-itps_file = sys.argv[2]  # file with list of child topologies (.itp files)
+def merge_top_files(prot_top, lig_top, cmplx_top):
+    with open(lig_top, 'r') as f:
+        lig_top_sections = f.read().split('\n[')
 
-with open(itps_file) as f:
-    itps = f.read().split()
-
-with open(top, 'r') as f:
-    top_text = f.read()
+    # open ligand topology
+    for n in range(len(lig_top_sections)):
+        if 'atomtypes' in lig_top_sections[n][:10]:
+            lig_atomtypes = lig_top_sections[n]
+            del lig_top_sections[n]
+            break
+    else:
+        lig_atomtypes = None
+    lig_top_updated = '\n['.join(lig_top_sections)
 
-itp_texts = {}  # create dictionary of child topologies
-for itp in itps:
-    with open(itp, 'r') as f:
-        itp_texts[itp] = f.read()
+    # open protein topology
+    with open(prot_top, 'r') as f:
+        prot_top_combined = f.read()
+    if lig_atomtypes:
+        prot_top_sections = prot_top_combined.split('[ moleculetype ]\n')
+        prot_top_combined = (prot_top_sections[0] +
+                             '; Include ligand atomtypes\n[' +
+                             lig_atomtypes +
+                             '\n[ moleculetype ]\n' +
+                             prot_top_sections[1])
+    prot_top_sections = prot_top_combined.split('; Include water topology')
+    prot_top_combined = (prot_top_sections[0] +
+                         '; Include ligand topology\n' +
+                         lig_top_updated +
+                         '\n; Include water topology' +
+                         prot_top_sections[1])
+    prot_top_combined += 'base     1\n'
 
-for itp in itp_texts:
-    # child tops may also refer to each other; we need to check this
-    itp_texts[itp] = combine_tops(itp_texts[itp], itp_texts)
+    # save complex topology
+    with open(cmplx_top, 'w') as f:
+        f.write(prot_top_combined)
+
 
-with open('top_output.top', 'w') as f:
-    # now combine all children into the parent
-    f.write(combine_tops(top_text, itp_texts))
+def main():
+    parser = argparse.ArgumentParser(
+        description='Perform SMD runs for dynamic undocking')
+    parser.add_argument('--lig-top', help='Ligand TOP file.')
+    parser.add_argument('--prot-top', help='Protein TOP file.')
+    parser.add_argument('--lig-gro', help='Ligand GRO file.')
+    parser.add_argument('--prot-gro', help='Protein GRO file.')
+    parser.add_argument('--complex-top', help='Complex TOP file.')
+    parser.add_argument('--complex-gro', help='Complex GRO file.')
+    args = parser.parse_args()
+    merge_gro_files(args.prot_gro, args.lig_gro, args.complex_gro)
+    merge_top_files(args.prot_top, args.lig_top, args.complex_top)
+
+
+if __name__ == "__main__":
+    main()
b
diff -r e9cc595562b8 -r b2acdbff8dfb test-data/complex.gro
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/complex.gro Wed Apr 15 14:14:07 2020 -0400
b
b'@@ -0,0 +1,2218 @@\n+GROningen MAchine for Chemical Simulation\n+ 2215\n+    1LYS      N    1   4.434   3.396   2.469\n+    1LYS     H1    2   4.510   3.450   2.431\n+    1LYS     H2    3   4.368   3.376   2.397\n+    1LYS     H3    4   4.390   3.448   2.542\n+    1LYS     CA    5   4.487   3.269   2.524\n+    1LYS     HA    6   4.531   3.217   2.451\n+    1LYS     CB    7   4.585   3.306   2.636\n+    1LYS    HB1    8   4.661   3.357   2.597\n+    1LYS    HB2    9   4.537   3.363   2.703\n+    1LYS     CG   10   4.643   3.187   2.711\n+    1LYS    HG1   11   4.574   3.151   2.773\n+    1LYS    HG2   12   4.668   3.116   2.644\n+    1LYS     CD   13   4.767   3.227   2.790\n+    1LYS    HD1   14   4.843   3.245   2.727\n+    1LYS    HD2   15   4.747   3.309   2.843\n+    1LYS     CE   16   4.804   3.113   2.883\n+    1LYS    HE1   17   4.739   3.108   2.959\n+    1LYS    HE2   18   4.804   3.026   2.834\n+    1LYS     NZ   19   4.940   3.139   2.937\n+    1LYS    HZ1   20   4.967   3.065   2.999\n+    1LYS    HZ2   21   5.006   3.144   2.861\n+    1LYS    HZ3   22   4.940   3.226   2.987\n+    1LYS      C   23   4.372   3.188   2.583\n+    1LYS      O   24   4.293   3.243   2.659\n+    2VAL      N   25   4.372   3.058   2.563\n+    2VAL      H   26   4.434   3.022   2.493\n+    2VAL     CA   27   4.288   2.962   2.634\n+    2VAL     HA   28   4.215   3.014   2.677\n+    2VAL     CB   29   4.212   2.865   2.544\n+    2VAL     HB   30   4.284   2.814   2.497\n+    2VAL    CG1   31   4.123   2.770   2.624\n+    2VAL   HG11   32   4.075   2.709   2.561\n+    2VAL   HG12   33   4.180   2.717   2.686\n+    2VAL   HG13   34   4.056   2.823   2.676\n+    2VAL    CG2   35   4.127   2.933   2.438\n+    2VAL   HG21   36   4.081   2.864   2.383\n+    2VAL   HG22   37   4.060   2.992   2.482\n+    2VAL   HG23   38   4.186   2.989   2.379\n+    2VAL      C   39   4.378   2.893   2.738\n+    2VAL      O   40   4.474   2.823   2.701\n+    3PHE      N   41   4.347   2.917   2.863\n+    3PHE      H   42   4.273   2.981   2.883\n+    3PHE     CA   43   4.417   2.852   2.975\n+    3PHE     HA   44   4.513   2.859   2.950\n+    3PHE     CB   45   4.395   2.925   3.108\n+    3PHE    HB1   46   4.303   2.964   3.109\n+    3PHE    HB2   47   4.404   2.860   3.183\n+    3PHE     CG   48   4.492   3.036   3.129\n+    3PHE    CD1   49   4.465   3.167   3.087\n+    3PHE    HD1   50   4.379   3.187   3.040\n+    3PHE    CD2   51   4.598   3.018   3.220\n+    3PHE    HD2   52   4.611   2.928   3.262\n+    3PHE    CE1   53   4.556   3.270   3.110\n+    3PHE    HE1   54   4.546   3.357   3.063\n+    3PHE    CE2   55   4.685   3.121   3.251\n+    3PHE    HE2   56   4.764   3.104   3.310\n+    3PHE     CZ   57   4.662   3.249   3.200\n+    3PHE     HZ   58   4.720   3.326   3.228\n+    3PHE      C   59   4.372   2.706   2.990\n+    3PHE      O   60   4.250   2.678   2.981\n+    4GLY      N   61   4.470   2.626   3.034\n+    4GLY      H   62   4.565   2.657   3.035\n+    4GLY     CA   63   4.435   2.490   3.080\n+    4GLY    HA1   64   4.360   2.454   3.024\n+    4GLY    HA2   65   4.514   2.430   3.073\n+    4GLY      C   66   4.390   2.504   3.225\n+    4GLY      O   67   4.428   2.602   3.289\n+    5ARG      N   68   4.303   2.416   3.270\n+    5ARG      H   69   4.269   2.346   3.207\n+    5ARG     CA   70   4.254   2.416   3.408\n+    5ARG     HA   71   4.196   2.496   3.415\n+    5ARG     CB   72   4.174   2.288   3.434\n+    5ARG    HB1   73   4.098   2.284   3.370\n+    5ARG    HB2   74   4.234   2.209   3.420\n+    5ARG     CG   75   4.119   2.282   3.575\n+    5ARG    HG1   76   4.195   2.279   3.640\n+    5ARG    HG2   77   4.063   2.363   3.592\n+    5ARG     CD   78   4.036   2.162   3.595\n+    5ARG    HD1   79   4.002   2.161   3.689\n+    5ARG    HD2   80   3.958   2.167   3.532\n+    5ARG     NE   81   4.104   2.037   3.571\n+    5ARG     HE   82   4.100   2.002   3.478\n+    5ARG     CZ   83   4.171   1.963   3.657\n+    5ARG    NH1   84   4.182   1.995   3.786\n+    5ARG   HH11   85   4.137   2.078   3.820\n+    5ARG   HH12   8'..b'73   4.351\n+  186HOH    HW1 2130   4.376   4.473   4.408\n+  186HOH    HW2 2131   4.295   4.392   4.293\n+  187HOH     OW 2132   2.855   3.704   3.525\n+  187HOH    HW1 2133   2.774   3.704   3.583\n+  187HOH    HW2 2134   2.855   3.786   3.467\n+  188HOH     OW 2135   2.377   2.729   4.393\n+  188HOH    HW1 2136   2.295   2.729   4.451\n+  188HOH    HW2 2137   2.377   2.648   4.335\n+  189HOH     OW 2138   2.809   3.964   2.202\n+  189HOH    HW1 2139   2.809   4.046   2.145\n+  189HOH    HW2 2140   2.809   3.883   2.145\n+  190HOH     OW 2141   2.628   5.068   2.422\n+  190HOH    HW1 2142   2.710   5.068   2.479\n+  190HOH    HW2 2143   2.547   5.068   2.479\n+  191HOH     OW 2144   2.518   2.612   4.225\n+  191HOH    HW1 2145   2.599   2.612   4.282\n+  191HOH    HW2 2146   2.518   2.694   4.167\n+  192HOH     OW 2147   2.633   5.797   2.959\n+  192HOH    HW1 2148   2.714   5.797   3.017\n+  192HOH    HW2 2149   2.633   5.715   2.901\n+  193HOH     OW 2150   2.397   4.292   3.243\n+  193HOH    HW1 2151   2.316   4.292   3.301\n+  193HOH    HW2 2152   2.397   4.374   3.185\n+  194HOH     OW 2153   3.718   5.639   3.352\n+  194HOH    HW1 2154   3.636   5.639   3.410\n+  194HOH    HW2 2155   3.718   5.558   3.294\n+  195HOH     OW 2156   3.846   2.548   2.756\n+  195HOH    HW1 2157   3.846   2.630   2.699\n+  195HOH    HW2 2158   3.846   2.467   2.699\n+  196HOH     OW 2159   3.259   5.643   3.928\n+  196HOH    HW1 2160   3.341   5.643   3.986\n+  196HOH    HW2 2161   3.178   5.643   3.986\n+  197HOH     OW 2162   4.955   3.380   3.031\n+  197HOH    HW1 2163   5.037   3.380   3.089\n+  197HOH    HW2 2164   4.955   3.462   2.973\n+  198HOH     OW 2165   2.145   4.348   3.044\n+  198HOH    HW1 2166   2.227   4.348   3.102\n+  198HOH    HW2 2167   2.145   4.266   2.987\n+  199HOH     OW 2168   2.566   2.521   3.084\n+  199HOH    HW1 2169   2.485   2.521   3.142\n+  199HOH    HW2 2170   2.566   2.603   3.026\n+  200HOH     OW 2171   3.651   4.968   2.381\n+  200HOH    HW1 2172   3.570   4.968   2.439\n+  200HOH    HW2 2173   3.651   4.886   2.323\n+  201HOH     OW 2174   3.487   4.759   4.823\n+  201HOH    HW1 2175   3.487   4.841   4.766\n+  201HOH    HW2 2176   3.487   4.678   4.766\n+  202HOH     OW 2177   3.377   3.680   5.273\n+  202HOH    HW1 2178   3.459   3.680   5.331\n+  202HOH    HW2 2179   3.295   3.680   5.331\n+  203HOH     OW 2180   2.156   3.283   4.168\n+  203HOH    HW1 2181   2.238   3.283   4.225\n+  203HOH    HW2 2182   2.156   3.365   4.110\n+  204HOH     OW 2183   2.867   3.537   3.182\n+  204HOH    HW1 2184   2.948   3.537   3.240\n+  204HOH    HW2 2185   2.867   3.455   3.124\n+  205HOH     OW 2186   3.608   4.758   2.431\n+  205HOH    HW1 2187   3.526   4.758   2.489\n+  205HOH    HW2 2188   3.608   4.839   2.373\n+  206HOH     OW 2189   4.624   2.125   4.667\n+  206HOH    HW1 2190   4.542   2.125   4.725\n+  206HOH    HW2 2191   4.624   2.044   4.609\n+  207HOH     OW 2192   5.274   3.546   4.471\n+  207HOH    HW1 2193   5.274   3.628   4.413\n+  207HOH    HW2 2194   5.274   3.465   4.413\n+  208G5E     C1 2195   6.456   3.250   2.707\n+  208G5E     C2 2196   6.330   3.283   2.656\n+  208G5E     C3 2197   6.321   3.361   2.541\n+  208G5E     C7 2198   6.426   3.498   2.362\n+  208G5E    C10 2199   6.449   3.677   2.236\n+  208G5E    C12 2200   6.570   3.684   2.448\n+  208G5E    C13 2201   6.707   3.692   2.422\n+  208G5E    C14 2202   6.793   3.751   2.516\n+  208G5E    C15 2203   6.742   3.801   2.635\n+  208G5E    C16 2204   6.605   3.793   2.661\n+  208G5E     C4 2205   6.438   3.406   2.478\n+  208G5E     C5 2206   6.564   3.375   2.531\n+  208G5E     C6 2207   6.572   3.297   2.645\n+  208G5E     N8 2208   6.353   3.478   2.256\n+  208G5E     N9 2209   6.368   3.590   2.173\n+  208G5E    N11 2210   6.485   3.623   2.353\n+  208G5E    C17 2211   6.519   3.734   2.568\n+  208G5E    S18 2212   6.498   3.829   2.176\n+  208G5E    F19 2213   6.755   3.642   2.306\n+  208G5E    O20 2214   6.199   3.392   2.489\n+  208G5E    O21 2215   6.465   3.175   2.819\n+   7.33925   7.33925   7.33925\n'
b
diff -r e9cc595562b8 -r b2acdbff8dfb test-data/complex.top
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/complex.top Wed Apr 15 14:14:07 2020 -0400
[
b'@@ -0,0 +1,18615 @@\n+;\n+;\tFile \'topol.top\' was generated\n+;\tBy user: unknown (1000)\n+;\tOn host: simon-notebook\n+;\tAt date: Wed Aug 28 14:35:18 2019\n+;\n+;\tThis is a standalone topology file\n+;\n+;\tCreated by:\n+;\t                    :-) GROMACS - gmx pdb2gmx, 2019.1 (-:\n+;\t\n+;\tExecutable:   /home/simon/miniconda3/envs/gmx/bin/gmx\n+;\tData prefix:  /home/simon/miniconda3/envs/gmx\n+;\tWorking dir:  /home/simon/Repos/galaxy-tools-compchem/tools/gromacs\n+;\tCommand line:\n+;\t  gmx pdb2gmx -f test-data/1AKI.pdb -o processed.gro -p topol.top -i posres.itp -water spce -ff oplsaa -noignh\n+;\tForce field was read from the standard GROMACS share directory.\n+;\n+\n+; Include forcefield parameters\n+#include "oplsaa.ff/forcefield.itp"\n+\n+; Include ligand atomtypes\n+[ atomtypes ]\n+;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb\n+ C        C           0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CZ       CZ          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CK       CK          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CM       CM          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CD       CD          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ NB       NB          0.00000  0.00000   A     3.25000e-01   7.11280e-01 ; 1.82  0.1700\n+ N*       N*          0.00000  0.00000   A     3.25000e-01   7.11280e-01 ; 1.82  0.1700\n+ DU       DU          0.00000  0.00000   A     0.00000e+00   0.00000e+00 ; 0.00  0.0000\n+ F        F           0.00000  0.00000   A     3.11815e-01   2.55224e-01 ; 1.75  0.0610\n+ O        O           0.00000  0.00000   A     2.95992e-01   8.78640e-01 ; 1.66  0.2100\n+\n+[ moleculetype ]\n+; Name            nrexcl\n+Protein_chain_A     3\n+\n+[ atoms ]\n+;   nr       type  resnr residue  atom   cgnr     charge       mass  typeB    chargeB      massB\n+; residue   1 LYS rtp LYSH q +2.0\n+     1   opls_287      1    LYS      N      1       -0.3    14.0027\n+     2   opls_290      1    LYS     H1      1       0.33      1.008\n+     3   opls_290      1    LYS     H2      1       0.33      1.008\n+     4   opls_290      1    LYS     H3      1       0.33      1.008\n+     5  opls_293B      1    LYS     CA      1       0.25     12.011\n+     6   opls_140      1    LYS     HA      1       0.06      1.008\n+     7   opls_136      1    LYS     CB      2      -0.12     12.011\n+     8   opls_140      1    LYS    HB1      2       0.06      1.008\n+     9   opls_140      1    LYS    HB2      2       0.06      1.008\n+    10   opls_136      1    LYS     CG      3      -0.12     12.011\n+    11   opls_140      1    LYS    HG1      3       0.06      1.008\n+    12   opls_140      1    LYS    HG2      3       0.06      1.008\n+    13   opls_136      1    LYS     CD      4      -0.12     12.011\n+    14   opls_140      1    LYS    HD1      4       0.06      1.008\n+    15   opls_140      1    LYS    HD2      4       0.06      1.008\n+    16   opls_292      1    LYS     CE      5       0.19     12.011\n+    17   opls_140      1    LYS    HE1      5       0.06      1.008\n+    18   opls_140      1    LYS    HE2      5       0.06      1.008\n+    19   opls_287      1    LYS     NZ      6       -0.3    14.0067\n+    20   opls_290      1    LYS    HZ1      6       0.33      1.008\n+    21   opls_290      1    LYS    HZ2      6       0.33      1.008\n+    22   opls_290      1    LYS    HZ3      6       0.33      1.008\n+    23   opls_235      1    LYS      C      7        0.5     12.011\n+    24   opls_236      1    LYS      O      7       -0.5    15.9994   ; qtot 2\n+; residue   2 VAL rtp VAL  q  0.0\n+    25   opls_238      2    VAL      N      8       -0.5    14.0067\n+    26   opls_241      2    VAL      H      8        0.3      1.008\n+    27  opls_224B      2    VAL     CA      8       0.14     12.011\n+    28   opls_140      2    VAL     HA      8       0.06      1.008\n+    29   opls_137      2    VAL     CB      9      -0.06     12.011'..b'   C12-   C13\n+     4     16      6     17      9   180.00   7.74040   2 ;     C7-   N11-   C12-   C17\n+     5     16      4     11      9   180.00   7.11280   2 ;    C10-   N11-    C7-    C4\n+     5     16      4     14      9   180.00   7.11280   2 ;    C10-   N11-    C7-    N8\n+     5     16      6      7      9   180.00   7.74040   2 ;    C10-   N11-   C12-   C13\n+     5     16      6     17      9   180.00   7.74040   2 ;    C10-   N11-   C12-   C17\n+     6      7      8      9      9   180.00   0.00000   2 ;    C12-   C13-   C14-   C15\n+     6     16      4     11      9   180.00   7.11280   2 ;    C12-   N11-    C7-    C4\n+     6     16      4     14      9   180.00   7.11280   2 ;    C12-   N11-    C7-    N8\n+     6     16      5     15      9   180.00   6.06680   2 ;    C12-   N11-   C10-    N9\n+     6     16      5     18      9   180.00   6.06680   2 ;    C12-   N11-   C10-   S18\n+     6     17     10      9      9   180.00   0.00000   2 ;    C12-   C17-   C16-   C15\n+     7      6     17     10      9   180.00   0.00000   2 ;    C13-   C12-   C17-   C16\n+     7      8      9     10      9   180.00   0.00000   2 ;    C13-   C14-   C15-   C16\n+     8      7      6     16      9   180.00  27.82360   2 ;    C14-   C13-   C12-   N11\n+     8      7      6     17      9   180.00  27.82360   2 ;    C14-   C13-   C12-   C17\n+     8      9     10     17      9   180.00   0.00000   2 ;    C14-   C15-   C16-   C17\n+     9      8      7     19      9   180.00   0.00000   2 ;    C15-   C14-   C13-   F19\n+    10     17      6     16      9   180.00   0.00000   2 ;    C16-   C17-   C12-   N11\n+    11      4     14     15      9   180.00  41.84000   2 ;     C4-    C7-    N8-    N9\n+    12     11      3     20      9   180.00  12.02900   2 ;     C5-    C4-    C3-   O20\n+    12     11      4     14      9   180.00  16.73600   2 ;     C5-    C4-    C7-    N8\n+    12     11      4     16      9   180.00  16.73600   2 ;     C5-    C4-    C7-   N11\n+    13      1      2      3      9   180.00   0.00000   2 ;     C6-    C1-    C2-    C3\n+    14     15      5     16      9   180.00  16.73600   2 ;     N8-    N9-   C10-   N11\n+    14     15      5     18      9   180.00  16.73600   2 ;     N8-    N9-   C10-   S18\n+    15     14      4     16      9   180.00  41.84000   2 ;     N9-    N8-    C7-   N11\n+    16      6      7     19      9   180.00  27.82360   2 ;    N11-   C12-   C13-   F19\n+    17      6      7     19      9   180.00  27.82360   2 ;    C17-   C12-   C13-   F19\n+    21      1      2      3      9   180.00   0.00000   2 ;    O21-    C1-    C2-    C3\n+    21      1     13     12      9   180.00   0.00000   2 ;    O21-    C1-    C6-    C5\n+\n+[ dihedrals ] ; impropers\n+; treated as propers in GROMACS to use correct AMBER analytical function\n+;    i      j      k      l   func   phase     kd      pn\n+     3      4     11     12      4   180.00   4.60240   2 ;     C3-    C7-    C4-    C5\n+     5      4     16      6      4   180.00   4.60240   2 ;    C10-    C7-   N11-   C12\n+     6      8      7     19      4   180.00   4.60240   2 ;    C12-   C14-   C13-   F19\n+     7     17      6     16      4   180.00   4.60240   2 ;    C13-   C17-   C12-   N11\n+    11      2      3     20      4   180.00  43.93200   2 ;     C4-    C2-    C3-   O20\n+    11     16      4     14      4   180.00   4.60240   2 ;     C4-   N11-    C7-    N8\n+    18     16      5     15      4   180.00   4.60240   2 ;    S18-   N11-   C10-    N9\n+    21      1     13      2      4   180.00  43.93200   2 ;    O21-    C1-    C6-    C2\n+\n+; Include water topology\n+#include "oplsaa.ff/spce.itp"\n+\n+#ifdef POSRES_WATER\n+; Position restraint for each water oxygen\n+[ position_restraints ]\n+;  i funct       fcx        fcy        fcz\n+   1    1       1000       1000       1000\n+#endif\n+\n+; Include topology for ions\n+#include "oplsaa.ff/ions.itp"\n+\n+[ system ]\n+; Name\n+LYSOZYME\n+\n+[ molecules ]\n+; Compound        #mols\n+Protein_chain_A     1\n+SOL                78\n+base     1\n'
b
diff -r e9cc595562b8 -r b2acdbff8dfb test-data/lig.gro
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lig.gro Wed Apr 15 14:14:07 2020 -0400
b
@@ -0,0 +1,24 @@
+base_GMX.gro created by acpype (v: 2019-11-07T23:16:00CET) on Fri Mar 20 14:38:01 2020
+ 21
+    1  G5E   C1    1   6.456   3.250   2.707
+    1  G5E   C2    2   6.330   3.283   2.656
+    1  G5E   C3    3   6.321   3.361   2.541
+    1  G5E   C7    4   6.426   3.498   2.362
+    1  G5E  C10    5   6.449   3.677   2.236
+    1  G5E  C12    6   6.570   3.684   2.448
+    1  G5E  C13    7   6.707   3.692   2.422
+    1  G5E  C14    8   6.793   3.751   2.516
+    1  G5E  C15    9   6.742   3.801   2.635
+    1  G5E  C16   10   6.605   3.793   2.661
+    1  G5E   C4   11   6.438   3.406   2.478
+    1  G5E   C5   12   6.564   3.375   2.531
+    1  G5E   C6   13   6.572   3.297   2.645
+    1  G5E   N8   14   6.353   3.478   2.256
+    1  G5E   N9   15   6.368   3.590   2.173
+    1  G5E  N11   16   6.485   3.623   2.353
+    1  G5E  C17   17   6.519   3.734   2.568
+    1  G5E  S18   18   6.498   3.829   2.176
+    1  G5E  F19   19   6.755   3.642   2.306
+    1  G5E  O20   20   6.199   3.392   2.489
+    1  G5E  O21   21   6.465   3.175   2.819
+   11.88000    13.08400    12.91800
b
diff -r e9cc595562b8 -r b2acdbff8dfb test-data/lig.itp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/lig.itp Wed Apr 15 14:14:07 2020 -0400
[
b'@@ -0,0 +1,202 @@\n+; base_GMX.itp created by acpype (v: 2019-11-07T23:16:00CET) on Fri Mar 20 14:38:01 2020\n+\n+[ atomtypes ]\n+;name   bond_type     mass     charge   ptype   sigma         epsilon       Amb\n+ C        C           0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CZ       CZ          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CK       CK          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CM       CM          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ CD       CD          0.00000  0.00000   A     3.39967e-01   3.59824e-01 ; 1.91  0.0860\n+ NB       NB          0.00000  0.00000   A     3.25000e-01   7.11280e-01 ; 1.82  0.1700\n+ N*       N*          0.00000  0.00000   A     3.25000e-01   7.11280e-01 ; 1.82  0.1700\n+ DU       DU          0.00000  0.00000   A     0.00000e+00   0.00000e+00 ; 0.00  0.0000\n+ F        F           0.00000  0.00000   A     3.11815e-01   2.55224e-01 ; 1.75  0.0610\n+ O        O           0.00000  0.00000   A     2.95992e-01   8.78640e-01 ; 1.66  0.2100\n+\n+[ moleculetype ]\n+;name            nrexcl\n+ base             3\n+\n+[ atoms ]\n+;   nr  type  resi  res  atom  cgnr     charge      mass       ; qtot   bond_type\n+     1    C     1   G5E    C1    1     0.545501     12.01000 ; qtot 0.546\n+     2   CZ     1   G5E    C2    2     0.075000     12.01000 ; qtot 0.621\n+     3    C     1   G5E    C3    3     0.508501     12.01000 ; qtot 1.129\n+     4   CK     1   G5E    C7    4     0.208200     12.01000 ; qtot 1.337\n+     5    C     1   G5E   C10    5     0.352800     12.01000 ; qtot 1.690\n+     6   CM     1   G5E   C12    6     0.002500     12.01000 ; qtot 1.693\n+     7   CM     1   G5E   C13    7     0.233400     12.01000 ; qtot 1.926\n+     8   CZ     1   G5E   C14    8    -0.087900     12.01000 ; qtot 1.838\n+     9   CZ     1   G5E   C15    9     0.072000     12.01000 ; qtot 1.910\n+    10   CZ     1   G5E   C16   10     0.028000     12.01000 ; qtot 1.938\n+    11   CD     1   G5E    C4   11    -0.048900     12.01000 ; qtot 1.889\n+    12   CZ     1   G5E    C5   12    -0.123300     12.01000 ; qtot 1.766\n+    13   CZ     1   G5E    C6   13    -0.161200     12.01000 ; qtot 1.605\n+    14   NB     1   G5E    N8   14    -0.082600     14.01000 ; qtot 1.522\n+    15   NB     1   G5E    N9   15    -0.125400     14.01000 ; qtot 1.397\n+    16   N*     1   G5E   N11   16    -0.261200     14.01000 ; qtot 1.135\n+    17   CZ     1   G5E   C17   17    -0.043900     12.01000 ; qtot 1.092\n+    18   DU     1   G5E   S18   18    -0.081400      0.00000 ; qtot 1.010\n+    19    F     1   G5E   F19   19    -0.100500     19.00000 ; qtot 0.910\n+    20    O     1   G5E   O20   20    -0.460300     16.00000 ; qtot 0.449\n+    21    O     1   G5E   O21   21    -0.449300     16.00000 ; qtot -0.000\n+\n+[ bonds ]\n+;   ai     aj funct   r             k\n+     1      2   1    1.4600e-01    3.1782e+05 ;     C1 - C2    \n+     1     13   1    1.4600e-01    3.1782e+05 ;     C1 - C6    \n+     1     21   1    1.2290e-01    4.7698e+05 ;     C1 - O21   \n+     2      3   1    1.4600e-01    3.1782e+05 ;     C2 - C3    \n+     3     11   1    1.4680e-01    3.1045e+05 ;     C3 - C4    \n+     3     20   1    1.2290e-01    4.7698e+05 ;     C3 - O20   \n+     4     11   1    1.4280e-01    3.5129e+05 ;     C7 - C4    \n+     4     14   1    1.3040e-01    4.4267e+05 ;     C7 - N8    \n+     4     16   1    1.3710e-01    3.6819e+05 ;     C7 - N11   \n+     5     15   1    1.3870e-01    3.4886e+05 ;    C10 - N9    \n+     5     16   1    1.3830e-01    3.5480e+05 ;    C10 - N11   \n+     5     18   1    0.0000e+00    0.0000e+00 ;    C10 - S18   \n+     6      7   1    1.3500e-01    4.5940e+05 ;    C12 - C13   \n+     6     16   1    1.3650e-01    3.7489e+05 ;    C12 - N11   \n+     6     17   1    1.4400e-01    3.3815e+05 ;    C12 - C17   \n+     7      8   1    1.4400e-01    3.3815e+05 ;    C13 - C14   \n+     7     19   1    1.3490e-01    2.9941e+05 ;    C13 - F19   \n+     8 '..b'C3-   O20\n+     4     11     12     13      9   180.00   0.00000   2 ;     C7-    C4-    C5-    C6\n+     4     14     15      5      9   180.00  16.73600   2 ;     C7-    N8-    N9-   C10\n+     4     16      5     15      9   180.00   6.06680   2 ;     C7-   N11-   C10-    N9\n+     4     16      5     18      9   180.00   6.06680   2 ;     C7-   N11-   C10-   S18\n+     4     16      6      7      9   180.00   7.74040   2 ;     C7-   N11-   C12-   C13\n+     4     16      6     17      9   180.00   7.74040   2 ;     C7-   N11-   C12-   C17\n+     5     16      4     11      9   180.00   7.11280   2 ;    C10-   N11-    C7-    C4\n+     5     16      4     14      9   180.00   7.11280   2 ;    C10-   N11-    C7-    N8\n+     5     16      6      7      9   180.00   7.74040   2 ;    C10-   N11-   C12-   C13\n+     5     16      6     17      9   180.00   7.74040   2 ;    C10-   N11-   C12-   C17\n+     6      7      8      9      9   180.00   0.00000   2 ;    C12-   C13-   C14-   C15\n+     6     16      4     11      9   180.00   7.11280   2 ;    C12-   N11-    C7-    C4\n+     6     16      4     14      9   180.00   7.11280   2 ;    C12-   N11-    C7-    N8\n+     6     16      5     15      9   180.00   6.06680   2 ;    C12-   N11-   C10-    N9\n+     6     16      5     18      9   180.00   6.06680   2 ;    C12-   N11-   C10-   S18\n+     6     17     10      9      9   180.00   0.00000   2 ;    C12-   C17-   C16-   C15\n+     7      6     17     10      9   180.00   0.00000   2 ;    C13-   C12-   C17-   C16\n+     7      8      9     10      9   180.00   0.00000   2 ;    C13-   C14-   C15-   C16\n+     8      7      6     16      9   180.00  27.82360   2 ;    C14-   C13-   C12-   N11\n+     8      7      6     17      9   180.00  27.82360   2 ;    C14-   C13-   C12-   C17\n+     8      9     10     17      9   180.00   0.00000   2 ;    C14-   C15-   C16-   C17\n+     9      8      7     19      9   180.00   0.00000   2 ;    C15-   C14-   C13-   F19\n+    10     17      6     16      9   180.00   0.00000   2 ;    C16-   C17-   C12-   N11\n+    11      4     14     15      9   180.00  41.84000   2 ;     C4-    C7-    N8-    N9\n+    12     11      3     20      9   180.00  12.02900   2 ;     C5-    C4-    C3-   O20\n+    12     11      4     14      9   180.00  16.73600   2 ;     C5-    C4-    C7-    N8\n+    12     11      4     16      9   180.00  16.73600   2 ;     C5-    C4-    C7-   N11\n+    13      1      2      3      9   180.00   0.00000   2 ;     C6-    C1-    C2-    C3\n+    14     15      5     16      9   180.00  16.73600   2 ;     N8-    N9-   C10-   N11\n+    14     15      5     18      9   180.00  16.73600   2 ;     N8-    N9-   C10-   S18\n+    15     14      4     16      9   180.00  41.84000   2 ;     N9-    N8-    C7-   N11\n+    16      6      7     19      9   180.00  27.82360   2 ;    N11-   C12-   C13-   F19\n+    17      6      7     19      9   180.00  27.82360   2 ;    C17-   C12-   C13-   F19\n+    21      1      2      3      9   180.00   0.00000   2 ;    O21-    C1-    C2-    C3\n+    21      1     13     12      9   180.00   0.00000   2 ;    O21-    C1-    C6-    C5\n+\n+[ dihedrals ] ; impropers\n+; treated as propers in GROMACS to use correct AMBER analytical function\n+;    i      j      k      l   func   phase     kd      pn\n+     3      4     11     12      4   180.00   4.60240   2 ;     C3-    C7-    C4-    C5\n+     5      4     16      6      4   180.00   4.60240   2 ;    C10-    C7-   N11-   C12\n+     6      8      7     19      4   180.00   4.60240   2 ;    C12-   C14-   C13-   F19\n+     7     17      6     16      4   180.00   4.60240   2 ;    C13-   C17-   C12-   N11\n+    11      2      3     20      4   180.00  43.93200   2 ;     C4-    C2-    C3-   O20\n+    11     16      4     14      4   180.00   4.60240   2 ;     C4-   N11-    C7-    N8\n+    18     16      5     15      4   180.00   4.60240   2 ;    S18-   N11-   C10-    N9\n+    21      1     13      2      4   180.00  43.93200   2 ;    O21-    C1-    C6-    C2\n'
b
diff -r e9cc595562b8 -r b2acdbff8dfb test-data/top_output.top
--- a/test-data/top_output.top Thu Feb 13 03:51:40 2020 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,19416 +0,0 @@\n-;\n-;\tFile \'topol.top\' was generated\n-;\tBy user: unknown (1000)\n-;\tOn host: simon-notebook\n-;\tAt date: Wed Aug 28 14:35:18 2019\n-;\n-;\tThis is a standalone topology file\n-;\n-;\tCreated by:\n-;\t                    :-) GROMACS - gmx pdb2gmx, 2019.1 (-:\n-;\t\n-;\tExecutable:   /home/simon/miniconda3/envs/gmx/bin/gmx\n-;\tData prefix:  /home/simon/miniconda3/envs/gmx\n-;\tWorking dir:  /home/simon/Repos/galaxy-tools-compchem/tools/gromacs\n-;\tCommand line:\n-;\t  gmx pdb2gmx -f test-data/1AKI.pdb -o processed.gro -p topol.top -i posres.itp -water spce -ff oplsaa -noignh\n-;\tForce field was read from the standard GROMACS share directory.\n-;\n-\n-; Include forcefield parameters\n-#include "oplsaa.ff/forcefield.itp"\n-\n-[ moleculetype ]\n-; Name            nrexcl\n-Protein_chain_A     3\n-\n-[ atoms ]\n-;   nr       type  resnr residue  atom   cgnr     charge       mass  typeB    chargeB      massB\n-; residue   1 LYS rtp LYSH q +2.0\n-     1   opls_287      1    LYS      N      1       -0.3    14.0027\n-     2   opls_290      1    LYS     H1      1       0.33      1.008\n-     3   opls_290      1    LYS     H2      1       0.33      1.008\n-     4   opls_290      1    LYS     H3      1       0.33      1.008\n-     5  opls_293B      1    LYS     CA      1       0.25     12.011\n-     6   opls_140      1    LYS     HA      1       0.06      1.008\n-     7   opls_136      1    LYS     CB      2      -0.12     12.011\n-     8   opls_140      1    LYS    HB1      2       0.06      1.008\n-     9   opls_140      1    LYS    HB2      2       0.06      1.008\n-    10   opls_136      1    LYS     CG      3      -0.12     12.011\n-    11   opls_140      1    LYS    HG1      3       0.06      1.008\n-    12   opls_140      1    LYS    HG2      3       0.06      1.008\n-    13   opls_136      1    LYS     CD      4      -0.12     12.011\n-    14   opls_140      1    LYS    HD1      4       0.06      1.008\n-    15   opls_140      1    LYS    HD2      4       0.06      1.008\n-    16   opls_292      1    LYS     CE      5       0.19     12.011\n-    17   opls_140      1    LYS    HE1      5       0.06      1.008\n-    18   opls_140      1    LYS    HE2      5       0.06      1.008\n-    19   opls_287      1    LYS     NZ      6       -0.3    14.0067\n-    20   opls_290      1    LYS    HZ1      6       0.33      1.008\n-    21   opls_290      1    LYS    HZ2      6       0.33      1.008\n-    22   opls_290      1    LYS    HZ3      6       0.33      1.008\n-    23   opls_235      1    LYS      C      7        0.5     12.011\n-    24   opls_236      1    LYS      O      7       -0.5    15.9994   ; qtot 2\n-; residue   2 VAL rtp VAL  q  0.0\n-    25   opls_238      2    VAL      N      8       -0.5    14.0067\n-    26   opls_241      2    VAL      H      8        0.3      1.008\n-    27  opls_224B      2    VAL     CA      8       0.14     12.011\n-    28   opls_140      2    VAL     HA      8       0.06      1.008\n-    29   opls_137      2    VAL     CB      9      -0.06     12.011\n-    30   opls_140      2    VAL     HB      9       0.06      1.008\n-    31   opls_135      2    VAL    CG1     10      -0.18     12.011\n-    32   opls_140      2    VAL   HG11     10       0.06      1.008\n-    33   opls_140      2    VAL   HG12     10       0.06      1.008\n-    34   opls_140      2    VAL   HG13     10       0.06      1.008\n-    35   opls_135      2    VAL    CG2     11      -0.18     12.011\n-    36   opls_140      2    VAL   HG21     11       0.06      1.008\n-    37   opls_140      2    VAL   HG22     11       0.06      1.008\n-    38   opls_140      2    VAL   HG23     11       0.06      1.008\n-    39   opls_235      2    VAL      C     12        0.5     12.011\n-    40   opls_236      2    VAL      O     12       -0.5    15.9994   ; qtot 2\n-; residue   3 PHE rtp PHE  q  0.0\n-    41   opls_238      3    PHE      N     13       -0.5    14.0067\n-    42   opls_241      3    PHE      H     13        0.3      1.008\n-    43  opls_224B      3    PHE     CA     13       0.14     12.011\n-  '..b'000  1000\n-  1737     1  1000  1000  1000\n-  1739     1  1000  1000  1000\n-  1742     1  1000  1000  1000\n-  1745     1  1000  1000  1000\n-  1748     1  1000  1000  1000\n-  1751     1  1000  1000  1000\n-  1755     1  1000  1000  1000\n-  1756     1  1000  1000  1000\n-  1757     1  1000  1000  1000\n-  1759     1  1000  1000  1000\n-  1762     1  1000  1000  1000\n-  1763     1  1000  1000  1000\n-  1764     1  1000  1000  1000\n-  1766     1  1000  1000  1000\n-  1768     1  1000  1000  1000\n-  1770     1  1000  1000  1000\n-  1772     1  1000  1000  1000\n-  1776     1  1000  1000  1000\n-  1777     1  1000  1000  1000\n-  1778     1  1000  1000  1000\n-  1780     1  1000  1000  1000\n-  1782     1  1000  1000  1000\n-  1785     1  1000  1000  1000\n-  1786     1  1000  1000  1000\n-  1787     1  1000  1000  1000\n-  1788     1  1000  1000  1000\n-  1789     1  1000  1000  1000\n-  1790     1  1000  1000  1000\n-  1792     1  1000  1000  1000\n-  1794     1  1000  1000  1000\n-  1796     1  1000  1000  1000\n-  1800     1  1000  1000  1000\n-  1804     1  1000  1000  1000\n-  1805     1  1000  1000  1000\n-  1806     1  1000  1000  1000\n-  1808     1  1000  1000  1000\n-  1810     1  1000  1000  1000\n-  1813     1  1000  1000  1000\n-  1816     1  1000  1000  1000\n-  1817     1  1000  1000  1000\n-  1818     1  1000  1000  1000\n-  1821     1  1000  1000  1000\n-  1822     1  1000  1000  1000\n-  1823     1  1000  1000  1000\n-  1825     1  1000  1000  1000\n-  1827     1  1000  1000  1000\n-  1831     1  1000  1000  1000\n-  1832     1  1000  1000  1000\n-  1833     1  1000  1000  1000\n-  1835     1  1000  1000  1000\n-  1837     1  1000  1000  1000\n-  1840     1  1000  1000  1000\n-  1841     1  1000  1000  1000\n-  1843     1  1000  1000  1000\n-  1844     1  1000  1000  1000\n-  1846     1  1000  1000  1000\n-  1847     1  1000  1000  1000\n-  1849     1  1000  1000  1000\n-  1851     1  1000  1000  1000\n-  1853     1  1000  1000  1000\n-  1855     1  1000  1000  1000\n-  1856     1  1000  1000  1000\n-  1857     1  1000  1000  1000\n-  1859     1  1000  1000  1000\n-  1861     1  1000  1000  1000\n-  1863     1  1000  1000  1000\n-  1866     1  1000  1000  1000\n-  1870     1  1000  1000  1000\n-  1874     1  1000  1000  1000\n-  1875     1  1000  1000  1000\n-  1876     1  1000  1000  1000\n-  1878     1  1000  1000  1000\n-  1880     1  1000  1000  1000\n-  1883     1  1000  1000  1000\n-  1886     1  1000  1000  1000\n-  1889     1  1000  1000  1000\n-  1891     1  1000  1000  1000\n-  1892     1  1000  1000  1000\n-  1895     1  1000  1000  1000\n-  1898     1  1000  1000  1000\n-  1899     1  1000  1000  1000\n-  1900     1  1000  1000  1000\n-  1902     1  1000  1000  1000\n-  1905     1  1000  1000  1000\n-  1906     1  1000  1000  1000\n-  1907     1  1000  1000  1000\n-  1909     1  1000  1000  1000\n-  1911     1  1000  1000  1000\n-  1914     1  1000  1000  1000\n-  1915     1  1000  1000  1000\n-  1916     1  1000  1000  1000\n-  1917     1  1000  1000  1000\n-  1919     1  1000  1000  1000\n-  1921     1  1000  1000  1000\n-  1924     1  1000  1000  1000\n-  1927     1  1000  1000  1000\n-  1930     1  1000  1000  1000\n-  1932     1  1000  1000  1000\n-  1933     1  1000  1000  1000\n-  1936     1  1000  1000  1000\n-  1939     1  1000  1000  1000\n-  1940     1  1000  1000  1000\n-  1941     1  1000  1000  1000\n-  1943     1  1000  1000  1000\n-  1945     1  1000  1000  1000\n-  1948     1  1000  1000  1000\n-  1950     1  1000  1000  1000\n-  1954     1  1000  1000  1000\n-  1958     1  1000  1000  1000\n-  1959     1  1000  1000  1000\n-  1960     1  1000  1000  1000\n-#endif\n-\n-; Include water topology\n-#include "oplsaa.ff/spce.itp"\n-\n-#ifdef POSRES_WATER\n-; Position restraint for each water oxygen\n-[ position_restraints ]\n-;  i funct       fcx        fcy        fcz\n-   1    1       1000       1000       1000\n-#endif\n-\n-; Include topology for ions\n-#include "oplsaa.ff/ions.itp"\n-\n-[ system ]\n-; Name\n-LYSOZYME\n-\n-[ molecules ]\n-; Compound        #mols\n-Protein_chain_A     1\n-SOL                78\n'