diff npt.xml @ 0:69ff679edefd draft

planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/tools/gromacs commit 177cab098ac548bfdecba9d9f04614aec5f6c618
author chemteam
date Thu, 04 Oct 2018 17:38:27 -0400
parents
children 5b01e6df25a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/npt.xml	Thu Oct 04 17:38:27 2018 -0400
@@ -0,0 +1,180 @@
+<tool id="gmx_npt" name="GROMACS NPT equilibration" version="@VERSION@">
+    <description>- constant-temperature and -pressure equilibration of a system</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="requirements" />
+
+    <command detect_errors="exit_code"><![CDATA[
+        #if $mdp.mdpfile == "custom":
+            ln -s '$mdp.mdp_input' ./npt.mdp &&
+        #end if
+        #if $mdp.mdpfile == "default":
+            ln -s '$npt' ./npt.mdp &&
+        #end if
+
+        ln -s '$gro_input' ./nvt.gro &&
+        ln -s '$cpt_input' ./nvt.cpt &&
+        ln -s '$top_input' ./top_input.top &&
+        ln -s '$itp_input' ./posres.itp &&
+
+        gmx grompp -f ./npt.mdp -c ./nvt.gro -r ./nvt.gro -t ./nvt.cpt -p ./top_input.top -o npt.tpr &>> verbose.txt &&
+        gmx mdrun -deffnm npt &>> verbose.txt
+
+        #if $str == 'pdb' or $str == 'both'
+            && gmx editconf -f npt.gro -o npt.pdb &>> verbose.txt
+        #end if
+
+    ]]></command>
+        <configfiles>
+            <!-- .mdp file for the gromacs simulation -->
+            <configfile name="npt">
+                #if $mdp.mdpfile == 'default':
+                    title    = NPT equilibration 
+                    define    = -DPOSRES  ; position restrain the protein
+                    ; Run parameters
+                    integrator  = $mdp.integrator    ; leap-frog integrator
+                    nsteps    = $mdp.md_steps    ; 2 * 50000 = 100 ps
+                    dt        = $mdp.step_length    ; 2 fs
+                    ; Output control
+                    nstxout    = $mdp.write_freq    ; save coordinates every 1.0 ps
+                    nstvout    = $mdp.write_freq    ; save velocities every 1.0 ps
+                    nstenergy  = $mdp.write_freq    ; save energies every 1.0 ps
+                    nstlog     = $mdp.write_freq    ; update log file every 1.0 ps
+                    nstxout-compressed  = $mdp.write_freq      ; save compressed coordinates every 10.0 ps
+
+                    ; Bond parameters
+                    continuation            = yes    ; Restarting after NVT 
+                    constraint_algorithm    = lincs      ; holonomic constraints 
+                    constraints             = $mdp.constraints  ; all bonds (even heavy atom-H bonds) constrained
+                    lincs_iter              = 1        ; accuracy of LINCS
+                    lincs_order             = 4        ; also related to accuracy
+                    ; Neighborsearching
+                    cutoff-scheme   = $mdp.cutoffscheme
+                    ns_type         = grid    ; search neighboring grid cells
+                    nstlist         = 10      ; 20 fs, largely irrelevant with Verlet scheme
+                    rcoulomb      = $mdp.rcoulomb    ; Short-range electrostatic cut-off
+                    rlist       = $mdp.rlist ; Cut-off distance for the short-range neighbor list.
+                    rvdw        = $mdp.rvdw    ; Short-range Van der Waals cut-off
+                    ; Electrostatics
+                    coulombtype      = $mdp.coulombtype    ; method for electrostatics calculations e.g. PME
+                    pme_order        = 4        ; cubic interpolation
+                    fourierspacing   = 0.16    ; grid spacing for FFT
+                    ; Temperature coupling is on
+                    tcoupl     = V-rescale              ; modified Berendsen thermostat
+                    tc-grps    = Protein Non-Protein  ; two coupling groups - more accurate
+                    tau_t      = 0.1    0.1          ; time constant, in ps
+                    ref_t      = $mdp.temperature $mdp.temperature    ; reference temperature, one for each group, in K
+                    ; Pressure coupling is on
+                    pcoupl            = Parrinello-Rahman      ; Pressure coupling on in NPT
+                    pcoupltype        = isotropic              ; uniform scaling of box vectors
+                    tau_p             = 2.0                ; time constant, in ps
+                    ref_p             = 1.0                ; reference pressure, in bar
+                    compressibility   = 4.5e-5              ; isothermal compressibility of water, bar^-1
+                    refcoord_scaling  = com
+                    ; Periodic boundary conditions
+                    pbc    = xyz    ; 3-D PBC
+                    ; Dispersion correction
+                    DispCorr  = EnerPres  ; account for cut-off vdW scheme
+                    ; Velocity generation
+                    gen_vel    = no    ; Velocity generation is off
+                #end if
+            </configfile>
+
+        </configfiles>
+    <inputs>
+        <param argument="gro_input" type="data" format='gro' label="GRO structure file."/>
+        <param argument="top_input" type="data" format='top' label="Topology (TOP) file."/>
+        <param argument="cpt_input" type="data" format='cpt' label="Checkpoint (CPT) file from NVT run."/>
+        <param argument="itp_input" type="data" format='itp' label="Position restraint file."/>
+        
+        <expand macro="md_inputs"/>
+    </inputs>
+    <outputs>
+        <data name="output1" format="gro" from_work_dir="npt.gro">
+            <filter>str == 'gro' or str == 'both'</filter>
+        </data>
+        <data name="output5" format="pdb" from_work_dir="npt.pdb">
+            <filter>str == 'pdb' or str == 'both'</filter>
+        </data>
+        <data name="output2" format="cpt" from_work_dir="npt.cpt"/>
+        <data name="output3" format="trr" from_work_dir="npt.trr">
+            <filter>traj == 'trr' or traj == 'both'</filter>
+        </data>
+        <data name="output4" format="xtc" from_work_dir="npt.xtc">
+            <filter>traj == 'xtc' or traj == 'both'</filter>
+        </data>
+        <data name="report" format="txt" from_work_dir="verbose.txt">
+            <filter>capture_log</filter>
+        </data>
+    </outputs>
+    
+    <tests>
+        <test>
+            <param name="gro_input" value="nvt.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="cpt_input" value="nvt.cpt" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="traj" value="xtc"/>
+            <param name="str" value="both"/>
+            
+            <expand macro="test_params"/>
+            
+            <output name="output1" file="npt.gro" ftype="gro" compare="sim_size"/>
+            <output name="output2" file="npt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output4" file="npt.xtc" ftype="xtc" compare="sim_size"/>
+            <output name="output5" file="npt.pdb" ftype="pdb" compare="sim_size"/>
+        </test>
+        
+        <test>
+            <param name="gro_input" value="nvt.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="cpt_input" value="nvt.cpt" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="traj" value="xtc"/>
+            <param name="str" value="pdb"/>
+            
+            <expand macro="test_params"/>
+            
+            <output name="output2" file="npt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output4" file="npt.xtc" ftype="xtc" compare="sim_size"/>
+            <output name="output5" file="npt.pdb" ftype="pdb" compare="sim_size"/>
+        </test>
+
+        <test>
+            <param name="gro_input" value="nvt.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="cpt_input" value="nvt.cpt" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="str" value="none"/>
+            <param name="traj" value="trr"/>
+            
+            <expand macro="test_params"/>
+            
+            <output name="output2" file="npt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output3" file="npt.trr" ftype="trr" compare="sim_size"/>
+        </test>
+
+        <test>
+            <param name="gro_input" value="nvt.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="cpt_input" value="nvt.cpt" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="mdpfile" value="custom" />
+            <param name="mdp_input" value="npt.mdp" />
+            <param name="traj" value="none"/>
+            <param name="str" value="gro"/>
+            <output name="output1" file="npt.gro" ftype="gro" compare="sim_size"/>
+            <output name="output2" file="npt.cpt" ftype="cpt" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+Upload GRO, TOP and ITP (position restraint) files for equilibration under an NPT ensemble, as well as the checkpoint (CPT) file from the NVT equilibration. To take advantage of all GROMACS features, upload an MDP file with simulation parameters. Otherwise, choose parameters through the Galaxy interface. See http://manual.gromacs.org/online/mdp_opt.html for more information on the options.
+
+    ]]></help>
+
+        <expand macro="citations" />
+    
+    </tool>