changeset 0:666dc804011d draft

Uploaded
author fmercuri
date Mon, 28 Jun 2021 10:08:59 +0000
parents
children 6ec13c83bcae
files nvt.xml
diffstat 1 files changed, 166 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nvt.xml	Mon Jun 28 10:08:59 2021 +0000
@@ -0,0 +1,166 @@
+<tool id="gmx_nvt" name="GROMACS NVT equilibration" version="@VERSION@">
+    <description>- constant-temperature and -volume 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' ./nvt.mdp &&
+        #end if
+        #if $mdp.mdpfile == "default":
+            ln -s '$nvt' ./nvt.mdp &&
+        #end if
+        
+        ln -s '$gro_input' ./em.gro &&
+        ln -s '$top_input' ./top_input.top &&
+        ln -s '$itp_input' ./posres.itp &&
+
+        gmx grompp -f ./nvt.mdp -c ./em.gro -r ./em.gro -p ./top_input.top -o nvt.tpr &>> verbose.txt &&
+        gmx mdrun -deffnm nvt &>> verbose.txt
+        
+        #if $str == 'pdb' or $str == 'both'
+            && gmx editconf -f nvt.gro -o nvt.pdb &>> verbose.txt
+        #end if
+    ]]></command>
+        <configfiles>
+            <!-- .mdp file for the gromacs simulation -->
+            <configfile name="nvt">
+                #if $mdp.mdpfile == 'default':
+                    title    = NVT 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 n ps
+                    nstvout     = $mdp.write_freq    ; save velocities every n ps
+                    nstenergy   = $mdp.write_freq    ; save energies every n ps
+                    nstlog      = $mdp.write_freq    ; update log file every n ps
+                    nstxout-compressed  = $mdp.write_freq      ; save compressed coordinates every 10.0 ps
+                    ; Bond parameters
+                    continuation          = no    ; first dynamics run
+                    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
+                    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    = $mdp.sysname ; two coupling groups - more accurate
+                    tau_t      = 0.1 ; time constant, in ps
+                    ref_t      = $mdp.temperature; reference temperature, one for each group, in K
+                    ; Pressure coupling is off
+                    pcoupl    = no     ; no pressure coupling in NVT
+                    ; Periodic boundary conditions
+                    pbc    = xyz        ; 3-D PBC
+                    ; Dispersion correction
+                    DispCorr  = EnerPres  ; account for cut-off vdW scheme
+                    ; Velocity generation
+                    gen_vel    = yes    ; assign velocities from Maxwell distribution
+                    gen_temp  = 300    ; temperature for Maxwell distribution
+                    gen_seed  = -1    ; generate a random seed
+                #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="itp_input" type="data" format='itp' label="Position restraint file."/>
+
+        <expand macro="md_inputs"/>
+    </inputs>
+    <outputs>
+        <data name="output1" format="gro" from_work_dir="nvt.gro">
+            <filter>str == 'gro' or str == 'both'</filter>
+        </data>
+        <data name="output5" format="pdb" from_work_dir="nvt.pdb">
+            <filter>str == 'pdb' or str == 'both'</filter>
+        </data>
+        <data name="output2" format="cpt" from_work_dir="nvt.cpt"/>
+        <data name="output3" format="trr" from_work_dir="nvt.trr">
+            <filter>traj == 'trr' or traj == 'both'</filter>
+        </data>
+        <data name="output4" format="xtc" from_work_dir="nvt.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="em.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <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="nvt.gro" ftype="gro" compare="sim_size"/>
+            <output name="output2" file="nvt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output4" file="nvt.xtc" ftype="xtc" compare="sim_size"/>
+            <output name="output5" file="nvt.pdb" ftype="pdb" compare="sim_size"/>
+            
+        </test>
+        <test>
+            <param name="gro_input" value="em.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <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="nvt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output4" file="nvt.xtc" ftype="xtc" compare="sim_size"/>
+            <output name="output5" file="nvt.pdb" ftype="pdb" compare="sim_size"/>
+    
+        </test>
+        <test>
+            <param name="gro_input" value="em.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="str" value="gro"/>
+            <param name="traj" value="trr"/>
+            
+            <expand macro="test_params"/>
+            
+            <output name="output1" file="nvt.gro" ftype="gro" compare="sim_size"/>
+            <output name="output2" file="nvt.cpt" ftype="cpt" compare="sim_size"/>
+            <output name="output3" file="nvt.trr" ftype="trr" compare="sim_size"/>
+        </test>
+        <test>
+            <param name="gro_input" value="em.gro" />
+            <param name="top_input" value="topol_solv.top" />
+            <param name="itp_input" value="posres.itp" />
+            <param name="mdpfile" value="custom" />
+            <param name="mdp_input" value="nvt.mdp" />
+            <param name="traj" value="none"/>
+            <param name="str" value="gro"/>
+            <output name="output1" file="nvt.gro" ftype="gro" compare="sim_size"/>
+            <output name="output2" file="nvt.cpt" ftype="cpt" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+Upload GRO, TOP and ITP (position restraint) files for equilibration under an NVT ensemble. 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/documentation/2018/user-guide/mdp-options.html for more information on the options.
+    ]]></help>
+
+    <expand macro="citations" />
+</tool>