changeset 3:82dd2ea11cce draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/autodock_vina commit deb7ad38cefd13df312431b1138054a68381efdf"
author bgruening
date Fri, 18 Oct 2019 04:56:46 -0400
parents 93806036668a
children 69533a204b9c
files calc_vina_box_params.py prepare_box.xml test-data/NUDT5A-x0114_2.mol2 test-data/NUDT5A-x0114_2.pdb test-data/NUDT5A-x0114_2.sdf
diffstat 5 files changed, 147 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/calc_vina_box_params.py	Wed Oct 02 12:48:55 2019 -0400
+++ b/calc_vina_box_params.py	Fri Oct 18 04:56:46 2019 -0400
@@ -4,12 +4,21 @@
 import argparse
 from random import randint
 
+def get_mol_from_file(fname, ftype):
+    if ftype in ['mol', 'sdf']:
+        mol = Chem.MolFromMolFile(options.ligand_path)
+    elif ftype == 'pdb':
+        mol = Chem.MolFromPDBFile(options.ligand_path)
+    elif ftype == 'mol2':
+        mol = Chem.MolFromMol2File(options.ligand_path)
+    else:
+        raise IOError
+    if not mol:
+        raise IOError
+    return mol
 
 def get_params(options):
-    # make sure we have a mol file by initiating rdkit mol object from input
-    mol = Chem.MolFromMolFile(options.ligand_path)
-    if not mol:
-        raise IOError
+    mol = get_mol_from_file(options.ligand_path, options.ftype)
 
     # get rdkit conformer and compute x,y,z of top and bottom corner of confounding cuboid
     conf = mol.GetConformer()
@@ -51,14 +60,15 @@
 
 if __name__ == "__main__":
     parser = argparse.ArgumentParser(description="""
-    This tool calculates a confounding box around an input ligand (mol file), and uses it to
+    This tool calculates a confounding box around an input ligand, and uses it to
     generate the input parameters for an autodock vina job. The output file can be fed into
     the autodock vina tool as an alternative to creating the parameter file manually. 
     
     Optionally, you can include a 'buffer' in each of the x,y and z directions (in Å),
     which will be added to the confounding box in the appropriate direction.
     """)
-    parser.add_argument('--ligand', dest='ligand_path', help='The input ligand (mol file)')
+    parser.add_argument('--ligand', dest='ligand_path', help='The input ligand filepath.')
+    parser.add_argument('--ftype', dest='ftype', help='Filetype of the input ligand (mol, sdf, pdb, mol2)')
     parser.add_argument('--config', dest='output', help='The output file containing calculated params (txt)')
     parser.add_argument('--exh', dest='exhaustiveness', type=int, help='Exhaustiveness of global search')
     parser.add_argument('--bufx', dest='bufx', default=0, type=float, help='the buffer in the x direction '
--- a/prepare_box.xml	Wed Oct 02 12:48:55 2019 -0400
+++ b/prepare_box.xml	Fri Oct 18 04:56:46 2019 -0400
@@ -1,12 +1,13 @@
-<tool id="prepare_box" name="Calculate the box parameters for an AutoDock Vina" version="0.1.0">
-    <description>job from an input mol file (confounding box)</description>
+<tool id="prepare_box" name="Calculate the box parameters for an AutoDock Vina" version="0.1.1">
+    <description>job from a ligand input file (confounding box)</description>
     <requirements>
-        <requirement type="package" version="2019.03.1.0">rdkit</requirement>
+        <requirement type="package" version="2019.03.1">rdkit</requirement>
         <requirement type="package" version="1.16.2">numpy</requirement>
     </requirements>
     <command detect_errors="exit_code"><![CDATA[
         python '$__tool_directory__/calc_vina_box_params.py'
         --ligand '$ligand'
+        --ftype '${ligand.ext}'
         --config '$output'
         --bufx '$bufx'
         --bufy '$bufy'
@@ -19,8 +20,8 @@
         #end if
     ]]></command>
     <inputs>
-        <param type="data" name="ligand" format="mol" label="Input ligand"
-            help="The input ligand (mol file)"/>
+        <param type="data" name="ligand" format="mol,sdf,pdb,mol2" label="Input ligand"
+            help="The input ligand with three-dimensional coordinates (MOL, SDF, PDB and MOL formats supported)."/>
         <param name="bufx" type="float" value="0" label="x-axis buffer"
             help="Buffer in the x direction (in angs.)"/>
         <param name="bufy" type="float" value="0" label="y-axis buffer"
@@ -37,14 +38,30 @@
     </outputs>
     <tests>
         <test>
-            <param name="ligand" value="NUDT5A-x0114_2.mol" />
+            <param name="ligand" value="NUDT5A-x0114_2.mol" ftype="mol"/>
             <param name="bufx" value="1" />
             <param name="bufy" value="2" />
             <param name="bufz" value="3" />
             <output name="output" file="box_params_1.txt" />
         </test>
         <test>
-            <param name="ligand" value="NUDT5A-x0114_2.mol" />
+            <param name="ligand" value="NUDT5A-x0114_2.sdf" ftype="sdf"/>
+            <param name="bufx" value="1" />
+            <param name="bufy" value="2" />
+            <param name="bufz" value="3" />
+            <param name="exh" value="10" />
+            <param name="seed_value" value="1" />
+            <output name="output" file="box_params_2.txt" />
+        </test>
+        <test>
+            <param name="ligand" value="NUDT5A-x0114_2.mol2"/>
+            <param name="bufx" value="1" />
+            <param name="bufy" value="2" />
+            <param name="bufz" value="3" />
+            <output name="output" file="box_params_1.txt" />
+        </test>
+        <test>
+            <param name="ligand" value="NUDT5A-x0114_2.pdb" ftype="pdb"/>
             <param name="bufx" value="1" />
             <param name="bufy" value="2" />
             <param name="bufz" value="3" />
@@ -60,10 +77,10 @@
 
 **Description**
 
-This tool calculates a confounding box around an input ligand (mol file), and
+This tool calculates a confounding box around an input ligand and
 uses it to generate the input parameters for an autodock vina job.
 
-The output file can be fed into the autodock vina tool as an alternative to creating the
+The output file can be fed into the AutoDock Vina tool as an alternative to creating the
 parameter file manually.
 
 -----
@@ -74,7 +91,7 @@
 
 This tool requires:
 
-* An input ligand - This should be a mol file representing the ligand you wish to dock. This should be derived from the file you use to prepare the ligand for the docking job (see prepare ligand tool).
+* An input ligand - This should be a file (MOL, SDF, PDB or MOL2 format) representing the ligand you wish to dock.
 
 * (OPTIONAL) Buffers for each direction (x,y,z), which defaults to 0 Å. This value will be added to the confounding box that the tool generates in each respective direction. We recommend that you visualise the calculated box from an initial run of this tool, and calculate the expansion needed in each direction to cover the area of the binding site you wish to explore.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/NUDT5A-x0114_2.mol2	Fri Oct 18 04:56:46 2019 -0400
@@ -0,0 +1,37 @@
+@<TRIPOS>MOLECULE
+*****
+ 14 15 0 0 0
+SMALL
+GASTEIGER
+
+@<TRIPOS>ATOM
+      1 N         -29.7210    5.1080  -63.9440 N.am    1  UNL1       -0.1674
+      2 C         -32.1200    1.4200  -65.7380 C.3     1  UNL1        0.0031
+      3 O         -32.3550    4.2720  -63.4470 O.3     1  UNL1       -0.3470
+      4 C         -32.1450    2.9190  -65.4240 C.3     1  UNL1        0.0388
+      5 C         -33.5610    3.5680  -65.3800 C.3     1  UNL1        0.0350
+      6 C         -33.4090    4.6780  -64.3250 C.3     1  UNL1        0.1428
+      7 C         -31.5300    3.2840  -64.0390 C.3     1  UNL1        0.1928
+      8 C         -30.0640    3.7560  -64.2700 C.2     1  UNL1        0.2733
+      9 C         -28.4710    5.7300  -64.0910 C.ar    1  UNL1        0.1429
+     10 C         -28.1090    7.0310  -63.7420 C.ar    1  UNL1        0.1474
+     11 N         -26.7490    7.3080  -64.0480 N.ar    1  UNL1       -0.1374
+     12 N         -26.1180    6.3750  -64.5730 N.ar    1  UNL1       -0.1080
+     13 O         -29.2560    2.9400  -64.7040 O.2     1  UNL1       -0.2703
+     14 S         -27.0620    4.9230  -64.8090 S.2     1  UNL1        0.0542
+@<TRIPOS>BOND
+     1     1     8   am
+     2     1     9    1
+     3     3     6    1
+     4     3     7    1
+     5     4     2    1
+     6     4     5    1
+     7     4     7    1
+     8     5     6    1
+     9     7     8    1
+    10     8    13    2
+    11     9    10   ar
+    12     9    14   ar
+    13    10    11   ar
+    14    11    12   ar
+    15    12    14   ar
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/NUDT5A-x0114_2.pdb	Fri Oct 18 04:56:46 2019 -0400
@@ -0,0 +1,32 @@
+COMPND    UNNAMED
+AUTHOR    GENERATED BY OPEN BABEL 2.4.1
+HETATM    1  N   UNL     1     -29.721   5.108 -63.944  1.00  0.00           N  
+HETATM    2  C   UNL     1     -32.120   1.420 -65.738  1.00  0.00           C  
+HETATM    3  O   UNL     1     -32.355   4.272 -63.447  1.00  0.00           O  
+HETATM    4  C   UNL     1     -32.145   2.919 -65.424  1.00  0.00           C  
+HETATM    5  C   UNL     1     -33.561   3.568 -65.380  1.00  0.00           C  
+HETATM    6  C   UNL     1     -33.409   4.678 -64.325  1.00  0.00           C  
+HETATM    7  C   UNL     1     -31.530   3.284 -64.039  1.00  0.00           C  
+HETATM    8  C   UNL     1     -30.064   3.756 -64.270  1.00  0.00           C  
+HETATM    9  C   UNL     1     -28.471   5.730 -64.091  1.00  0.00           C  
+HETATM   10  C   UNL     1     -28.109   7.031 -63.742  1.00  0.00           C  
+HETATM   11  N   UNL     1     -26.749   7.308 -64.048  1.00  0.00           N  
+HETATM   12  N   UNL     1     -26.118   6.375 -64.573  1.00  0.00           N  
+HETATM   13  O   UNL     1     -29.256   2.940 -64.704  1.00  0.00           O  
+HETATM   14  S   UNL     1     -27.062   4.923 -64.809  1.00  0.00           S  
+CONECT    1    8    9                                                 
+CONECT    2    4                                                      
+CONECT    3    6    7                                                 
+CONECT    4    2    5    7                                            
+CONECT    5    4    6                                                 
+CONECT    6    3    5                                                 
+CONECT    7    3    4    8                                            
+CONECT    8    1    7   13                                            
+CONECT    9    1   10   14                                            
+CONECT   10    9   11                                                 
+CONECT   11   10   12                                                 
+CONECT   12   11   14                                                 
+CONECT   13    8                                                      
+CONECT   14    9   12                                                 
+MASTER        0    0    0    0    0    0    0    0   14    0   14    0
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/NUDT5A-x0114_2.sdf	Fri Oct 18 04:56:46 2019 -0400
@@ -0,0 +1,35 @@
+
+ OpenBabel10171911383D
+
+ 14 15  0  0  0  0  0  0  0  0999 V2000
+  -29.7210    5.1080  -63.9440 N   0  0  0  0  0  0  0  0  0  0  0  0
+  -32.1200    1.4200  -65.7380 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -32.3550    4.2720  -63.4470 O   0  0  0  0  0  0  0  0  0  0  0  0
+  -32.1450    2.9190  -65.4240 C   0  0  1  0  0  0  0  0  0  0  0  0
+  -33.5610    3.5680  -65.3800 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -33.4090    4.6780  -64.3250 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -31.5300    3.2840  -64.0390 C   0  0  1  0  0  0  0  0  0  0  0  0
+  -30.0640    3.7560  -64.2700 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -28.4710    5.7300  -64.0910 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -28.1090    7.0310  -63.7420 C   0  0  0  0  0  0  0  0  0  0  0  0
+  -26.7490    7.3080  -64.0480 N   0  0  0  0  0  0  0  0  0  0  0  0
+  -26.1180    6.3750  -64.5730 N   0  0  0  0  0  0  0  0  0  0  0  0
+  -29.2560    2.9400  -64.7040 O   0  0  0  0  0  0  0  0  0  0  0  0
+  -27.0620    4.9230  -64.8090 S   0  0  0  0  0  0  0  0  0  0  0  0
+  1  8  1  0  0  0  0
+  1  9  1  0  0  0  0
+  3  6  1  0  0  0  0
+  3  7  1  0  0  0  0
+  4  2  1  1  0  0  0
+  4  5  1  0  0  0  0
+  4  7  1  0  0  0  0
+  5  6  1  0  0  0  0
+  7  8  1  6  0  0  0
+  8 13  2  0  0  0  0
+  9 10  2  0  0  0  0
+  9 14  1  0  0  0  0
+ 10 11  1  0  0  0  0
+ 11 12  2  0  0  0  0
+ 12 14  1  0  0  0  0
+M  END
+$$$$