Mercurial > repos > bgruening > autodock_vina
comparison docking.xml @ 7:7b2f205b3f68 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/autodock_vina commit ef86cfa5f7ab5043de420511211579d03df58645"
author | bgruening |
---|---|
date | Wed, 02 Oct 2019 12:49:30 -0400 |
parents | 0ae768a0e5c0 |
children | 7a871df65202 |
comparison
equal
deleted
inserted
replaced
6:0ae768a0e5c0 | 7:7b2f205b3f68 |
---|---|
1 <tool id="docking" name="Docking" version="0.2.1"> | 1 <tool id="docking" name="VINA Docking" version="0.3.0"> |
2 <description>tool to perform protein-ligand docking with Autodock Vina</description> | 2 <description>tool to perform protein-ligand docking with Autodock Vina</description> |
3 <requirements> | 3 <requirements> |
4 <requirement type="package" version="1.1.2">autodock-vina</requirement> | 4 <requirement type="package" version="1.1.2">autodock-vina</requirement> |
5 <requirement type="package" version="2.4.1">openbabel</requirement> | 5 <requirement type="package" version="2.4.1">openbabel</requirement> |
6 <requirement type="package" version="20190722">parallel</requirement> | |
6 </requirements> | 7 </requirements> |
7 <stdio> | 8 <command detect_errors="exit_code"><![CDATA[ |
8 <exit_code range="1" /> | 9 #if $ligands.is_of_type("sdf") |
9 </stdio> | 10 obabel -isdf '$ligands' -O ligand.pdbqt -m -p $ph_value && |
10 <command><![CDATA[ | 11 #else |
12 ln -s '$ligands' ligand1.pdbqt && | |
13 #end if | |
14 mkdir output && | |
15 ls ligand*.pdbqt | parallel --will-cite -j \${GALAXY_SLOTS:-1} $'OUTNAME={.}_docked && vina | |
16 --receptor \'$receptor\' | |
17 --ligand {} | |
18 --out ./\${OUTNAME}.pdbqt | |
19 --log ./\${OUTNAME}.log | |
20 --cpu 1 | |
11 #if $config_params.config_params == 'vals': | 21 #if $config_params.config_params == 'vals': |
12 vina | 22 --center_x $config_params.center_x |
13 --center_x '$config_params.center_x' | 23 --center_y $config_params.center_y |
14 --center_y '$config_params.center_y' | 24 --center_z $config_params.center_z |
15 --center_z '$config_params.center_z' | 25 --size_x $config_params.size_x |
16 --size_x '$config_params.size_x' | 26 --size_y $config_params.size_y |
17 --size_y '$config_params.size_y' | 27 --size_z $config_params.size_z |
18 --size_z '$config_params.size_z' | |
19 --exhaustiveness '$config_params.exh' | |
20 --num_modes 9999 | |
21 --energy_range 9999 | |
22 --receptor '$receptor' | |
23 --ligand '$ligand' | |
24 --out './output1.dat' | |
25 --log './output2.dat' | |
26 --cpu \${GALAXY_SLOTS:-1} | |
27 #if $config_params.seed.seed == 'true': | |
28 --seed '$config_params.seed.seed_value' | |
29 #end if | |
30 #end if | |
31 #if $config_params.config_params == 'file': | |
32 vina | |
33 --config '$config_params.box' | |
34 --receptor '$receptor' | |
35 --ligand '$ligand' | |
36 --out './output1.dat' | |
37 --log './output2.dat' | |
38 --cpu \${GALAXY_SLOTS:-1} | |
39 #if $config_params.exh != "": | 28 #if $config_params.exh != "": |
40 --exhaustiveness $config_params.exh | 29 --exhaustiveness $config_params.exh |
41 #end if | 30 #end if |
31 #if $config_params.seed.seed == 'true': | |
32 --seed $config_params.seed.seed_value | |
33 #end if | |
34 #else if $config_params.config_params == 'file': | |
35 --config $config_params.box | |
36 #if $config_params.exh != "": | |
37 --exhaustiveness $config_params.exh | |
38 #end if | |
42 #end if | 39 #end if |
43 #if $output_format == 'sdf': | 40 && python \'$__tool_directory__/convert_pdbqt_to_sdf.py\' ./\${OUTNAME}.pdbqt output/\${OUTNAME}.sdf' |
44 && python '$__tool_directory__/convert_pdbqt_to_sdf.py' './output1.dat' '$sdf_output' | |
45 #else | |
46 && mv ./output1.dat '$file_output1' | |
47 && mv ./output2.dat '$file_output2' | |
48 #end if | |
49 | 41 |
50 ]]></command> | 42 ]]></command> |
51 <inputs> | 43 <inputs> |
52 <param type="data" name="receptor" format="pdbqt" label="Receptor" help="Select a receptor (PDBQT format). This can be prepared using the receptor preparation tool." /> | 44 <param type="data" name="receptor" format="pdbqt" label="Receptor" help="Select a receptor (PDBQT format). This can be prepared using the receptor preparation tool." /> |
53 <param type="data" name="ligand" format="pdbqt" label="Ligand" help="Select a ligand (PDBQT format). This can be prepared using the ligand preparation tool." /> | 45 <param type="data" name="ligands" format="sdf,pdbqt" label="Ligands" help="Select ligands (SDF format with multiple ligands or PDBQT format with single ligand)." /> |
46 <param name="ph_value" type="float" value="7.4" min="0" max="14" label="Specify pH value for ligand protonation" | |
47 help="Only used in case the input is a SD file."/> | |
54 <conditional name="config_params"> | 48 <conditional name="config_params"> |
55 <param name="config_params" type="select" label="Specify parameters"> | 49 <param name="config_params" type="select" label="Specify parameters"> |
56 <option value="file">Upload a config file to specify parameters</option> | 50 <option value="file">Upload a config file to specify parameters</option> |
57 <option value="vals">Specify values directly</option> | 51 <option value="vals">Specify values directly</option> |
58 </param> | 52 </param> |
61 <param type="float" name="center_y" label="y coordinate" help="y coordinate of the binding site." value="0"/> | 55 <param type="float" name="center_y" label="y coordinate" help="y coordinate of the binding site." value="0"/> |
62 <param type="float" name="center_z" label="z coordinate" help="z coordinate of the binding site." value="0"/> | 56 <param type="float" name="center_z" label="z coordinate" help="z coordinate of the binding site." value="0"/> |
63 <param type="float" name="size_x" label="x size" help="Length of the binding site (Å) in the x direction." value="0"/> | 57 <param type="float" name="size_x" label="x size" help="Length of the binding site (Å) in the x direction." value="0"/> |
64 <param type="float" name="size_y" label="y size" help="Length of the binding site (Å) in the y direction." value="0"/> | 58 <param type="float" name="size_y" label="y size" help="Length of the binding site (Å) in the y direction." value="0"/> |
65 <param type="float" name="size_z" label="z size" help="Length of the binding site (Å) in the z direction." value="0"/> | 59 <param type="float" name="size_z" label="z size" help="Length of the binding site (Å) in the z direction." value="0"/> |
66 <param type="integer" name="exh" label="Exhaustiveness" help="The number of poses to return from the docking job" value="10"/> | 60 <param type="integer" name="exh" label="Exhaustiveness" optional="true" |
61 help="Exhaustiveness of global search (optional - if not specified a default of 8 is used)"/> | |
67 <conditional name="seed"> | 62 <conditional name="seed"> |
68 <param name="seed" type="boolean" label="Specify random seed for simulation reproducibility?"/> | 63 <param name="seed" type="boolean" label="Specify random seed for simulation reproducibility?"/> |
69 <when value="true"> | 64 <when value="true"> |
70 <param type="integer" name="seed_value" label="Random seed" help="Choose a seed value" value="1"/> | 65 <param type="integer" name="seed_value" label="Random seed" help="Choose a seed value" value="1"/> |
71 </when> | 66 </when> |
72 <when value="false"/> | 67 <when value="false"/> |
73 </conditional> | 68 </conditional> |
74 </when> | 69 </when> |
75 <when value="file"> | 70 <when value="file"> |
76 <param type="data" name="box" format="txt" label="Box configuration" help="Text file with the box configurations" /> | 71 <param type="data" name="box" format="txt" label="Box configuration" help="Text file with the box configurations" /> |
77 <param type="integer" name="exh" label="Exhaustiveness" help="The number of poses to return from the docking job (optional, will override any value specified in the config file)" optional="true"/> | 72 <param type="integer" name="exh" label="Exhaustiveness" optional="true" |
73 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> | 74 </when> |
79 </conditional> | 75 </conditional> |
80 <param type="select" name="output_format" label="Output format" help="Select a format for the output files"> | |
81 <option value="pdbqt" selected="true">PDBQT (and separate log file with binding scores)</option> | |
82 <option value="sdf">SDF</option> | |
83 </param> | |
84 </inputs> | 76 </inputs> |
85 <outputs> | 77 <outputs> |
86 <data name="file_output1" format="pdbqt"> | 78 <collection name="sdf_outputs" type="list" label="Docked ligands for ${on_string}" > |
87 <filter>output_format == 'pdbqt'</filter> | 79 <discover_datasets pattern="__name_and_ext__" directory="output" visible="false" /> |
88 </data> | 80 </collection> |
89 <data name="file_output2" format="txt"> | |
90 <filter>output_format == 'pdbqt'</filter> | |
91 </data> | |
92 <data name="sdf_output" format="sdf"> | |
93 <filter>output_format == 'sdf'</filter> | |
94 </data> | |
95 </outputs> | 81 </outputs> |
96 <tests> | 82 <tests> |
97 <test expect_num_outputs="2"> | 83 |
98 <param name="receptor" value="3u1i_for_DM.pdbqt"/> | 84 <test> |
99 <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/> | 85 <param name="receptor" value="protein.pdbqt"/> |
86 <param name="ligands" value="input_ligands.sdf"/> | |
87 <param name="box" value="box.txt"/> | |
88 <output_collection name="sdf_outputs" type="list" count="5"> | |
89 <element name="ligand1_docked" file="ligand1_docked.sdf" lines_diff="20"/> | |
90 <element name="ligand2_docked" file="ligand2_docked.sdf" lines_diff="20"/> | |
91 <!-- we check only the first 2 --> | |
92 </output_collection> | |
93 </test> | |
94 | |
95 <test> | |
96 <param name="receptor" value="protein.pdbqt"/> | |
97 <param name="ligands" value="input_ligand.pdbqt"/> | |
98 <param name="box" value="box.txt"/> | |
99 <output_collection name="sdf_outputs" type="list" count="1"> | |
100 <element name="ligand1_docked" file="ligand1_docked.sdf" lines_diff="20"/> | |
101 </output_collection> | |
102 </test> | |
103 | |
104 <!-- TODO - this should be able to use the same output as the previous test but there is inconsistency in | |
105 how the parameters are handled that needs to be resolved so we use a different output file to compare to. --> | |
106 <test> | |
107 <param name="receptor" value="protein.pdbqt"/> | |
108 <param name="ligands" value="input_ligand.pdbqt"/> | |
100 <param name="config_params" value="vals"/> | 109 <param name="config_params" value="vals"/> |
101 <param name="center_x" value="70.92" /> | 110 <param name="center_x" value="36.454" /> |
102 <param name="center_y" value="70.57" /> | 111 <param name="center_y" value="-43.608000000000004" /> |
103 <param name="center_z" value="36.86" /> | 112 <param name="center_z" value="75.176" /> |
104 <param name="size_x" value="20.00" /> | 113 <param name="size_x" value="18.768" /> |
105 <param name="size_y" value="18.40" /> | 114 <param name="size_y" value="10.205999999999996" /> |
106 <param name="size_z" value="23.60" /> | 115 <param name="size_z" value="15.521999999999991" /> |
107 <param name="seed" value="true" /> | 116 <param name="seed" value="true" /> |
108 <param name="seed_value" value="1" /> | 117 <param name="seed_value" value="1" /> |
109 <param name="exhaustiveness" value="10" /> | 118 <param name="exh" value="10" /> |
110 <param name="output_format" value="pdbqt" /> | 119 <output_collection name="sdf_outputs" type="list" count="1"> |
111 <output name="file_output1" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.pdbqt"/> | 120 <element name="ligand1_docked" file="ligand_params.sdf" lines_diff="20"/> |
112 <output name="file_output2" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.log"/> | 121 </output_collection> |
113 </test> | 122 </test> |
114 <test expect_num_outputs="2"> | 123 |
115 <param name="receptor" value="3u1i_for_DM.pdbqt"/> | |
116 <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/> | |
117 <param name="config_params" value="file"/> | |
118 <param name="box" value="config_complexo_dm.txt"/> | |
119 <param name="output_format" value="pdbqt" /> | |
120 <output name="file_output1" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.pdbqt"/> | |
121 <output name="file_output2" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.log"/> | |
122 </test> | |
123 <test expect_num_outputs="1"> | |
124 <param name="receptor" value="3u1i_for_DM.pdbqt"/> | |
125 <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/> | |
126 <param name="config_params" value="file"/> | |
127 <param name="box" value="config_complexo_dm.txt"/> | |
128 <param name="output_format" value="sdf" /> | |
129 <output name="sdf_output" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.sdf" lines_diff="40"/> | |
130 </test> | |
131 </tests> | 124 </tests> |
132 <help><![CDATA[ | 125 <help><![CDATA[ |
133 | 126 |
134 This tool performs protein-ligand docking using the Autodock Vina program. | 127 This tool performs protein-ligand docking using the Autodock Vina program. |
135 | 128 |
137 | 130 |
138 .. class:: infomark | 131 .. class:: infomark |
139 | 132 |
140 **Inputs** | 133 **Inputs** |
141 | 134 |
142 The first two inputs required are files (in the pdbqt format) describing the receptor and ligand respectively. These files are produced by the receptor and ligand preparation tools. | 135 The first two inputs required are files describing the receptor (in the pdbqt format) and ligands (in SDF of PDBQT format) respectively. |
143 | 136 These files are produced by the receptor and ligand preparation tools. |
144 In addition, parameters for docking must be defined. The Cartesian coordinates of the center of the binding site should be provided, along with the size of the binding site along each dimension. Effectively, this defines a cuboidal volume in which docking is performed. Alternatively, a config file can be uploaded containing this information - such a file can be generated from the box parameter calculation file. | 137 If using PDBQT format for the ligands only a single ligand can be specified. If using SDF you can include multiple ligands |
145 | 138 and those ligands are converted to individual PDBQT format files using openbabel as the first step of tool execution. |
146 A format for the output should also be selected: the available options are PDBQT or SDF. | 139 You can specify the pH for protonation by openbabel |
140 | |
141 VINA will dock each of the ligands in the SDF file sequentially. If there are a large number of ligands then first split | |
142 them into a collection of smaller files e.g. using the splitter tool. This allows each split chunk of molecules to be docked | |
143 as a separate task. The optimal size of the chunk will depend on the number of ligands and the capacity of the execution | |
144 environment. | |
145 | |
146 In addition, parameters for docking must be defined. The Cartesian coordinates of the center of the binding site should | |
147 be provided, along with the size of the binding site along each dimension. Effectively, this defines a cuboidal volume in | |
148 which docking is performed. Alternatively, a config file can be uploaded containing this information - such a file can be | |
149 generated from the box parameter calculation file. | |
150 | |
147 | 151 |
148 ----- | 152 ----- |
149 | 153 |
150 .. class:: infomark | 154 .. class:: infomark |
151 | 155 |
152 **Outputs** | 156 **Outputs** |
153 | 157 |
154 Either PDBQT or SDF may be selected as output. | 158 SDF files are produced as output. |
155 | 159 There is one file for each ligand in the input. Each entry in the file is a docked pose for that ligand. |
156 **Option 1: SDF** | 160 The binding affinity scores are contained within the SDF file.:: |
157 | |
158 An SDF file is produced as output. The binding affinity scores are also contained within the SDF file.:: | |
159 | 161 |
160 OpenBabel06171915303D | 162 OpenBabel06171915303D |
161 | 163 |
162 23 23 0 0 0 0 0 0 0 0999 V2000 | 164 23 23 0 0 0 0 0 0 0 0999 V2000 |
163 66.9030 73.3450 36.0040 O 0 0 0 0 0 0 0 0 0 0 0 0 | 165 66.9030 73.3450 36.0040 O 0 0 0 0 0 0 0 0 0 0 0 0 |
234 0.000 | 236 0.000 |
235 | 237 |
236 > <RMSD_UB> | 238 > <RMSD_UB> |
237 0.000 | 239 0.000 |
238 | 240 |
239 | |
240 **Option 2: PDBQT** | |
241 | |
242 Two outputs are generated if PDBQT output is selected. The first is another pdbqt file containing the molecular structure resulting from docking, such as the following example:: | |
243 | |
244 MODEL 1 | |
245 REMARK VINA RESULT: -0.0 0.000 0.000 | |
246 REMARK 9 active torsions: | |
247 REMARK status: ('A' for Active; 'I' for Inactive) | |
248 REMARK 1 A between atoms: C_2 and O_3 | |
249 REMARK 2 A between atoms: C_2 and C_14 | |
250 REMARK 3 A between atoms: O_3 and C_4 | |
251 REMARK 4 A between atoms: C_4 and C_5 | |
252 REMARK 5 A between atoms: C_6 and C_8 | |
253 REMARK 6 A between atoms: C_8 and C_9 | |
254 REMARK 7 A between atoms: C_9 and C_10 | |
255 REMARK 8 A between atoms: C_16 and O_17 | |
256 REMARK 9 A between atoms: C_19 and O_20 | |
257 ROOT | |
258 ATOM 1 O LIG d 1 72.801 71.157 37.352 0.00 0.00 -0.259 OA | |
259 ATOM 2 C LIG d 1 73.413 72.112 37.794 0.00 0.00 0.293 C | |
260 ENDROOT | |
261 BRANCH 2 3 | |
262 ATOM 3 O LIG d 1 72.912 73.321 38.144 0.00 0.00 -0.314 OA | |
263 BRANCH 3 4 | |
264 ATOM 4 C LIG d 1 71.868 73.332 39.120 0.00 0.00 0.206 C | |
265 BRANCH 4 5 | |
266 ATOM 5 C LIG d 1 72.522 73.555 40.453 0.00 0.00 0.002 C | |
267 ATOM 6 C LIG d 1 72.762 72.629 41.405 0.00 0.00 -0.085 C | |
268 ATOM 7 C LIG d 1 72.390 71.176 41.274 0.00 0.00 0.043 C | |
269 BRANCH 6 8 | |
270 ATOM 8 C LIG d 1 73.435 73.012 42.714 0.00 0.00 0.037 C | |
271 BRANCH 8 9 | |
272 ATOM 9 C LIG d 1 74.184 74.348 42.631 0.00 0.00 0.031 C | |
273 BRANCH 9 10 | |
274 ATOM 10 C LIG d 1 75.668 74.175 42.431 0.00 0.00 -0.024 C | |
275 ATOM 11 C LIG d 1 76.399 74.547 41.360 0.00 0.00 -0.091 C | |
276 ATOM 12 C LIG d 1 75.833 75.151 40.104 0.00 0.00 0.042 C | |
277 ATOM 13 C LIG d 1 77.897 74.373 41.339 0.00 0.00 0.042 C | |
278 ENDBRANCH 9 10 | |
279 ENDBRANCH 8 9 | |
280 ENDBRANCH 6 8 | |
281 ENDBRANCH 4 5 | |
282 ENDBRANCH 3 4 | |
283 ENDBRANCH 2 3 | |
284 BRANCH 2 14 | |
285 ATOM 14 C LIG d 1 74.882 72.132 38.012 0.00 0.00 0.042 A | |
286 ATOM 15 C LIG d 1 75.732 72.845 37.153 0.00 0.00 0.057 A | |
287 ATOM 16 C LIG d 1 77.101 72.826 37.385 0.00 0.00 0.099 A | |
288 ATOM 17 C LIG d 1 77.623 72.116 38.462 0.00 0.00 0.098 A | |
289 ATOM 18 C LIG d 1 76.791 71.422 39.330 0.00 0.00 0.040 A | |
290 ATOM 19 C LIG d 1 75.412 71.432 39.110 0.00 0.00 0.020 A | |
291 BRANCH 16 20 | |
292 ATOM 20 O LIG d 1 77.978 73.498 36.578 0.00 0.00 -0.358 OA | |
293 ATOM 21 HO LIG d 1 77.680 74.093 35.900 1.00 0.00 0.217 HD | |
294 ENDBRANCH 16 20 | |
295 BRANCH 17 22 | |
296 ATOM 22 O LIG d 1 78.971 72.100 38.675 0.00 0.00 -0.358 OA | |
297 ATOM 23 HO LIG d 1 79.541 71.651 38.060 1.00 0.00 0.217 HD | |
298 ENDBRANCH 17 22 | |
299 ENDBRANCH 2 14 | |
300 TORSDOF 9 | |
301 ENDMDL | |
302 | |
303 The second output is a log file containing the binding affinity scores, like the following:: | |
304 | |
305 ----------------------------------------------------------------- | |
306 If you used AutoDock Vina in your work, please cite: | |
307 | |
308 O. Trott, A. J. Olson, | |
309 AutoDock Vina: improving the speed and accuracy of docking | |
310 with a new scoring function, efficient optimization and | |
311 multithreading, Journal of Computational Chemistry 31 (2010) | |
312 455-461 | |
313 | |
314 DOI 10.1002/jcc.21334 | |
315 | |
316 Please see http://vina.scripps.edu for more information. | |
317 ------------------------------------------------------------------ | |
318 | |
319 Reading input ... done. | |
320 Setting up the scoring function ... done. | |
321 Analyzing the binding site ... done. | |
322 Using random seed: 1899908181 | |
323 Performing search ... done. | |
324 Refining results ... done. | |
325 | |
326 mode | affinity | dist from best mode | |
327 | (kcal/mol) | rmsd l.b.| rmsd u.b. | |
328 -----+------------+----------+---------- | |
329 1 -0.0 0.000 0.000 | |
330 2 -0.0 2.046 2.443 | |
331 3 -0.0 5.896 7.949 | |
332 4 -0.0 2.518 3.100 | |
333 5 -0.0 2.417 4.527 | |
334 6 -0.0 5.686 7.689 | |
335 7 -0.0 2.828 4.792 | |
336 8 -0.0 5.547 7.086 | |
337 9 -0.0 7.388 9.966 | |
338 10 -0.0 7.877 11.352 | |
339 11 -0.0 8.203 10.157 | |
340 12 -0.0 5.163 7.653 | |
341 13 -0.0 3.093 6.011 | |
342 14 -0.0 7.998 11.146 | |
343 15 -0.0 7.015 10.108 | |
344 16 -0.0 8.795 11.682 | |
345 17 -0.0 7.317 10.367 | |
346 18 0.0 3.274 4.160 | |
347 19 0.0 10.286 12.001 | |
348 20 0.0 3.566 5.349 | |
349 Writing output ... done. | |
350 ]]></help> | 241 ]]></help> |
351 <citations> | 242 <citations> |
352 <citation type="doi">10.1002/jcc.21334</citation> | 243 <citation type="doi">10.1002/jcc.21334</citation> |
353 </citations> | 244 </citations> |
354 </tool> | 245 </tool> |