0
|
1 <tool id="gmx_em" name="GROMACS energy minimization daimoners' version" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@">
|
|
2 <description>of the system prior to equilibration and production MD</description>
|
|
3 <macros>
|
|
4 <import>macros.xml</import>
|
|
5 <token name="@GALAXY_VERSION@">0</token>
|
|
6 </macros>
|
|
7
|
|
8 <expand macro="requirements" />
|
|
9
|
|
10 <command detect_errors="exit_code"><![CDATA[
|
|
11
|
|
12 #if $mdp.mdpfile == 'custom':
|
|
13 ln -s '$mdp.mdp_input' ./minim.mdp &&
|
|
14 #else:
|
|
15 ln -s '$minim' ./minim.mdp &&
|
|
16 #end if
|
|
17
|
|
18 ln -s '$gro_input' ./solv_ions.gro &&
|
|
19 ln -s '$top_input' ./top_input.top &&
|
|
20
|
|
21 gmx grompp -f ./minim.mdp -c ./solv_ions.gro -r ./solv_ions.gro -p ./top_input.top -o em.tpr -maxwarn 5 &>> verbose.txt &&
|
|
22 gmx mdrun -nt "\${GALAXY_SLOTS:-4}" -deffnm em &>> verbose.txt
|
|
23
|
|
24 ]]></command>
|
|
25 <configfiles>
|
|
26 <!-- .mdp files for the gromacs simulation -->
|
|
27 <configfile name="minim">
|
|
28 #if $mdp.mdpfile == 'default':
|
|
29 ; minim.mdp - used as input into grompp to generate em.tpr
|
|
30 integrator = $mdp.integrator ; Algorithm (steep = steepest descent minimization)
|
|
31 emtol = $mdp.emtol ; Stop minimization when the maximum force is less than this value
|
|
32 emstep = $mdp.emstep ; Energy step size
|
|
33 nsteps = $mdp.md_steps ; Maximum number of (minimization) steps to perform
|
|
34
|
|
35 ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions
|
|
36 nstlist = 1 ; Frequency to update the neighbor list and long range forces
|
|
37 cutoff-scheme = $mdp.cutoffscheme
|
|
38 ns_type = grid ; Method to determine neighbor list (simple, grid)
|
|
39 coulombtype = $mdp.coulombtype ; Treatment of long range electrostatic interactions
|
|
40 rcoulomb = $mdp.rcoulomb ; Short-range electrostatic cut-off
|
|
41 rlist = $mdp.rlist ; Cut-off distance for the short-range neighbor list.
|
|
42 rvdw = $mdp.rvdw ; Short-range Van der Waals cut-off
|
|
43 pbc = xyz ; Periodic Boundary Conditions (yes/no)
|
|
44 #end if
|
|
45 </configfile>
|
|
46 </configfiles>
|
|
47
|
|
48 <inputs>
|
|
49 <param argument="gro_input" type="data" format='gro' label="GRO structure file."/>
|
|
50 <param argument="top_input" type="data" format='top' label="Topology (TOP) file."/>
|
|
51 <conditional name="mdp">
|
|
52 <param name="mdpfile" type="select" label="Parameter input">
|
|
53 <option value="custom">Upload own MDP file</option>
|
|
54 <option value="default">Use default (partially customisable) setting</option>
|
|
55 </param>
|
|
56 <when value="custom">
|
|
57 <param argument="mdp_input" type="data" format='mdp' label="MD parameters (MDP) file (optional; default settings if not set)."/>
|
|
58 </when>
|
|
59
|
|
60 <when value="default">
|
|
61 <param argument="integrator" type="select" label="Choice of integrator.">
|
|
62 <option value="steep">Steepest descent algorithm.</option>
|
|
63 <option value="cg">Conjugate gradient algorithm.</option>
|
|
64 <option value="l-bfgs">Quasi-Newtonian algorithm.</option>
|
|
65 </param>
|
|
66 <param argument="cutoffscheme" type="select" label="Neighbor searching.">
|
|
67 <option value="Verlet">Generate a pair list with buffering.</option>
|
|
68 <option value="group">Generate a pair list for groups of atoms.</option>
|
|
69 </param>
|
|
70 <param argument="coulombtype" type="select" label="Electrostatics.">
|
|
71 <option value="PME">Fast smooth Particle-Mesh Ewald (SPME) electrostatics.</option>
|
|
72 <option value="P3M-AD">Particle-Particle Particle-Mesh algorithm with analytical derivative.</option>
|
|
73 <option value="Reaction-Field-zero">Reaction field electrostatics.</option>
|
|
74 </param>
|
|
75 <param argument="rcoulomb" value="1.0" type="float" label="Distance for the Coulomb cut-off."/>
|
|
76 <param argument="rlist" value="1.0" type="float" label="Cut-off distance for the short-range neighbor list. Ignored if the Verlet cutoff scheme is set."/>
|
|
77 <param argument="rvdw" value="1.0" type="float" label="Short range van der Waals cutoff."/>
|
|
78 <param argument="md_steps" type="integer" label="Number of steps for the MD simulation" value="0" min="0" max="1000000" help="MD steps" />
|
|
79 <param argument="emtol" type="float" label="EM tolerance" value="0" min="0" max="10000" help="The minimization is converged when the maximum force is smaller than this value" />
|
|
80 <param argument="emstep" type="float" label="Maximum step size /nm" value="0.01" min="0.0001" max="1.0" help="Initial step size in nm." />
|
|
81 </when>
|
|
82 </conditional>
|
|
83 <expand macro="log" />
|
|
84 </inputs>
|
|
85 <outputs>
|
|
86 <data name="output1" format="gro" from_work_dir="em.gro"/>
|
|
87 <data name="output2" format="edr" from_work_dir="em.edr"/>
|
|
88 <expand macro="log_outputs" />
|
|
89 </outputs>
|
|
90 <tests>
|
|
91 <test>
|
|
92 <param name="gro_input" value="str_ions.gro" />
|
|
93 <param name="top_input" value="topol_solv.top" />
|
|
94 <param name="mdpfile" value="default" />
|
|
95 <param name="integrator" value="steep" />
|
|
96 <param name="cutoffscheme" value="Verlet" />
|
|
97 <param name="coulombtype" value="PME" />
|
|
98 <param name="rcoulomb" value="1.0" />
|
|
99 <param name="rlist" value="1.0" />
|
|
100 <param name="md_steps" value="50000" />
|
|
101 <param name="emtol" value="1000.0" />
|
|
102 <param name="emstep" value="0.01" />
|
|
103 <output name="output1" ftype="gro" >
|
|
104 <assert_contents>
|
|
105 <has_size value="4281" />
|
|
106 </assert_contents>
|
|
107 </output>
|
|
108 <output name="output2" ftype="edr" >
|
|
109 <assert_contents>
|
|
110 <!-- this binary can vary in size a lot unfortunately -->
|
|
111 <has_size value="5000" delta="1000" />
|
|
112 </assert_contents>
|
|
113 </output>
|
|
114 </test>
|
|
115 <test>
|
|
116 <param name="gro_input" value="str_ions.gro" />
|
|
117 <param name="top_input" value="topol_solv.top" />
|
|
118 <param name="mdpfile" value="custom" />
|
|
119 <param name="mdp_input" value="minim.mdp" />
|
|
120 <output name="output1" ftype="gro" >
|
|
121 <assert_contents>
|
|
122 <has_size value="4281" />
|
|
123 </assert_contents>
|
|
124 </output>
|
|
125 <output name="output2" ftype="edr" >
|
|
126 <assert_contents>
|
|
127 <!-- this binary can vary in size a lot unfortunately -->
|
|
128 <has_size value="5000" delta="1000" />
|
|
129 </assert_contents>
|
|
130 </output>
|
|
131 </test>
|
|
132
|
|
133 </tests>
|
|
134 <help><![CDATA[
|
|
135
|
|
136 .. class:: infomark
|
|
137
|
|
138 **What it does**
|
|
139
|
|
140 This tool performs energy minimization of a system prior to a GROMACS simulation.
|
|
141
|
|
142 _____
|
|
143
|
|
144 .. class:: infomark
|
|
145
|
|
146 **Input**
|
|
147
|
|
148 - GRO structure file.
|
|
149 - Topology (TOP) file.
|
|
150 - MDP parameter file (optional)
|
|
151
|
|
152 To take advantage of all GROMACS features, upload an MDP file with simulation parameters. Otherwise, choose parameters through the Galaxy interface. See the `manual`_ for more information on the options.
|
|
153
|
|
154 .. _`manual`: http://manual.gromacs.org/documentation/2018/user-guide/mdp-options.html
|
|
155
|
|
156 _____
|
|
157
|
|
158
|
|
159 .. class:: infomark
|
|
160
|
|
161 **Output**
|
|
162
|
|
163 - GRO structure file.
|
|
164
|
|
165 ]]></help>
|
|
166
|
|
167 <expand macro="citations" />
|
|
168 </tool>
|