diff docking.xml @ 6:0ae768a0e5c0 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/autodock_vina commit a2f6034a691af458e3df662e36d7f05617982bdc
author bgruening
date Wed, 19 Jun 2019 06:43:41 -0400
parents c410ffcabf9d
children 7b2f205b3f68
line wrap: on
line diff
--- a/docking.xml	Tue May 07 13:31:43 2019 -0400
+++ b/docking.xml	Wed Jun 19 06:43:41 2019 -0400
@@ -1,7 +1,8 @@
-<tool id="docking" name="Docking" version="0.2.0">
+<tool id="docking" name="Docking" version="0.2.1">
     <description>tool to perform protein-ligand docking with Autodock Vina</description>
     <requirements>
         <requirement type="package" version="1.1.2">autodock-vina</requirement>
+        <requirement type="package" version="2.4.1">openbabel</requirement>
     </requirements>
     <stdio>
         <exit_code range="1" />
@@ -20,8 +21,8 @@
                 --energy_range 9999 
                 --receptor '$receptor' 
                 --ligand '$ligand' 
-                --out '$file_output1' 
-                --log '$file_output2' 
+                --out './output1.dat' 
+                --log './output2.dat' 
                 --cpu \${GALAXY_SLOTS:-1}
                 #if $config_params.seed.seed == 'true':
                     --seed '$config_params.seed.seed_value'
@@ -32,10 +33,18 @@
                 --config '$config_params.box' 
                 --receptor '$receptor' 
                 --ligand '$ligand' 
-                --out '$file_output1' 
-                --log '$file_output2' 
+                --out './output1.dat' 
+                --log './output2.dat'
                 --cpu \${GALAXY_SLOTS:-1}
-
+                #if $config_params.exh != "":
+                    --exhaustiveness $config_params.exh
+                #end if
+        #end if
+        #if $output_format == 'sdf':
+            && python '$__tool_directory__/convert_pdbqt_to_sdf.py' './output1.dat' '$sdf_output' 
+        #else
+            && mv ./output1.dat '$file_output1'
+            && mv ./output2.dat '$file_output2'
         #end if
         
     ]]></command>
@@ -65,15 +74,27 @@
             </when>
             <when value="file">
                 <param type="data" name="box" format="txt" label="Box configuration" help="Text file with the box configurations" />
+                <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"/>
             </when>
         </conditional>
+        <param type="select" name="output_format" label="Output format" help="Select a format for the output files">
+            <option value="pdbqt" selected="true">PDBQT (and separate log file with binding scores)</option>
+            <option value="sdf">SDF</option>
+        </param>
     </inputs>
     <outputs>
-        <data name="file_output1" format="pdbqt" />
-        <data name="file_output2" format="txt" />
+        <data name="file_output1" format="pdbqt">
+            <filter>output_format == 'pdbqt'</filter>
+        </data>
+        <data name="file_output2" format="txt">
+            <filter>output_format == 'pdbqt'</filter>
+        </data>
+        <data name="sdf_output" format="sdf">
+            <filter>output_format == 'sdf'</filter>
+        </data>
     </outputs>
     <tests>
-        <test>
+        <test expect_num_outputs="2">
             <param name="receptor" value="3u1i_for_DM.pdbqt"/>
             <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/>
             <param name="config_params" value="vals"/>
@@ -85,32 +106,140 @@
             <param name="size_z" value="23.60" />
             <param name="seed" value="true" />
             <param name="seed_value" value="1" />
-            <param name="exhaustivenesss" value="10" />
+            <param name="exhaustiveness" value="10" />
+            <param name="output_format" value="pdbqt" />
             <output name="file_output1" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.pdbqt"/>
             <output name="file_output2" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.log"/>
         </test>
-        <test>
+        <test expect_num_outputs="2">
             <param name="receptor" value="3u1i_for_DM.pdbqt"/>
             <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/>
             <param name="config_params" value="file"/>
             <param name="box" value="config_complexo_dm.txt"/>
+            <param name="output_format" value="pdbqt" />
             <output name="file_output1" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.pdbqt"/>
             <output name="file_output2" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.log"/>
         </test>
+        <test expect_num_outputs="1">
+            <param name="receptor" value="3u1i_for_DM.pdbqt"/>
+            <param name="ligand" value="NuBBE_1_obabel_3D.pdbqt"/>
+            <param name="config_params" value="file"/>
+            <param name="box" value="config_complexo_dm.txt"/>
+            <param name="output_format" value="sdf" />
+            <output name="sdf_output" file="NuBBE_1_obabel_3D_-_3u1i_for_DM.sdf" lines_diff="40"/>
+        </test>
     </tests>
     <help><![CDATA[
 
 This tool performs protein-ligand docking using the Autodock Vina program.
 
+-----
+
+.. class:: infomark
+
 **Inputs**
 
 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.
 
 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. 
 
+A format for the output should also be selected: the available options are PDBQT or SDF.
+
+-----
+
+.. class:: infomark
+
 **Outputs**
 
-Two outputs are generated by this tool. The first is another pdbqt file containing the molecular structure resulting from docking, such as the following example::
+Either PDBQT or SDF may be selected as output.
+
+**Option 1: SDF**
+
+An SDF file is produced as output. The binding affinity scores are also contained within the SDF file.::
+
+    OpenBabel06171915303D
+
+    23 23  0  0  0  0  0  0  0  0999 V2000
+    66.9030   73.3450   36.0040 O   0  0  0  0  0  0  0  0  0  0  0  0
+    66.8190   73.2170   37.2120 C   0  0  0  0  0  0  0  0  0  0  0  0
+    66.0490   72.3370   37.8940 O   0  0  0  0  0  0  0  0  0  0  0  0
+    66.2290   70.9500   37.5970 C   0  0  0  0  0  0  0  0  0  0  0  0
+    67.2070   70.4140   38.6010 C   0  0  0  0  0  0  0  0  0  0  0  0
+    68.5140   70.1440   38.3980 C   0  0  0  0  0  0  0  0  0  0  0  0
+    69.2150   70.3400   37.0800 C   0  0  0  0  0  0  0  0  0  0  0  0
+    69.3810   69.5970   39.5210 C   0  0  0  0  0  0  0  0  0  0  0  0
+    68.7730   69.8280   40.9100 C   0  0  0  0  0  0  0  0  0  0  0  0
+    69.3750   71.0120   41.6220 C   0  0  0  0  0  0  0  0  0  0  0  0
+    68.7550   72.1570   41.9760 C   0  0  0  0  0  0  0  0  0  0  0  0
+    67.3280   72.4970   41.6430 C   0  0  0  0  0  0  0  0  0  0  0  0
+    69.4770   73.2270   42.7560 C   0  0  0  0  0  0  0  0  0  0  0  0
+    67.5570   74.0540   38.1920 C   0  0  0  0  0  0  0  0  0  0  0  0
+    66.9010   75.0480   38.9340 C   0  0  0  0  0  0  0  0  0  0  0  0
+    67.6300   75.8170   39.8300 C   0  0  0  0  0  0  0  0  0  0  0  0
+    68.9950   75.5990   39.9980 C   0  0  0  0  0  0  0  0  0  0  0  0
+    69.6510   74.6060   39.2850 C   0  0  0  0  0  0  0  0  0  0  0  0
+    68.9300   73.8240   38.3800 C   0  0  0  0  0  0  0  0  0  0  0  0
+    67.0450   76.8040   40.5760 O   0  0  0  0  0  0  0  0  0  0  0  0
+    67.5560   77.4980   40.9760 H   0  0  0  0  0  0  0  0  0  0  0  0
+    69.7010   76.3670   40.8780 O   0  0  0  0  0  0  0  0  0  0  0  0
+    69.2520   76.7930   41.5990 H   0  0  0  0  0  0  0  0  0  0  0  0
+    1  2  2  0  0  0  0
+    2  3  1  0  0  0  0
+    2 14  1  0  0  0  0
+    4  3  1  0  0  0  0
+    4  5  1  0  0  0  0
+    6  5  2  0  0  0  0
+    6  8  1  0  0  0  0
+    7  6  1  0  0  0  0
+    8  9  1  0  0  0  0
+    9 10  1  0  0  0  0
+    10 11  2  0  0  0  0
+    11 13  1  0  0  0  0
+    12 11  1  0  0  0  0
+    14 19  2  0  0  0  0
+    14 15  1  0  0  0  0
+    15 16  2  0  0  0  0
+    16 17  1  0  0  0  0
+    16 20  1  0  0  0  0
+    17 22  1  0  0  0  0
+    18 17  2  0  0  0  0
+    19 18  1  0  0  0  0
+    20 21  1  0  0  0  0
+    22 23  1  0  0  0  0
+    M  END
+    >  <MODEL>
+    1
+
+    >  <REMARK>
+    VINA RESULT:       0.0      0.000      0.000
+    9 active torsions:
+    status: ('A' for Active; 'I' for Inactive)
+        1  A    between atoms: C_2  and  O_3 
+        2  A    between atoms: C_2  and  C_14 
+        3  A    between atoms: O_3  and  C_4 
+        4  A    between atoms: C_4  and  C_5 
+        5  A    between atoms: C_6  and  C_8 
+        6  A    between atoms: C_8  and  C_9 
+        7  A    between atoms: C_9  and  C_10 
+        8  A    between atoms: C_16  and  O_17 
+        9  A    between atoms: C_19  and  O_20 
+
+    >  <TORSDO>
+    F 9
+
+    >  <SCORE>
+    0.0
+
+    >  <RMSD_LB>
+    0.000
+
+    >  <RMSD_UB>
+    0.000
+
+
+**Option 2: PDBQT**
+
+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::
 
     MODEL 1
     REMARK VINA RESULT:      -0.0      0.000      0.000