Commit message:
"planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/tree/master/tools/buildtools/topologyeditors commit ae026d4ea6fe2ebaa53611b86f9047941c7b899b" |
added:
add_top.xml gmxtras_add_newmolparam.py gmxtras_add_restraints.py gmxtras_extract_top.py macros.xml test-data/cid1_GMX.gro test-data/cid1_GMX.top test-data/posres_cid1.itp test-data/water_bondedparams.itp test-data/water_nonbondedparams.itp |
b |
diff -r 000000000000 -r 5521a057ed6a add_top.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/add_top.xml Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,149 @@ +<tool id="gromacs_modify_topology" name="Adding New Topology Information" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.09"> + <description>to a GROMACS topology file</description> + <macros> + <import>macros.xml</import> + <token name="@GALAXY_VERSION@">0</token> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ + #if $str($functionality.what2add) == "mol": + python3 '$__tool_directory__/gmxtras_add_newmolparam.py' + --top_file '$functionality.inputtopology' + --atom_file '$functionality.nonbondparam' + --mol_file '$functionality.bondparam' + --out '$newtop' + #end if + + #if $str($functionality.what2add) == "restraints": + python3 '$__tool_directory__/gmxtras_add_restraints.py' + --top_file '$functionality.inputtopology' + --res_file '$functionality.posres' + --molecule '$functionality.targetmolecule' + --out '$newtop' + #end if + + #if $str($functionality.what2add) == "both": + python3 '$__tool_directory__/gmxtras_add_restraints.py' + --top_file '$functionality.inputtopology' + --res_file '$functionality.posres' + --molecule '$functionality.targetmolecule' + --out 'odoylerules' + && + python3 '$__tool_directory__/gmxtras_add_newmolparam.py' + --top_file 'odoylerules' + --atom_file '$functionality.nonbondparam' + --mol_file '$functionality.bondparam' + --out '$newtop' + #end if + + ]]></command> + <inputs> + + <conditional name="functionality"> + <param name="what2add" type="select" label="What new information are you adding to your topology file?"> + <option value="mol">A molecule's parameters</option> + <option value="restraints">Position restraint information</option> + <option value="both">Both a molecule's topology information and position restrain information</option> + </param> + <when value="mol"> + <param name="inputtopology" type="data" format="top" label="GROMACS Topology file to be modified" help="Topology file with missing information"/> + <param name="nonbondparam" type="data" format="txt" label="Atom Types with Nonbonded Parameters" help="Atom types information from grep"/> + <param name="bondparam" type="data" format="txt,itp" label="Molecule type information with bonded parameters" help="molecule type information"/> + </when> + <when value="restraints"> + <param name="inputtopology" type="data" format="top" label="GROMACS Topology file to be modified" help="Topology file with missing information"/> + <param name="posres" type="data" format="itp" label="Position restraint file" help="Position restraint file created previously"/> + <param name="targetmolecule" type="text" label="Target molecule type" help="The molecule type name to which the restraints were applied"/> + </when> + <when value="both"> + <param name="inputtopology" type="data" format="top" label="GROMACS Topology file to be modified" help="Topology file with missing information"/> + <param name="nonbondparam" type="data" format="txt" label="Atom Types with Nonbonded Parameters" help="Atom types information from grep"/> + <param name="bondparam" type="data" format="txt,itp" label="Molecule type information with bonded parameters" help="molecule type information"/> + <param name="posres" type="data" format="itp" label="Position restraint file" help="Position restraint file created previously"/> + <param name="targetmolecule" type="text" label="Target molecule type" help="The molecule type name to which the restraints were applied"/> + </when> + + </conditional> + </inputs> + <outputs> + <data name="newtop" format="top" label="Modified file with new topology information ${on_string}"/> + </outputs> + <tests> + <test> + <conditional name="functionality"> + <param name="what2add" value="mol" /> + <param name="inputtopology" value="cid1_GMX.top" /> + <param name="nonbondparam" value="water_nonbondedparams.itp" /> + <param name="bondparam" value="water_bondedparams.itp" /> + </conditional> + <output name="newtop"> + <assert_contents> + <has_text text="HW_tip4pew 1 1.008 0.0000 A 0.00000e+00 0.00000e+00"/> + <has_text text=" 2 HW_tip4pew 1 SOL HW1 1 0.52422 1.00800"/> + </assert_contents> + </output> + </test> + <test> + <conditional name="functionality"> + <param name="what2add" value="restraints" /> + <param name="inputtopology" value="cid1_GMX.top" /> + <param name="targetmolecule" value="cid1" /> + <param name="posres" value="posres_cid1.itp" /> + </conditional> + <output name="newtop"> + <assert_contents> + <has_text text="; i funct fcx fcy fcz"/> + <has_text text=" 42 1 1000 1000 1000"/> + </assert_contents> + </output> + </test> + <test> + <conditional name="functionality"> + <param name="what2add" value="both" /> + <param name="inputtopology" value="cid1_GMX.top" /> + <param name="nonbondparam" value="water_nonbondedparams.itp" /> + <param name="bondparam" value="water_bondedparams.itp" /> + <param name="targetmolecule" value="cid1" /> + <param name="posres" value="posres_cid1.itp" /> + </conditional> + <output name="newtop"> + <assert_contents> + <has_text text="HW_tip4pew 1 1.008 0.0000 A 0.00000e+00 0.00000e+00"/> + <has_text text=" 2 HW_tip4pew 1 SOL HW1 1 0.52422 1.00800"/> + <has_text text="; i funct fcx fcy fcz"/> + <has_text text=" 42 1 1000 1000 1000"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ + +Tool to modify and add new information to GROMACS topology files. This is particularly useful when working with systems +that were created outside of GROMACS (for example, files created in AMBER or CHARMM and then converted over via acpype). +This tool can also be used to complement the "gmx insert-molecules" tool, which currently only modifies the GROMACS +structure files (gro) and requires further modification of the topology file for the newly populated system to be simulation ready. + +.. class:: infomark + +**Input** + +1) The system topology file you are modifying, + +2) a position restraint file (posres.itp) and specifying the name of the target molecule type you are restraining, + +3) a molecule's atom types/nonbonded parameters to be inserted under the system's global [ atomtypes ], as well as + +4) the corresponding bonded parameters of that particular molecule found under [ moleculetype ]. + +.. class:: infomark + +**Outputs** + +The new modified GROMACS topology file. + + + ]]></help> + <expand macro="citations"> + <citation type="doi">doi:10.1186/1756-0500-5-367</citation> + </expand> +</tool> |
b |
diff -r 000000000000 -r 5521a057ed6a gmxtras_add_newmolparam.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gmxtras_add_newmolparam.py Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import argparse + + +def __main__(): + parser = argparse.ArgumentParser( + description='Adds New topologies to gromacs topology file') + parser.add_argument( + '--top_file', default=None, + help="Topology file input") + parser.add_argument( + '--mol_file', default=None, + help='molecule type and bonded parameters input') + parser.add_argument( + '--atom_file', default=None, + help='atomtype and nonbonded parameters input') + parser.add_argument( + '--out', default=None, + help='Path to output') + args = parser.parse_args() + with open(args.out, 'w') as fh_out: + with open(args.top_file, 'r') as fh: + # these two short loop takes care of + # adding the atom types and molecule types. + for line in fh: + fh_out.write(line) + if ';name bond_type' in line: + for contents in open(args.atom_file): + fh_out.write(contents) + break + for line in fh: + if '[ system ]' in line: + fh_out.write("\n; Begin NewTopologyInfo\n") + for contents in open(args.mol_file): + fh_out.write(contents) + fh_out.write("; end NewTopologyInfo\n\n") + fh_out.write(line) + break + fh_out.write(line) + for line in fh: + fh_out.write(line) + + +if __name__ == "__main__": + __main__() |
b |
diff -r 000000000000 -r 5521a057ed6a gmxtras_add_restraints.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gmxtras_add_restraints.py Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +import argparse +END_OF_MOL = ('[ moleculetype ]', '[ system ]') + + +def __main__(): + parser = argparse.ArgumentParser( + description='Add restriction to gromacs topology file') + parser.add_argument( + '--top_file', default=None, + help="Topology file input") + parser.add_argument( + '--res_file', default=None, + help='Restraint input') + parser.add_argument( + '--molecule', default=None, + help='Target Molecule Name you restrained') + parser.add_argument( + '--out', default=None, + help='Path to output') + args = parser.parse_args() + with open(args.out, 'w') as fh_out: + with open(args.top_file, 'r') as fh: + # for now, we will avoid using 'for line in fh:', + # since we have multiple places where we might want + # to read the next line + while True: + line = fh.readline() + if not line: + # eof + break + # always write out the line + fh_out.write(line) + # check if line matches molecule, then check if + # molecule name matches args.molecule + if line.strip().startswith('[ moleculetype ]'): + not_found_molecule = True + while not_found_molecule: + line = fh.readline() + if not line: + # eof + break + # always write this line + fh_out.write(line) + if not line.strip().startswith(';') or (line.strip() + and not line.strip().startswith(';')): + # this line should be the name line, + fields = line.strip().split() + if fields[0] == args.molecule: + # found our molecule! + while True: + line = fh.readline() + if not line: + # eof + break + if line.strip().startswith(END_OF_MOL): + fh_out.write("\n#ifdef POSRES\n") + with open(args.res_file, 'r') as fh_re: + for line2 in fh_re: + fh_out.write(line2) + fh_out.write("#endif\n\n") + fh_out.write(line) + not_found_molecule = False + break + fh_out.write(line) + else: + break + + +if __name__ == "__main__": + __main__() |
b |
diff -r 000000000000 -r 5521a057ed6a gmxtras_extract_top.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gmxtras_extract_top.py Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +import argparse + + +def __main__(): + parser = argparse.ArgumentParser( + description='Adds New topologies to gromacs topology file') + parser.add_argument( + '--top_file', default=None, + help="Topologies input") + parser.add_argument( + '--out_bondparam', default=None, + help='moleculetype section') + parser.add_argument( + '--out_nonbondparam', default=None, + help='atomtypes section') + + args = parser.parse_args() + # extracts the atom types with nonbonded terms from + # the new molecules and puts them in a new file + with open(args.top_file) as inFile: + with open(args.out_nonbondparam, "w") as outFile: + buffer = [] + for line in inFile: + if line.startswith(";name bond_type"): + buffer = [''] + elif line.startswith("[ moleculetype ]"): + outFile.write("".join(buffer)) + buffer = [] + elif buffer: + buffer.append(line) + + # extracts the molecule types (rest of the force field parameters) + # with bonded terms and puts them in a new file + with open(args.top_file) as inFile: + with open(args.out_bondparam, "w") as outFile: + buffer = [] + for line in inFile: + if line.startswith("[ moleculetype ]"): + buffer = ["\n[ moleculetype ]\n"] + elif line.startswith("[ system ]"): + outFile.write("".join(buffer)) + buffer = [] + elif buffer: + buffer.append(line) + + +if __name__ == "__main__": + __main__() |
b |
diff -r 000000000000 -r 5521a057ed6a macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Jan 27 18:16:37 2022 +0000 |
b |
@@ -0,0 +1,15 @@ +<macros> + <token name="@TOOL_VERSION@">0</token> + <xml name="requirements"> + <requirements> + <requirement type="package" version="3.9">python</requirement> + <yield /> + </requirements> + </xml> + <xml name="citations"> + <citations> + <citation type="doi">10.1016/j.softx.2015.06.001</citation> + <yield /> + </citations> + </xml> +</macros> |
b |
diff -r 000000000000 -r 5521a057ed6a test-data/cid1_GMX.gro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/cid1_GMX.gro Thu Jan 27 18:16:37 2022 +0000 |
b |
@@ -0,0 +1,45 @@ +UNL_GMX.gro created by acpype (v: 2021-02-05T22:15:50CET) on Wed Dec 15 14:23:59 2021 + 42 + 1 UNL C1 1 41.372 -2.389 7.399 + 1 UNL C2 2 41.301 -2.314 7.306 + 1 UNL C3 3 41.041 -2.283 7.776 + 1 UNL C4 4 41.308 -2.500 7.454 + 1 UNL C5 5 41.117 -2.462 7.333 + 1 UNL C6 6 41.214 -2.146 7.824 + 1 UNL C7 7 41.171 -2.350 7.272 + 1 UNL C8 8 41.136 -2.247 7.876 + 1 UNL C9 9 41.064 -2.202 7.667 + 1 UNL C10 10 40.992 -2.201 7.537 + 1 UNL C11 11 41.036 -2.061 7.071 + 1 UNL C12 12 41.128 -2.130 6.971 + 1 UNL C13 13 41.092 -2.270 7.171 + 1 UNL C14 14 41.077 -2.120 7.205 + 1 UNL C15 15 41.109 -2.380 6.943 + 1 UNL C16 16 40.975 -2.093 7.314 + 1 UNL N17 17 41.182 -2.538 7.424 + 1 UNL N18 18 41.169 -2.119 7.697 + 1 UNL N19 19 41.036 -2.108 7.442 + 1 UNL N20 20 41.154 -2.267 7.031 + 1 UNL O21 21 40.897 -2.277 7.520 + 1 UNL CL22 22 41.149 -2.318 8.029 + 1 UNL H23 23 41.473 -2.363 7.427 + 1 UNL H24 24 41.348 -2.227 7.261 + 1 UNL H25 25 40.965 -2.359 7.784 + 1 UNL H26 26 41.359 -2.562 7.527 + 1 UNL H27 27 41.016 -2.495 7.310 + 1 UNL H28 28 41.296 -2.090 7.865 + 1 UNL H29 29 41.046 -1.952 7.068 + 1 UNL H30 30 40.931 -2.085 7.048 + 1 UNL H31 31 41.084 -2.140 6.872 + 1 UNL H32 32 41.225 -2.080 6.965 + 1 UNL H33 33 40.992 -2.317 7.160 + 1 UNL H34 34 41.174 -2.078 7.235 + 1 UNL H35 35 41.000 -2.372 6.932 + 1 UNL H36 36 41.159 -2.370 6.847 + 1 UNL H37 37 41.136 -2.474 6.993 + 1 UNL H38 38 40.893 -2.164 7.305 + 1 UNL H39 39 40.938 -1.991 7.304 + 1 UNL H40 40 41.208 -2.049 7.635 + 1 UNL H41 41 41.111 -2.044 7.468 + 1 UNL H42 42 41.256 -2.276 7.041 + 11.59200 12.19000 23.64000 |
b |
diff -r 000000000000 -r 5521a057ed6a test-data/cid1_GMX.top --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/cid1_GMX.top Thu Jan 27 18:16:37 2022 +0000 |
[ |
b'@@ -0,0 +1,476 @@\n+; cid1_GMX.top created by acpype (v: 2021-02-05T22:15:50CET) on Wed Dec 15 14:23:59 2021\n+\n+[ defaults ]\n+; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ\n+1 2 yes 0.5 0.8333\n+\n+[ atomtypes ]\n+;name bond_type mass charge ptype sigma epsilon Amb\n+ ca ca 0.00000 0.00000 A 3.39967e-01 3.59824e-01 ; 1.91 0.0860\n+ cc cc 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+ c c 0.00000 0.00000 A 3.39967e-01 3.59824e-01 ; 1.91 0.0860\n+ c3 c3 0.00000 0.00000 A 3.39967e-01 4.57730e-01 ; 1.91 0.1094\n+ nb nb 0.00000 0.00000 A 3.25000e-01 7.11280e-01 ; 1.82 0.1700\n+ na na 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+ n4 n4 0.00000 0.00000 A 3.25000e-01 7.11280e-01 ; 1.82 0.1700\n+ o o 0.00000 0.00000 A 2.95992e-01 8.78640e-01 ; 1.66 0.2100\n+ cl cl 0.00000 0.00000 A 3.47094e-01 1.10876e+00 ; 1.95 0.2650\n+ ha ha 0.00000 0.00000 A 2.59964e-01 6.27600e-02 ; 1.46 0.0150\n+ h4 h4 0.00000 0.00000 A 2.51055e-01 6.27600e-02 ; 1.41 0.0150\n+ hc hc 0.00000 0.00000 A 2.64953e-01 6.56888e-02 ; 1.49 0.0157\n+ hx hx 0.00000 0.00000 A 1.95998e-01 6.56888e-02 ; 1.10 0.0157\n+ h1 h1 0.00000 0.00000 A 2.47135e-01 6.56888e-02 ; 1.39 0.0157\n+ hn hn 0.00000 0.00000 A 1.06908e-01 6.56888e-02 ; 0.60 0.0157\n+\n+[ moleculetype ]\n+;name nrexcl\n+ cid1 3\n+\n+[ atoms ]\n+; nr type resi res atom cgnr charge mass ; qtot bond_type\n+ 1 ca 1 cid1 C1 1 -0.236300 12.01000 ; qtot -0.236\n+ 2 ca 1 cid1 C2 2 -0.079000 12.01000 ; qtot -0.315\n+ 3 cc 1 cid1 C3 3 -0.068000 12.01000 ; qtot -0.383\n+ 4 ca 1 cid1 C4 4 0.441200 12.01000 ; qtot 0.058\n+ 5 ca 1 cid1 C5 5 0.436200 12.01000 ; qtot 0.494\n+ 6 cd 1 cid1 C6 6 -0.088300 12.01000 ; qtot 0.406\n+ 7 ca 1 cid1 C7 7 -0.300600 12.01000 ; qtot 0.105\n+ 8 cc 1 cid1 C8 8 -0.083600 12.01000 ; qtot 0.022\n+ 9 cd 1 cid1 C9 9 -0.229900 12.01000 ; qtot -0.208\n+ 10 c 1 cid1 C10 10 0.721699 12.01000 ; qtot 0.513\n+ 11 c3 1 cid1 C11 11 -0.099400 12.01000 ; qtot 0.414\n+ 12 c3 1 cid1 C12 12 0.108800 12.01000 ; qtot 0.523\n+ 13 c3 1 cid1 C13 13 0.196800 12.01000 ; qtot 0.720\n+ 14 c3 1 cid1 C14 14 -0.100700 12.01000 ; qtot 0.619\n+ 15 c3 1 cid1 C15 15 0.080100 12.01000 ; qtot 0.699\n+ 16 c3 1 cid1 C16 16 0.099000 12.01000 ; qtot 0.798\n+ 17 nb 1 cid1 N17 17 -0.641000 14.01000 ; qtot 0.157\n+ 18 na 1 cid1 N18 18 -0.155100 14.01000 ; qtot 0.002\n+ 19 n 1 cid1 N19 19 -0.586900 14.01000 ; qtot -0.585\n+ 20 n4 1 cid1 N20 20 -0.687400 14.01000 ; qtot -1.272\n+ 21 o 1 cid1 O21 21 -0.656100 16.00000 ; qtot -1.929\n+ 22 cl 1 cid1 CL22 22 -0.020400 35.45000 ; qtot -1.949\n+ 23 ha 1 cid1 H23 23 0.169000 1.00800 ; qtot -1.780\n+ 24 ha 1 cid1 H24 24 0.138000 1.00800 ; qtot -1.642\n+ 25 ha 1 cid1 H25 25 0.181000 1.00800 ; qtot -1.461\n+ 26 h4 1 cid1 H26 26 0.052100 1.0080'..b'0- O21\n+ 19 16 14 34 9 0.00 0.65084 3 ; N19- C16- C14- H34\n+ 20 12 11 29 9 0.00 0.65084 3 ; N20- C12- C11- H29\n+ 20 12 11 30 9 0.00 0.65084 3 ; N20- C12- C11- H30\n+ 20 13 14 34 9 0.00 0.65084 3 ; N20- C13- C14- H34\n+ 21 10 19 41 9 0.00 8.36800 1 ; O21- C10- N19- H41\n+ 21 10 19 41 9 180.00 10.46000 2 ; O21- C10- N19- H41\n+ 22 8 3 25 9 180.00 16.73600 2 ; CL22- C8- C3- H25\n+ 22 8 6 28 9 180.00 16.73600 2 ; CL22- C8- C6- H28\n+ 23 1 2 7 9 180.00 15.16700 2 ; H23- C1- C2- C7\n+ 23 1 2 24 9 180.00 15.16700 2 ; H23- C1- C2- H24\n+ 23 1 4 17 9 180.00 15.16700 2 ; H23- C1- C4- N17\n+ 23 1 4 26 9 180.00 15.16700 2 ; H23- C1- C4- H26\n+ 28 6 18 40 9 180.00 7.11280 2 ; H28- C6- N18- H40\n+ 29 11 12 31 9 0.00 0.65084 3 ; H29- C11- C12- H31\n+ 29 11 12 32 9 0.00 0.65084 3 ; H29- C11- C12- H32\n+ 29 11 14 34 9 0.00 0.62760 3 ; H29- C11- C14- H34\n+ 30 11 12 31 9 0.00 0.65084 3 ; H30- C11- C12- H31\n+ 30 11 12 32 9 0.00 0.65084 3 ; H30- C11- C12- H32\n+ 30 11 14 34 9 0.00 0.62760 3 ; H30- C11- C14- H34\n+ 31 12 20 42 9 0.00 0.65084 3 ; H31- C12- N20- H42\n+ 32 12 20 42 9 0.00 0.65084 3 ; H32- C12- N20- H42\n+ 33 13 14 34 9 0.00 0.65084 3 ; H33- C13- C14- H34\n+ 33 13 20 42 9 0.00 0.65084 3 ; H33- C13- N20- H42\n+ 34 14 16 38 9 0.00 0.65084 3 ; H34- C14- C16- H38\n+ 34 14 16 39 9 0.00 0.65084 3 ; H34- C14- C16- H39\n+ 35 15 20 42 9 0.00 0.65084 3 ; H35- C15- N20- H42\n+ 36 15 20 42 9 0.00 0.65084 3 ; H36- C15- N20- H42\n+ 37 15 20 42 9 0.00 0.65084 3 ; H37- C15- N20- H42\n+ 38 16 19 41 9 0.00 0.00000 0 ; H38- C16- N19- H41\n+ 39 16 19 41 9 0.00 0.00000 0 ; H39- C16- N19- H41\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+ 1 7 2 24 4 180.00 4.60240 2 ; C1- C7- C2- H24\n+ 1 26 4 17 4 180.00 4.60240 2 ; C1- H26- C4- N17\n+ 2 5 7 13 4 180.00 4.60240 2 ; C2- C5- C7- C13\n+ 3 6 8 22 4 180.00 4.60240 2 ; C3- C6- C8- CL22\n+ 6 9 18 40 4 180.00 4.60240 2 ; C6- C9- N18- H40\n+ 7 27 5 17 4 180.00 4.60240 2 ; C7- H27- C5- N17\n+ 8 9 3 25 4 180.00 4.60240 2 ; C8- C9- C3- H25\n+ 8 28 6 18 4 180.00 4.60240 2 ; C8- H28- C6- N18\n+ 9 19 10 21 4 180.00 43.93200 2 ; C9- N19- C10- O21\n+ 10 3 9 18 4 180.00 4.60240 2 ; C10- C3- C9- N18\n+ 10 16 19 41 4 180.00 4.60240 2 ; C10- C16- N19- H41\n+ 23 1 4 2 4 180.00 4.60240 2 ; H23- C1- C4- C2\n+\n+[ system ]\n+ cid1\n+\n+[ molecules ]\n+; Compound nmols\n+ cid1 1 \n' |
b |
diff -r 000000000000 -r 5521a057ed6a test-data/posres_cid1.itp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/posres_cid1.itp Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,45 @@ + +[ position_restraints ] +; i funct fcx fcy fcz + 1 1 1000 1000 1000 + 2 1 1000 1000 1000 + 3 1 1000 1000 1000 + 4 1 1000 1000 1000 + 5 1 1000 1000 1000 + 6 1 1000 1000 1000 + 7 1 1000 1000 1000 + 8 1 1000 1000 1000 + 9 1 1000 1000 1000 + 10 1 1000 1000 1000 + 11 1 1000 1000 1000 + 12 1 1000 1000 1000 + 13 1 1000 1000 1000 + 14 1 1000 1000 1000 + 15 1 1000 1000 1000 + 16 1 1000 1000 1000 + 17 1 1000 1000 1000 + 18 1 1000 1000 1000 + 19 1 1000 1000 1000 + 20 1 1000 1000 1000 + 21 1 1000 1000 1000 + 22 1 1000 1000 1000 + 23 1 1000 1000 1000 + 24 1 1000 1000 1000 + 25 1 1000 1000 1000 + 26 1 1000 1000 1000 + 27 1 1000 1000 1000 + 28 1 1000 1000 1000 + 29 1 1000 1000 1000 + 30 1 1000 1000 1000 + 31 1 1000 1000 1000 + 32 1 1000 1000 1000 + 33 1 1000 1000 1000 + 34 1 1000 1000 1000 + 35 1 1000 1000 1000 + 36 1 1000 1000 1000 + 37 1 1000 1000 1000 + 38 1 1000 1000 1000 + 39 1 1000 1000 1000 + 40 1 1000 1000 1000 + 41 1 1000 1000 1000 + 42 1 1000 1000 1000 |
b |
diff -r 000000000000 -r 5521a057ed6a test-data/water_bondedparams.itp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/water_bondedparams.itp Thu Jan 27 18:16:37 2022 +0000 |
[ |
@@ -0,0 +1,61 @@ +; +; Horn et al. (2004). J. Chem. Phys.120, 9665-9678 +; + + +[ moleculetype ] +; molname nrexcl +SOL 2 + +[ atoms ] +; id at type res nr res name at name cg nr charge mass + 1 OW_tip4pew 1 SOL OW 1 0 16.00000 + 2 HW_tip4pew 1 SOL HW1 1 0.52422 1.00800 + 3 HW_tip4pew 1 SOL HW2 1 0.52422 1.00800 + 4 MW 1 SOL MW 1 -1.04844 0.00000 + +#ifndef FLEXIBLE + +[ settles ] +; i funct doh dhh +1 1 0.09572 0.15139 + +#else +[ bonds ] +; i j funct length force.c. +1 2 1 0.09572 502416.0 0.09572 502416.0 +1 3 1 0.09572 502416.0 0.09572 502416.0 + +[ angles ] +; i j k funct angle force.c. +2 1 3 1 104.52 628.02 104.52 628.02 + +#endif + + +[ virtual_sites3 ] +; Vsite from funct a b +4 1 2 3 1 0.106676721 0.106676721 + + +[ exclusions ] +1 2 3 4 +2 1 3 4 +3 1 2 4 +4 1 2 3 + + +; The position of the virtual site is computed as follows: +; +; O +; +; V +; +; H H +; +; Ewald tip4p: +; const = distance (OV) / [ cos (angle(VOH)) * distance (OH) ] +; 0.0125 nm / [ cos (52.26 deg) * 0.09572 nm ] +; then a = b = 0.5 * const = 0.106676721 +; +; Vsite pos x4 = x1 + a*(x2-x1) + b*(x3-x1) |
b |
diff -r 000000000000 -r 5521a057ed6a test-data/water_nonbondedparams.itp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/water_nonbondedparams.itp Thu Jan 27 18:16:37 2022 +0000 |
b |
@@ -0,0 +1,3 @@ +HW_tip4pew 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +OW_tip4pew 8 16.00 0.0000 A 3.16435e-01 6.80946e-01 +MW 0 0.0000 0.0000 D 0.00000e+00 0.00000e+00 |