diff trj.xml @ 0:bb0053c4e4f2 draft

"planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/tools/gromacs commit 03127e495a0a1a022928c1a03527974c9e81b5a1"
author chemteam
date Tue, 21 Jan 2020 07:29:43 -0500
parents
children e9cc595562b8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trj.xml	Tue Jan 21 07:29:43 2020 -0500
@@ -0,0 +1,177 @@
+<tool id="gmx_trj" name="Modify/convert GROMACS trajectories" version="@VERSION@">
+    <description>using trjconv and trjcat</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="requirements" />
+
+    <command detect_errors="exit_code"><![CDATA[
+
+    #if $trj.trj_op == 'trjcat':
+        mkdir trajs &&
+        #for $value, $file in enumerate($trj_input):
+            ln -s '$file' trajs/traj_${value}.${file.ext} &&
+        #end for
+
+        gmx trjcat
+            -f trajs/traj* ## here we assume that they all have the same ext, probably reasonable
+            $trj.cat
+            -e '$time.e'
+
+    #elif $trj.trj_op == 'trjconv':
+        ln -s '$ndx_input' ./index.ndx &&
+        ln -s '$str_input' ./str.${str_input.ext} &&
+        ln -s '$trj_input' ./traj.${trj_input.ext} &&
+        #if $trj.center:
+            echo '$trj.index_center $trj.index_output' | gmx trjconv
+        #else
+            echo '$trj.index_output' | gmx trjconv
+        #end if
+            -f ./traj.${trj_input.ext}
+            -s ./str.${str_input.ext}
+            -n ./index.ndx
+            $trj.center
+            -pbc $trj.pbc
+            -ur $trj.ur
+            -boxcenter $trj.boxcenter
+            #if $time.e != -1:
+                -e '$time.e'
+            #end if
+
+    #end if
+
+    -b '$time.b'
+    -dt '$time.dt'
+    -o ./output.${output_format} &&
+      
+    mv ./output.${output_format} '$output'
+
+    ]]></command>
+
+    <inputs>
+        <conditional name="trj">
+            <param name="trj_op" type="select" label="Modify a trajectory or concatenate multiple trajectories?">
+                <option value="trjconv">Modify (trjconv)</option>
+                <option value="trjcat">Concatenate (trjcat)</option>
+            </param>
+            <when value="trjconv">
+                <param name="trj_input" type="data" format='xtc,trr' label="Input trajectory" help="In XTC or TRR format."/>
+                <param name="str_input" type="data" format='pdb,gro,tpr' label="Input structure" help="In PDB, GRO or TPR format."/>
+                <param name="ndx_input" type="data" format='ndx' label="Index (NDX) file" help="In NDX format."/>
+                <param name="index_output" type="text" label="Index of group to save in the output" help="Index of group to save in the output - i.e. the group's position in the ndx file (using zero-based numbering, so the first group has index 0).">
+                    <validator type="regex" message="Only numeric values allowed">^[0-9]*$</validator>
+                </param>
+                <param name="center" type="boolean" label="Center system in box" truevalue="-center" falsevalue=""/>
+                <param name="index_center" type="text" label="Index of group for centering" optional="true" help="Index of group for centering - i.e. the group's position in the ndx file (using zero-based numbering, so the first group has index 0). Leave blank if centering is not required.">
+                    <validator type="regex" message="Only numeric values allowed">^[0-9]*$</validator>
+                </param>
+                <param name="pbc" type="select" label="PBC treatment" >
+                    <option value="none">none</option>
+                    <option value="mol">mol</option>
+                    <option value="res">res</option>
+                    <option value="atom">atom</option>
+                    <option value="nojump">nojump</option>
+                    <option value="cluster">cluster</option>
+                    <option value="whole">whole</option>
+                </param>
+                <param name="ur" type="select" label="Unit cell representation" >
+                    <option value="rect">rect</option>
+                    <option value="tric" selected="true">tric</option>
+                    <option value="zero">zero</option>
+                </param>
+                <param name="boxcenter" type="select" label="Center for PBC and centering treatment" >
+                    <option value="rect">rect</option>
+                    <option value="tric">tric</option>
+                    <option value="compact">compact</option>
+                </param>
+            </when>
+            <when value="trjcat">
+                <param name="trj_input" type="data" format='xtc,trr' label="Input trajectories" help="In XTC or TRR format, but please do not mix the two. Please note this tool does not currently take order into account when concatenating." multiple="true"/>
+                <param name="cat" type="boolean" label="Do not discard double time frames" truevalue="-cat" falsevalue="-nocat"/>
+            </when>
+        </conditional>
+        <param name="output_format" type="select" label="Output format" >
+            <option value="xtc">XTC</option>
+            <option value="trr">TRR</option>
+            <option value="pdb">PDB</option>
+            <option value="gro">GRO</option>
+        </param>
+        <section title="Time" name='time' expanded="true">
+            <param name="b" type="integer" label="Start time" help="Time (ps) of first frame to read from trajectory" value="0" min="0"/>
+            <param name="e" type="integer" label="End time" help="Time (ps) of last frame to read from trajectory" value="-1"  min="-1"/> <!-- stupidly this has different default values for trjconv and trjcat -->
+            <param name="dt" type="integer" label="Write frames at this time interval (ps)" help="Only write frame when t is exactly divisible by this value. Leave as 0 to record all frames." value="0"  min="0"/>
+        </section>
+        <expand macro="log" />
+    </inputs>
+    <outputs>
+        <data name="output" format="xtc">
+            <change_format>
+                <when input="output_format" value="trr" format="trr"/>
+                <when input="output_format" value="xtc" format="xtc"/>
+                <when input="output_format" value="gro" format="dcd"/>
+                <when input="output_format" value="pdb" format="pdb"/>
+            </change_format>
+        </data>
+    </outputs> 
+    <tests>
+        <test>
+            <!-- gmx trjcat -f npt.xtc nvt.xtc -cat -o test.xtc -->
+            <param name="trj_op" value="trjcat" />
+            <param name="trj_input" value="npt.xtc,nvt.xtc" />
+            <param name="b" value="0" />
+            <param name="e" value="-1" />
+            <param name="dt" value="0" />
+            <param name="cat" value="true" />
+            <output name="output" file="trjcat.xtc" ftype="xtc"/>
+        </test>
+        <test>
+            <!-- echo '1 1' | gmx trjconv -f npt.xtc -s npt.tpr -n -center -pbc mol -ur compact -o npt_c.xtc -->
+            <param name="trj_op" value="trjconv" />
+            <param name="trj_input" value="npt.xtc" />
+            <param name="str_input" value="npt.tpr" ftype="tpr"/>
+            <param name="ndx_input" value="index.ndx" />
+            <param name="b" value="0" />
+            <param name="e" value="-1" />
+            <param name="dt" value="0" />
+            <param name="index_output" value="1" />
+            <param name="index_center" value="1" />
+            <param name="center" value="true" />
+            <param name="pbc" value="mol" />
+            <param name="ur" value="compact" />
+            <param name="ur" value="tric" />
+            <output name="output" file="trjconv.xtc" ftype="xtc"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+**What it does**
+
+This tool allows manipulation of GROMACS trajectories, drawing on the trjcat and trjconv commands.
+
+_____
+
+
+.. class:: infomark
+
+**Input**
+
+       - One or more trajectory file (XTC or TRR)
+       - Structure file (optional)
+       - Various options can be set
+
+_____
+
+        
+.. class:: infomark
+
+**Output**
+
+       - GROMACS trajectory or structure file (XTC, TRR, PDB, GRO)
+
+
+    ]]></help>
+    <expand macro="citations" />
+</tool>