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>