comparison docking.xml @ 9:90ea16534012 draft default tip

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/autodock_vina commit 8ae58ec16b3b6d62b47022745211f11181ad78ea"
author bgruening
date Tue, 21 Dec 2021 14:18:33 +0000
parents 7a871df65202
children
comparison
equal deleted inserted replaced
8:7a871df65202 9:90ea16534012
1 <tool id="docking" name="VINA Docking" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@"> 1 <tool id="docking" name="VINA Docking" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@">
2 <description>tool to perform protein-ligand docking with Autodock Vina</description>
2 <macros> 3 <macros>
3 <token name="@TOOL_VERSION@">1.1.2</token> 4 <token name="@TOOL_VERSION@">1.2.3</token>
4 <token name="@GALAXY_VERSION@">0</token> 5 <token name="@GALAXY_VERSION@">0</token>
5 </macros> 6 </macros>
6 <description>tool to perform protein-ligand docking with Autodock Vina</description>
7 <requirements> 7 <requirements>
8 <requirement type="package" version="@TOOL_VERSION@">autodock-vina</requirement> 8 <requirement type="package" version="@TOOL_VERSION@">vina</requirement>
9 <requirement type="package" version="3.9">python</requirement>
9 <requirement type="package" version="3.1.1">openbabel</requirement> 10 <requirement type="package" version="3.1.1">openbabel</requirement>
10 <requirement type="package" version="20200722">parallel</requirement> 11 <requirement type="package" version="20211022">parallel</requirement>
11 </requirements> 12 </requirements>
12 <command detect_errors="exit_code"><![CDATA[ 13 <command detect_errors="exit_code"><![CDATA[
13 #if $ligands.is_of_type("sdf") 14 #if $ligands.is_of_type("sdf")
14 obabel -isdf '$ligands' -O ligand.pdbqt -m -p $ph_value && 15 obabel -isdf '$ligands' -O ligand.pdbqt -m -p $ph_value &&
15 #else 16 #else
16 ln -s '$ligands' ligand1.pdbqt && 17 ln -s '$ligands' ligand1.pdbqt &&
17 #end if 18 #end if
18 mkdir output && 19 mkdir output &&
19 ls ligand*.pdbqt | parallel --will-cite -j \${GALAXY_SLOTS:-1} $'OUTNAME={.}_docked && vina 20 ls ligand*.pdbqt | parallel --will-cite -j \${GALAXY_SLOTS:-1} $'OUTNAME={.}_docked && vina
20 --receptor \'$receptor\' 21 --receptor \'$receptor\'
22 #if $flex:
23 --flex \'$flex\'
24 #end if
21 --ligand {} 25 --ligand {}
22 --out ./\${OUTNAME}.pdbqt 26 --out ./\${OUTNAME}.pdbqt
23 --log ./\${OUTNAME}.log
24 --cpu 1 27 --cpu 1
25 #if $config_params.config_params == 'vals': 28 --verbosity 2
29 #if $config_params.config_params == "vals":
26 --center_x $config_params.center_x 30 --center_x $config_params.center_x
27 --center_y $config_params.center_y 31 --center_y $config_params.center_y
28 --center_z $config_params.center_z 32 --center_z $config_params.center_z
29 --size_x $config_params.size_x 33 --size_x $config_params.size_x
30 --size_y $config_params.size_y 34 --size_y $config_params.size_y
31 --size_z $config_params.size_z 35 --size_z $config_params.size_z
32 #if $config_params.exh != "": 36 #if $config_params.exh != "":
33 --exhaustiveness $config_params.exh 37 --exhaustiveness $config_params.exh
34 #end if 38 #end if
35 #if $config_params.seed.seed == 'true': 39 #if $config_params.seed.seed == "true":
36 --seed $config_params.seed.seed_value 40 --seed $config_params.seed.seed_value
37 #end if 41 #end if
38 #else if $config_params.config_params == 'file': 42 #else if $config_params.config_params == "file":
39 --config $config_params.box 43 --config $config_params.box
40 #if $config_params.exh != "": 44 #if $config_params.exh != "":
41 --exhaustiveness $config_params.exh 45 --exhaustiveness $config_params.exh
42 #end if 46 #end if
43 #end if 47 #end if
44 && python \'$__tool_directory__/convert_pdbqt_to_sdf.py\' ./\${OUTNAME}.pdbqt output/\${OUTNAME}.sdf' 48 #if $settings.scoring:
45 49 --scoring \'$settings.scoring\'
50 #end if
51 #if $settings.num_modes:
52 --num_modes \'$settings.num_modes\'
53 #end if
54 #if $settings.min_rmsd:
55 --min_rmsd \'$settings.min_rmsd\'
56 #end if
57 #if $settings.energy_range:
58 --energy_range \'$settings.energy_range\'
59 #end if
60 #if $output == "sdf":
61 && python \'$__tool_directory__/convert_pdbqt_to_sdf.py\' ./\${OUTNAME}.pdbqt output/\${OUTNAME}.sdf
62 #end if
63 '
64 #if $output == "pdbqt":
65 && mv *docked.pdbqt output/
66 #end if
46 ]]></command> 67 ]]></command>
47 <inputs> 68 <inputs>
48 <param type="data" name="receptor" format="pdbqt" label="Receptor" help="Select a receptor (PDBQT format). This can be prepared using the receptor preparation tool." /> 69 <param type="data" name="receptor" format="pdbqt" label="Receptor" help="Select a receptor (PDBQT format). This can be prepared using the receptor preparation tool. If the 'Flexible side chains' option is chosen, it should contain only the rigid part of the receptor." />
49 <param type="data" name="ligands" format="sdf,pdbqt" label="Ligands" help="Select ligands (SDF format with multiple ligands or PDBQT format with single ligand)." /> 70 <param type="data" name="ligands" format="sdf,pdbqt" label="Ligands" help="Select ligands (SDF format with multiple ligands or PDBQT format with single ligand)." />
71 <param type="data" name="flex" format="pdbqt" optional="true" label="Flexible side chains" help="Part of the receptor which should be treated flexibly (PDBQT format)." />
50 <param name="ph_value" type="float" value="7.4" min="0" max="14" label="Specify pH value for ligand protonation" 72 <param name="ph_value" type="float" value="7.4" min="0" max="14" label="Specify pH value for ligand protonation"
51 help="Only used in case the input is a SD file."/> 73 help="Only used if the input is a SD file."/>
52 <conditional name="config_params"> 74 <conditional name="config_params">
53 <param name="config_params" type="select" label="Specify parameters"> 75 <param name="config_params" type="select" label="Specify parameters">
54 <option value="file">Upload a config file to specify parameters</option> 76 <option value="file">Upload a config file to specify parameters</option>
55 <option value="vals">Specify values directly</option> 77 <option value="vals">Specify values directly</option>
56 </param> 78 </param>
75 <param type="data" name="box" format="txt" label="Box configuration" help="Text file with the box configurations" /> 97 <param type="data" name="box" format="txt" label="Box configuration" help="Text file with the box configurations" />
76 <param type="integer" name="exh" label="Exhaustiveness" optional="true" 98 <param type="integer" name="exh" label="Exhaustiveness" optional="true"
77 help="Exhaustiveness of global search (optional - if not specified a default of 8 is used, if specified will override any value specified in the config file)"/> 99 help="Exhaustiveness of global search (optional - if not specified a default of 8 is used, if specified will override any value specified in the config file)"/>
78 </when> 100 </when>
79 </conditional> 101 </conditional>
102
103 <section name="settings" title="Optional settings" expanded="true" help="All these settings can also be specified in the config file. Specifying them additionally here overrides the config file.">
104 <param type="select" name="scoring" label="Scoring function" optional="true" help="Function to use for scoring the poses." value="vina">
105 <option value="vina">vina</option>
106 <option value="ad4">ad4</option>
107 <option value="vinardo">vinardo</option>
108 </param>
109 <param type="integer" name="num_modes" optional="true" label="Number of poses" help="Maximum number of binding poses to generate (default 9)" />
110 <param type="float" name="min_rmsd" optional="true" label="Minimum RMSD between output poses (default 1)" />
111 <param type="float" name="energy_range" optional="true" label="Energy range" help="Maximum energy difference between the best binding mode and the worst one displayed (kcal/mol) (default 3)"/>
112 </section>
113 <param type="select" name="output" label="Output format" help="Format for the docking poses.">
114 <option value="sdf" selected="true">SDF</option>
115 <option value="pdbqt">PDBQT</option>
116 </param>
80 </inputs> 117 </inputs>
81 <outputs> 118 <outputs>
82 <collection name="sdf_outputs" type="list" label="Docked ligands for ${on_string}" > 119 <collection name="sdf_outputs" type="list" label="Docked ligands for ${on_string}" >
83 <discover_datasets pattern="__name_and_ext__" directory="output" visible="false" /> 120 <discover_datasets pattern="__name_and_ext__" directory="output" visible="false" />
121 <filter>output == "sdf"</filter>
122 </collection>
123 <collection name="pdbqt_outputs" type="list" label="Docked structures for ${on_string}" >
124 <discover_datasets pattern="__name_and_ext__" directory="output" visible="false" />
125 <filter>output == "pdbqt"</filter>
84 </collection> 126 </collection>
85 </outputs> 127 </outputs>
86 <tests> 128 <tests>
87
88 <test> 129 <test>
89 <param name="receptor" value="protein.pdbqt"/> 130 <param name="receptor" value="protein.pdbqt"/>
90 <param name="ligands" value="input_ligands.sdf"/> 131 <param name="ligands" value="input_ligands.sdf"/>
91 <param name="box" value="box.txt"/> 132 <param name="box" value="box.txt"/>
92 <output_collection name="sdf_outputs" type="list" count="5"> 133 <output_collection name="sdf_outputs" type="list" count="5">
93 <element name="ligand1_docked" file="ligand1_docked.sdf" lines_diff="20"/> 134 <!-- linesdiff because there is a time stamp for each of the 9 poses -->
94 <element name="ligand2_docked" file="ligand2_docked.sdf" lines_diff="20"/> 135 <element name="ligand1_docked" file="ligand1_docked.sdf" lines_diff="18"/>
136 <element name="ligand2_docked" file="ligand2_docked.sdf" lines_diff="18"/>
95 <!-- we check only the first 2 --> 137 <!-- we check only the first 2 -->
96 </output_collection> 138 </output_collection>
97 </test> 139 </test>
98 140
99 <test> 141 <test>
100 <param name="receptor" value="protein.pdbqt"/> 142 <param name="receptor" value="protein.pdbqt"/>
101 <param name="ligands" value="input_ligand.pdbqt"/> 143 <param name="ligands" value="input_ligand.pdbqt"/>
102 <param name="box" value="box.txt"/> 144 <param name="box" value="box.txt"/>
103 <output_collection name="sdf_outputs" type="list" count="1"> 145 <output_collection name="sdf_outputs" type="list" count="1">
104 <element name="ligand1_docked" file="ligand_docked.sdf" lines_diff="1084"/> 146 <element name="ligand1_docked" file="ligand_docked.sdf" lines_diff="18"/>
147 </output_collection>
148 </test>
149
150 <!-- test with optional params -->
151 <test>
152 <param name="receptor" value="protein.pdbqt"/>
153 <param name="ligands" value="input_ligand.pdbqt"/>
154 <param name="box" value="box.txt"/>
155 <param name="scoring" value="vinardo"/>
156 <param name="energy_range" value="5"/>
157 <param name="num_modes" value="20"/>
158 <param name="min_rmsd" value="0.5"/>
159 <output_collection name="sdf_outputs" type="list" count="1">
160 <element name="ligand1_docked" file="ligand_docked_opt.sdf" lines_diff="40"/>
105 </output_collection> 161 </output_collection>
106 </test> 162 </test>
107 163
108 <!-- TODO - this should be able to use the same output as the previous test but there is inconsistency in 164 <!-- TODO - this should be able to use the same output as the previous test but there is inconsistency in
109 how the parameters are handled that needs to be resolved so we use a different output file to compare to. --> 165 how the parameters are handled that needs to be resolved so we use a different output file to compare to. -->
119 <param name="size_z" value="15.521999999999991" /> 175 <param name="size_z" value="15.521999999999991" />
120 <param name="seed" value="true" /> 176 <param name="seed" value="true" />
121 <param name="seed_value" value="8" /> 177 <param name="seed_value" value="8" />
122 <param name="exh" value="10" /> 178 <param name="exh" value="10" />
123 <output_collection name="sdf_outputs" type="list" count="1"> 179 <output_collection name="sdf_outputs" type="list" count="1">
124 <element name="ligand1_docked" file="ligand_params.sdf" lines_diff="1084"/> 180 <element name="ligand1_docked" file="ligand_params.sdf" lines_diff="18"/>
125 </output_collection> 181 </output_collection>
126 </test> 182 </test>
127 183
184 <!-- flexible docking -->
185 <test>
186 <param name="receptor" value="protein_rigid.pdbqt"/>
187 <param name="flex" value="protein_flex.pdbqt"/>
188 <param name="ligands" value="input_ligands.sdf"/>
189 <param name="config_params" value="vals"/>
190 <param name="center_x" value="15.2" />
191 <param name="center_y" value="53.9" />
192 <param name="center_z" value="16.9" />
193 <param name="size_x" value="20" />
194 <param name="size_y" value="20" />
195 <param name="size_z" value="20" />
196 <param name="seed" value="true" />
197 <param name="seed_value" value="8" />
198 <param name="exh" value="10" />
199 <param name="output" value="pdbqt"/>
200 <output_collection name="pdbqt_outputs" type="list" count="5">
201 <element name="ligand1_docked" file="ligand1_docked_flex.pdbqt"/>
202 <element name="ligand2_docked" file="ligand2_docked_flex.pdbqt"/>
203 <!-- we check only the first 2 -->
204 </output_collection>
205 </test>
128 </tests> 206 </tests>
129 <help><![CDATA[ 207 <help><![CDATA[
130 208
131 This tool performs protein-ligand docking using the Autodock Vina program. 209 This tool performs protein-ligand docking using the Autodock Vina program.
132 210
243 0.000 321 0.000
244 322
245 ]]></help> 323 ]]></help>
246 <citations> 324 <citations>
247 <citation type="doi">10.1002/jcc.21334</citation> 325 <citation type="doi">10.1002/jcc.21334</citation>
326 <citation type="doi">10.1021/acs.jcim.1c00203</citation>
248 </citations> 327 </citations>
249 </tool> 328 </tool>