diff rbdock.xml @ 0:35ee2e002bb0 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/rxdock commit bb19570293b920983b6856b30b42203a09543bc5"
author bgruening
date Sat, 04 Apr 2020 15:00:22 -0400
parents
children 07309bad01df
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rbdock.xml	Sat Apr 04 15:00:22 2020 -0400
@@ -0,0 +1,357 @@
+<tool id="rxdock_rbdock" name="rxDock docking" version="0.1.3" profile="19.01">
+    <description>- perform protein-ligand docking with rxDock</description>
+    <macros>
+        <import>rdock_macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command><![CDATA[
+ln -s '$active_site' receptor.as &&
+ln -s '$receptor' receptor.mol2 &&
+ln -s $receptor_prm receptor.prm &&
+#if $name == 'Y':
+  sdmodify -f_REC '$ligands' > ligands.sdf &&
+#else
+  ln -s '$ligands' ligands.sdf &&
+#end if
+
+python '$__tool_directory__/rbdock.py'
+    -n '$num'
+    #if $seed:
+        -s '$seed'
+    #end if
+    &&
+
+cat rdock_output.sd 
+
+#if $filter.filter_select == "filter":
+    #if $filter.score:
+        | sdfilter -f'\$SCORE <= ${filter.score}'
+    #end if
+    #if $filter.nscore:
+        | sdfilter -f'\$SCORE.norm <= ${filter.nscore}'
+    #end if
+    #if $filter.top
+        | sdsort -n -s -fSCORE | sdfilter -f'\$_COUNT <= $filter.top'
+    #end if
+#end if
+
+ > '$output'
+
+    ]]></command>
+
+    <configfiles>
+        <configfile name="receptor_prm">RBT_PARAMETER_FILE_V1.00
+RECEPTOR_FILE receptor.mol2
+RECEPTOR_FLEX 3.0
+        </configfile>
+    </configfiles>
+
+    <inputs>
+        <param type="data" name="receptor" format="mol2" label="Receptor" help="Select a receptor (mol2 format)."/>
+        <param type="data" name="active_site" format="rdock_as" label="Active site" help="Active site file"/>
+        <param type="data" name="ligands" format="sdf,mol" label="Ligands" help="Ligands in SDF format (or single ligand in MOL format)"/>
+        <param name="num" type="integer" value="10" label="Number of dockings" help="Number of poses to generate"/>
+        <conditional name="filter">
+            <param name="filter_select" type="select" label="Filter the docking results" help="Using sdfilter">
+                <option value="filter">Show filter options</option>
+                <option value="no_filter">No filtering</option>
+            </param>
+            <when value="filter">
+                <param name="score" type="float" optional="true" label="Score filter"
+                   help="Exclude poses with score greater than this value"/>
+                <param name="nscore" type="float" optional="true" label="Normalised score filter"
+                    help="Exclude poses with normalised score greater than this value"/>
+                <param name="top" type="integer" value="1" optional="true" min="1" label="Number of best poses"
+                    help="Number of best scoring poses to keep"/>
+            </when>
+            <when value="no_filter"/>
+        </conditional>
+        <param name="name" type="boolean" label="Generate name field" truevalue="Y" falsevalue="N" checked="false"
+               help="Generate the name field (first line) for cases where this is empty"/>
+        <param argument="-seed" type="integer" optional="true" label="Random seed" help=""/>
+    </inputs>
+    <outputs>
+        <data name="output" format="sdf" label="rxDock on ${on_string}"/>
+    </outputs>
+    <tests>
+        <!-- broken ligand test -->
+        <test expect_failure="true" expect_exit_code="23">
+            <param name="receptor" value="receptor.mol2"/>
+            <param name="ligands" value="broken_ligand.sdf"/>
+            <param name="active_site" value="receptor.as"/>
+            <param name="num" value="3"/>
+            <param name="seed" value="3"/>
+            <conditional name="filter">
+                <param name="filter_select" value="filter"/>
+                <param name="top" value="1"/>
+            </conditional>
+            <param name="name" value="false"/>
+        </test>
+        <test>
+            <param name="receptor" value="receptor.mol2"/>
+            <param name="ligands" value="ligands_names.sdf"/>
+            <param name="active_site" value="receptor.as"/>
+            <param name="num" value="3"/>
+            <param name="seed" value="3"/>
+            <conditional name="filter">
+                <param name="filter_select" value="filter"/>
+                <param name="top" value="1"/>
+            </conditional>
+            <param name="name" value="false"/>
+            <output name="output">
+                <assert_contents>
+                    <has_text text="Rbt.Current_Directory"/>
+                    <has_n_lines n="355"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="receptor" value="receptor.mol2"/>
+            <param name="ligands" value="ligands_nonames.sdf"/>
+            <param name="active_site" value="receptor.as"/>
+            <param name="num" value="3"/>
+            <param name="seed" value="3"/>
+            <conditional name="filter">
+                <param name="filter_select" value="filter"/>
+                <param name="top" value="1"/>
+            </conditional>
+            <param name="name" value="true"/>
+            <output name="output">
+                <assert_contents>
+                    <has_text text="Rbt.Current_Directory"/>
+                     <has_n_lines n="355"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- no filter test -->
+        <test>
+            <param name="receptor" value="receptor.mol2"/>
+            <param name="ligands" value="ligands_nonames.sdf"/>
+            <param name="active_site" value="receptor.as"/>
+            <param name="num" value="3"/>
+            <param name="seed" value="3"/>
+            <conditional name="filter">
+                <param name="filter_select" value="no_filter"/>
+            </conditional>
+            <param name="name" value="true"/>
+            <output name="output">
+                <assert_contents>
+                    <has_text text="Rbt.Current_Directory"/>
+                    <has_n_lines n="1059"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="receptor" value="receptor.mol2"/>
+            <param name="ligands" value="ligands_names.sdf"/>
+            <param name="active_site" value="receptor.as"/>
+            <param name="num" value="1"/>
+            <param name="seed" value="3"/>
+            <conditional name="filter">
+                <param name="filter_select" value="filter"/>
+                <param name="score" value="10"/>
+                <param name="nscore" value="1"/>
+            </conditional>
+            <param name="name"/>
+            <output name="output">
+                <assert_contents>
+                    <has_text text="Rbt.Current_Directory"/>
+                     <has_n_lines n="355"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+This tool performs protein-ligand docking using the rxDock program.
+See https://www.rxdock.org for more details about rxDock and associated programs.
+
+-----
+
+.. class:: infomark
+
+**Inputs**
+
+1. The protein receptor to dock into as a file in Mol2 format.
+2. The active site definition as a file as generated by the rbcavity tool.
+3. A set of ligands (collection or single file) to dock as a file in SDF format.
+4. The number of docking poses to generate (integer).
+5. The number of best scoring dockings to keep (integer).
+6. The max score that is allowed. Poses with scores greater than this are excluded (float, optional).
+7. The max normalised score (the score normalised by the number of heavy atoms) that is allowed.
+   Poses with normalised scores greater than this are excluded (float, optional).
+8. Optionally generate the name field in the ligands SDF (this is the first line in the entry).
+   This field must be present and be unique for sorting and filtering to work. If your results contain only one record
+   then the name field is probably absent and must be generated.
+
+You will need to perform some test dockings to establish suitable values for the score filters.
+The score is a number with lower values being better. Values can be negative.
+
+-----
+
+.. class:: infomark
+
+**Outputs**
+
+An SDF file is produced as output. The binding affinity scores are contained within the SDF file.::
+
+    1-pyrimethamine
+    rDOCK(R)          3D
+    libRbt.so/2013.1/901 2013/11/27
+    21 22  0  0  0  0  0  0  0  0999 V2000
+    -5.1897   17.8912   17.9590 N   0  0  0  0  0  0
+    -3.9121   17.9973   18.3210 C   0  0  0  0  0  0
+    -3.2404   19.1465   18.3804 N   0  0  0  0  0  0
+    -3.8989   20.2829   18.0453 C   0  0  0  0  0  0
+    -5.2389   20.2802   17.6553 C   0  0  0  0  0  0
+    -5.8448   19.0235   17.6464 C   0  0  0  0  0  0
+    -5.9601   21.5065   17.2850 C   0  0  0  0  0  0
+    -6.2108   22.5074   18.2382 C   0  0  0  0  0  0
+    -6.8903   23.6771   17.8851 C   0  0  0  0  0  0
+    -7.3267   23.8556   16.5746 C   0  0  0  0  0  0
+    -7.0903   22.8744   15.6151 C   0  0  0  0  0  0
+    -6.4107   21.7051   15.9695 C   0  0  0  0  0  0
+    -3.2455   16.8582   18.6507 N   0  0  0  0  0  0
+    -7.1550   18.8446   17.2393 N   0  0  0  0  0  0
+    -8.1626   25.2957   16.1391 Cl  0  0  0  0  0  0
+    -2.9891   22.1828   19.5033 C   0  0  0  0  0  0
+    -3.1112   21.5771   18.1096 C   0  0  0  0  0  0
+    -2.2766   16.9101   18.9273 H   0  0  0  0  0  0
+    -3.7237   15.9703   18.6154 H   0  0  0  0  0  0
+    -7.8809   19.3992   17.6807 H   0  0  0  0  0  0
+    -7.4159   17.8951   16.9940 H   0  0  0  0  0  0
+    1  2  2  0  0  0
+    1  6  1  0  0  0
+    2  3  1  0  0  0
+    2 13  1  0  0  0
+    3  4  2  0  0  0
+    4  5  1  0  0  0
+    4 17  1  0  0  0
+    5  6  2  0  0  0
+    5  7  1  0  0  0
+    6 14  1  0  0  0
+    7  8  2  0  0  0
+    7 12  1  0  0  0
+    8  9  1  0  0  0
+    9 10  2  0  0  0
+    10 11  1  0  0  0
+    10 15  1  0  0  0
+    11 12  2  0  0  0
+    13 18  1  0  0  0
+    13 19  1  0  0  0
+    14 20  1  0  0  0
+    14 21  1  0  0  0
+    16 17  1  0  0  0
+    M  END
+    >  <CHROM.0>
+    -177.71086620,1.45027861,170.39044546,46.02877151,68.76956623,70.55425150
+
+    >  <CHROM.1>
+    -81.34718191,-65.90186149,129.45748660,-5.61305786,21.23281353,17.50152835
+    0.96119776,0.49809360,-3.12917831
+
+    >  <Rbt.Current_Directory>
+    /home/timbo/github/im/docking-validation/targets/dhfr/expts/vs-simple-rdock
+
+    >  <Rbt.Executable>
+    rbdock ($Id: //depot/dev/client3/rdock/2013.1/src/exe/rbdock.cxx#4 $)
+
+    >  <Rbt.Library>
+    libRbt.so (2013.1, Build901 2013/11/27)
+
+    >  <Rbt.Parameter_File>
+    /rDock_2013.1/data/scripts/dock.prm
+
+    >  <Rbt.Receptor>
+    receptor.prm
+
+    >  <SCORE>
+    0.445364
+
+    >  <SCORE.INTER>
+    8.4
+
+    >  <SCORE.INTER.CONST>
+    1
+
+    >  <SCORE.INTER.POLAR>
+    0
+
+    >  <SCORE.INTER.REPUL>
+    0
+
+    >  <SCORE.INTER.ROT>
+    3
+
+    >  <SCORE.INTER.VDW>
+    0
+
+    >  <SCORE.INTER.norm>
+    0.494118
+
+    >  <SCORE.INTRA>
+    -1.38672
+
+    >  <SCORE.INTRA.DIHEDRAL>
+    -0.818539
+
+    >  <SCORE.INTRA.DIHEDRAL.0>
+    6.01924
+
+    >  <SCORE.INTRA.POLAR>
+    0
+
+    >  <SCORE.INTRA.POLAR.0>
+    0
+
+    >  <SCORE.INTRA.REPUL>
+    0
+
+    >  <SCORE.INTRA.REPUL.0>
+    0
+
+    >  <SCORE.INTRA.VDW>
+    -0.977448
+
+    >  <SCORE.INTRA.VDW.0>
+    -1.0079
+
+    >  <SCORE.INTRA.norm>
+    -0.0815716
+
+    >  <SCORE.RESTR>
+
+    >  <SCORE.RESTR.norm>
+    0
+
+    >  <SCORE.SYSTEM>
+    -6.56792
+
+    >  <SCORE.SYSTEM.CONST>
+    0
+
+    >  <SCORE.SYSTEM.DIHEDRAL>
+    1.50415
+
+    >  <SCORE.SYSTEM.POLAR>
+    -2.3289
+
+    >  <SCORE.SYSTEM.VDW>
+    0.59827
+
+    >  <SCORE.SYSTEM.norm>
+    -0.386348
+
+    >  <SCORE.heavy>
+    17
+
+    >  <SCORE.norm>
+    0.0261979
+
+    $$$$
+
+    ]]></help>
+    <expand macro="citations"/>
+</tool>