diff smina.xml @ 1:dc6fb5c5d4c8 draft

planemo upload commit 489ad526806f22eefcb73e8d8efe44d648e8185e
author marpiech
date Mon, 12 Sep 2016 06:00:34 -0400
parents 75f2b4087722
children 958fa7ba4715
line wrap: on
line diff
--- a/smina.xml	Tue Aug 30 03:18:58 2016 -0400
+++ b/smina.xml	Mon Sep 12 06:00:34 2016 -0400
@@ -1,4 +1,5 @@
-<tool id="smina" name="smina" version="0.1.0">
+<tool id="smina" name="smina" version="1.0">
+    <description>Scoring and Minimization with AutoDock Vina</description>
     <stdio>
         <exit_code range="1:" />
     </stdio>
@@ -62,35 +63,98 @@
                                                     #if $minimize_iters  
                                                     --minimize_iters $minimize_iters 
                                                     #end if
+                                                    #if $accurate_line=="true"
+                                                    --accurate_line
+                                                    #end if
+                                                    #if $minimize_early_term=="true"
+                                                    --minimize_early_term
+                                                    #end if
+                                                    #if $approximation
+                                                    --approximation $approximation
+                                                    #end if
+                                                    #if $factor
+                                                    --factor $factor
+                                                    #end if
+                                                    #if $force_cap
+                                                    --force_cap $force_cap
+                                                    #end if
+                                                    #if $user_grid
+                                                    --user_grid $user_grid
+                                                    #end if
+                                                    #if $user_grid_lambda
+                                                    --user_grid_lambda $user_grid_lambda
+                                                    #end if
+                                                    #if $print_terms=="true"
+                                                    --print_terms
+                                                    #end if
+                                                    #if $print_atom_types=="true"
+                                                    --print_atom_types
+                                                    #end if
 
-                                                    --seed 1000 > $output;
-                                                    cat $output > /tmp/ouput
+                                                    #if $out
+                                                    --out $out
+                                                    #end if
+                                                    #if $out_flex
+                                                    --out_flex $out_flex
+                                                    #end if
+                                                    #if $atom_terms
+                                                    --atom_terms $atom_terms
+                                                    #end if
+                                                    #if $atom_term_data=="true"
+                                                    --atom_term_data
+                                                    #end if
+
+                                                    #if $seed
+                                                    --seed $seed
+                                                    #end if
+                                                    #if $exhaustiveness
+                                                    --exhaustiveness $exhaustiveness
+                                                    #end if
+                                                    #if $num_modes
+                                                    --num_modes $num_modes
+                                                    #end if
+                                                    #if $energy_range
+                                                    --energy_range $energy_range
+                                                    #end if
+                                                    #if $min_rmsd_filter
+                                                    --min_rmsd_filter $min_rmsd_filter
+                                                    #end if
+                                                    #if $addH=="false"
+                                                    --addH false
+                                                    #end if
+
+                                                    > $stand_output;
+    #if $out # cat $out > $out_output; #end if #
+    #if $out_flex # cat $out_flex > $out_flex_output; #end if #
+    #if $atom_terms # cat $atom_terms > $atom_terms_output; #end if #
+
+    cat $stand_output > /tmp/ouput
     ]]>
     </command>
     <inputs>
-        <param name="receptor" type="data" format="pdbqt" label="receptor: rigid part of the receptore" />
-        <param name="ligand" type="data" format="data" label="ligand: ligand(s)" />
+        <param name="receptor" type="data" format="pdbqt" label="rigid part of the receptore" help="(--receptor)"/>
+        <param name="ligand" type="data" format="data" label="ligand(s)" help="(--ligand)"/>
 
-        <param name="flex" type="data" format="pdbqt" label="flex: flexible side chains, if any" optional="true" />
-        <param name="flexres" type="text" label="flexres: flexible side chains specified by comma separated list of chain:resid" optional="true" />
-        <param name="flexdist_ligand" type="data" format="data" label="flexdist_ligand: Ligand to use for flexdist" optional="true" />
-        <param name="flexdist" type="float" label="flexdist: set all side chains within specified distance to flexdist_ligand to flexible" optional="true" />
+        <param name="flex" type="data" format="pdbqt" label="flexible side chains, if any" optional="true" help="(--flex"/>
+        <param name="flexres" type="text" label="flexible side chains specified by comma separated list of chain:resid" optional="true" help="(--flexres)"/>
+        <param name="flexdist_ligand" type="data" format="data" label="Ligand to use for flexdist" optional="true" help="(--flexdist_ligand)"/>
+        <param name="flexdist" type="float" label="set all side chains within specified distance to flexdist_ligand to flexible" optional="true" help="(flexdist)"/>
 
-        <param name="center_x" type="float" value="0" label="center_x: X coordinate of the center" />
-        <param name="center_y" type="float" value="0" label="center_y: Y coordinate of the center" />
-        <param name="center_z" type="float" value="0" label="center_z: Z coordinate of the center" />
-        <param name="size_x" type="integer" value="1" label="size_x: size in the X dimension" />
-        <param name="size_y" type="integer" value="1" label="size_y: size in the Y dimension" />
-        <param name="size_z" type="integer" value="1" label="size_z: size in the Z dimension" />
+        <param name="center_x" type="float" value="0" label="X coordinate of the center" help="(--center_x)"/>
+        <param name="center_y" type="float" value="0" label="Y coordinate of the center" help="(--center_y)"/>
+        <param name="center_z" type="float" value="0" label="Z coordinate of the center" help="(--center_z)"/>
+        <param name="size_x" type="integer" value="1" label="size in the X dimension" help="(--size_x)"/>
+        <param name="size_y" type="integer" value="1" label="size in the Y dimension" help="(--size_y)"/>
+        <param name="size_z" type="integer" value="1" label="size in the Z dimension" help="(--size_z)"/>
 
-        <param name="autobox_ligand" type="data" format="data" label="autobox_ligand: Ligand to use for autobox" optional="true" />
-        <param name="autobox_add" type="float" value="4" label="autobox_add: Amount of buffer space to add to auto-generated box text(default +4 on all six sides)" optional="true" />
-        <param name="no_lig" type="select" label="no_lig: no ligand; for sampling/minimizing flexible residues (Type true if you want to use it)" optional="true">
+        <param name="autobox_ligand" type="data" format="data" label="Ligand to use for autobox" optional="true" help="(--autobox_ligand)"/>
+        <param name="autobox_add" type="float" label="Amount of buffer space to add to auto-generated box text(default +4 on all six sides)" optional="true" help="(autobox_add)"/>
+        <param name="no_lig" type="select" label="no ligand; for sampling/minimizing flexible residues (Type true if you want to use it)" help="(no_lig)">
             <option value="false" selected="true">Don't use this option</option>
             <option value="true">Use this option</option>
         </param>
 
-        <param name="scoring" type="select" label="scoring: specify alternative builtin scoring function" optional="true">
+        <param name="scoring" type="select" label="specify alternative builtin scoring function" help="(--scoring)">
             <option value="default" selected="true">default</option>
             <option value="ad4_scoring">ad4_scoring</option>
             <option value="dkoes_fast">dkoes_fast</option>
@@ -99,28 +163,79 @@
             <option value="vina">vina</option>
             <option value="vinardo">vinardo</option>
         </param>
-        <param name="custom_scoring" type="data" format="data" label="custom_scoring: custom scoring function file" optional="true" />
-        <param name="custom_atoms" type="data" format="data" label="custom_atoms: custom atom type parameters file" optional="true" />
-        <param name="score_only" type="select" label="score_only: score provided ligand pose" optional="true">
+        <param name="custom_scoring" type="data" format="data" label="custom scoring function file" optional="true" help="(--custom_scoring)"/>
+        <param name="custom_atoms" type="data" format="data" label="custom atom type parameters file" optional="true" help="(--custom_atoms)"/>
+        <param name="score_only" type="select" label="score provided ligand pose" help="(--score_only)">
             <option value="false" selected="true">Don't use this option</option>
             <option value="true">Use this option</option>
             </param>
-        <param name="local_only" type="select" label="local_only: local search only using autobox (you probably want to use --minimize)" optional="true">
+        <param name="local_only" type="select" label="local search only using autobox (you probably want to use --minimize)" help="(--local_only)">
+            <option value="false" selected="true">Don't use this option</option>
+            <option value="true">Use this option</option>
+        </param>
+        <param name="minimize" type="select" label="energy minimization" help="(--minimize)">
+            <option value="false" selected="true">Don't use this option</option>
+            <option value="true">Use this option</option>
+        </param>
+        <param name="randomize_only" type="select" label="generate random poses, attempting to avoid clashes" help="(--randomize_only)">
+            <option value="false" selected="true">Don't use this option</option>
+            <option value="true">Use this option</option>
+        </param>
+        <param name="minimize_iters" type="integer" label="number iterations of steepest descent; default scales with rotors and usually isn't sufficient for convergence" optional="true" help="(--minimize_iters)"/>    
+        <param name="accurate_line" type="select" label="use accurate line search" help="(--accurate_line)">
+            <option value="false" selected="true">Don't use this option</option>
+            <option value="true">Use this option</option>
+        </param>        
+        <param name="minimize_early_term" type="select" label="Stop minimization before convergence conditions are fully met" help="(--minimize_early_term)">
             <option value="false" selected="true">Don't use this option</option>
             <option value="true">Use this option</option>
         </param>
-        <param name="minimize" type="select" label="minimize: energy minimization" optional="true">
+        <param name="approximation" type="select" label="approximation (linear, spline, or exact) to use" optional="true" help="(--approximation)">
+            <option value="linear">linear</option>
+            <option value="spline">spline</option>
+            <option value="exact">exact</option>
+        </param>
+        <param name="factor" type="float" label="approximation factor: higher results in a finer-grained approximation" optional="true" help="(--factor)">
+            <validator type="in_range" min="0"/>
+        </param>
+        <param name="force_cap" type="float" label="max allowed force; lower values more gently minimize clashing structures" optional="true" help="(--force_cap)"/>
+        <param name="user_grid" type="float" label="Autodock map file for user grid data based calculations" optional="true" help="(--user_grid)"/>
+        <param name="user_grid_lambda" type="float" label="Scales user_grid and functional scoring" optional="true" help="(--user_grid)"/>
+        <param name="print_terms" type="select" label="Print all available terms with default parameterizations" help="(--print_terms)">
+            <option value="false" selected="true">Don't use this option</option>
+            <option value="true">Use this option</option>
+        </param>
+        <param name="print_atom_types" type="select" label="Print all available atom types" help="(--print_atom_types)">
             <option value="false" selected="true">Don't use this option</option>
             <option value="true">Use this option</option>
         </param>
-        <param name="randomize_only" type="select" label="randomize_only: generate random poses, attempting to avoid clashes" optional="true">
+
+        <param name="out" type="text" label="output file name, format taken from file extension" optional="true" help="(--out)"/>
+        <param name="out_flex" type="text" label="output file for flexible receptor residues" optional="true" help="(--out_flex)"/>
+        <param name="atom_terms" type="text" label="output file for flexible receptor residues" optional="true" help="(--atom_terms)"/>
+        <param name="atom_term_data" type="select" label="embedded per-atom interaction terms in output sd data" help="(--atom_term_data)">
             <option value="false" selected="true">Don't use this option</option>
             <option value="true">Use this option</option>
         </param>
-        <param name="minimize_iters" type="integer" label="minimize_iters: number iterations of steepest descent; default scales with rotors and usually isn't sufficient for convergence" optional="true" />
+
+        <param name="seed" type="float" label="explicit random seed" optional="true" help="(--seed)"/>
+        <param name="exhaustiveness" type="integer" label="exhaustiveness of the global search (roughly proportional to time)" optional="true" help="(--exhaustiveness)"/>
+        <param name="num_modes" type="integer" label="exhaustiveness of the global search (roughly proportional to time)" optional="true" help="(--num_modes)">
+            <validator type="in_range" min="1"/>
+        </param>
+        <param name="energy_range" type="float" label="maximum energy difference between the best binding mode and the worst one displayed (kcal/mol)" optional="true" help="(--energy_range)"/>
+        <param name="min_rmsd_filter" type="float" label="rmsd value used to filter final poses to remove redundancy" optional="true" help="(--min_rmsd_filter)"/>
+        <param name="addH" type="select" label="automatically add hydrogens in ligands (on by default)" help="(--addH)">
+            <option value="false" >Don't use this option</option>
+            <option value="true" selected="true">Use this option</option>
+        </param>
+
     </inputs>
     <outputs>
-        <data name="output" format="data" />
+        <data name="stand_output" format="data" />
+        <data name="out_output" format="data" />
+        <data name="out_flex_output" format="data" />
+        <data name="atom_terms_output" format="data" />
     </outputs>
     <tests>
         <test>
@@ -132,15 +247,95 @@
             <param name="size_x" value="22" />
             <param name="size_y" value="24" />
             <param name="size_z" value="28" />
-            <output name="output" file="smina/output_smina" />
+            <output name="stand_output" >
+                <assert_contents>
+                    <has_text_matching expression="Using random seed" />
+                </assert_contents>
+            </output>
         </test>
     </tests>
     <help>
-        "Smina help"
+        <![CDATA[
+************
+Description
+************
+
+A fork of AutoDock Vina that is customized to better support scoring function development and high-performance energy minimization. smina is maintained by David Koes at the University of Pittsburgh and is not directly affiliated with the AutoDock project.
+
+******
+Help
+******
+
+ **Input**
+
+ --receptor arg                             rigid part of the receptor (PDBQT)
+ --flex arg                                flexible side chains, if any (PDBQT)
+ --ligand arg                              ligand(s)
+ --flexres arg                             flexible side chains specified by comma separated list of chain:resid
+ --flexdist_ligand arg                     Ligand to use for flexdist
+ --flexdist arg          set all side chains within 
+                         specified distance to flexdist_ligand to flexible
+    
+ **Search space**
+
+ --center_x arg         X coordinate of the center
+ --center_y arg         Y coordinate of the center
+ --center_z arg         Z coordinate of the center
+ --size_x arg           size in the X dimension (Angstroms)
+ --size_y arg           size in the Y dimension (Angstroms)
+ --size_z arg           size in the Z dimension (Angstroms)
+ --autobox_ligand arg   Ligand to use for autobox
+ --autobox_add arg      Amount of buffer space to add 
+                        to auto-generated box (default +4 on all six sides)
+ --no_lig               no ligand; for 
+                        sampling/minimizing flexible residues
+
+ **Scoring and minimization options**
+
+ --scoring arg                       specify alternative
+                                     builtin scoring function
+ --custom_scoring arg                 custom scoring function file
+ --custom_atoms arg           custom atom type parameters file
+ --score_only                 score provided ligand pose
+ --local_only                 local search only using autobox (you probably want to use --minimize)
+ --minimize                   energy minimization
+ --randomize_only             generate random poses, attempting to avoid clashes
+ --minimize_iters arg         number iterations of steepest descent; 
+                              default scales with rotors and usually isn't
+                              sufficient for convergence
+ --accurate_line              use accurate line search  
+ --minimize_early_term        Stop minimization before convergence conditions are fully met.
+ --approximation arg          approximation (linear, spline, or exact) to use
+ --factor arg                 approximation factor: higher results in a finer-grained approximation
+ --force_cap arg              max allowed force; lower values more gently minimize clashing structures
+ --user_grid arg              Autodock map file for user grid data based calculations
+ --user_grid_lambda arg       Scales user_grid and functional scoring
+ --print_terms                Print all available terms with default parameterizations
+ --print_atom_types           Print all available atom types  
+
+ **Output**
+
+ --out arg      output file name, format taken from file extension
+ --out_flex arg        output file for flexible receptor residues
+ --atom_terms arg      optionally write per-atom interaction term values
+ --atom_term_data      embedded per-atom 
+                       interaction terms in output sd data
+
+ **Misc**
+
+ --seed arg                  explicit random seed
+ --exhaustiveness arg        exhaustiveness of the global search (roughly proportional to time)
+ --num_modes arg             maximum number of binding modes to generate
+ --energy_range arg          maximum energy difference between the best binding mode and the worst one displayed (kcal/mol)
+ --min_rmsd_filter arg      rmsd value used to filter final poses to remove redundancy
+ --addH arg                 automatically add hydrogens 
+                            in ligands (on by default)
+
+        ]]>
     </help>
     <citations>
         <citation type="bibtex">
-            @misc{renameTODO, author = {LastTODO, FirstTODO}, year = {TODO}, title = {TODO}, url = {https://sourceforge.net/projects/smina/}, }
+            @misc{url = {https://sourceforge.net/projects/smina/}, }
         </citation>
     </citations>
 </tool>