Mercurial > repos > bgruening > autodock_vina
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> |