Mercurial > repos > bgruening > rdock_rbdock
view rbdock.xml @ 7:309fd04bcfd2 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/rdock commit 6037a8c8d53839daad1b183e1ae0329862ac2c2c"
author | bgruening |
---|---|
date | Mon, 04 May 2020 07:40:41 -0400 |
parents | 07fa39ed62c7 |
children | c362398df83b |
line wrap: on
line source
<tool id="rdock_rbdock" name="rDock docking" version="0.1.4" profile="19.01"> <description>- perform protein-ligand docking with rDock</description> <macros> <import>rdock_macros.xml</import> </macros> <expand macro="requirements"/> <command><![CDATA[ ln -s '$active_site' receptor.as && ln -s '$receptor' receptor.mol2 && #if $custom_rec.custom_rec_select == 'true': ## simple check that the receptor file name is correct grep -q 'RECEPTOR_FILE receptor.mol2' $custom_rec.prm_file || (echo "Error: a custom receptor.prm file must contain the line 'RECEPTOR_FILE receptor.mol2'" >&2 && exit 1) && ln -s '$custom_rec.prm_file' receptor.prm && #else ln -s '$receptor_prm' receptor.prm && #end if #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 #if $custom_rec.custom_rec_select == 'false': RECEPTOR_FLEX $custom_rec.flex #end if </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)"/> <conditional name="custom_rec"> <param name="custom_rec_select" type="select" label="Use a custom receptor.prm file?" help="Useful for more advanced use-cases, such as tethered docking."> <option value="true">Use custom receptor.prm file</option> <option value="false" selected="true">Use default options (no user upload required)</option> </param> <when value="true"> <param type="data" name="prm_file" format="txt" label="Receptor prm file" help="Note the file must contain the line 'RECEPTOR_FILE receptor.mol2', else the tool will fail."/> </when> <when value="false"> <param name="flex" type="float" value="3.0" min="0.0" label="Receptor flex" help="Value for RECEPTOR_FLEX (default 3)"/> </when> </conditional> <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="rDock 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="flex" 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="flex" 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="352"/> </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="flex" 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="352"/> </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="flex" 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="1056"/> </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="flex" value="3"/> <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="352"/> </assert_contents> </output> </test> <!-- test with custom receptor.prm --> <test> <param name="receptor" value="receptor.mol2"/> <param name="ligands" value="ligands_names.sdf"/> <param name="active_site" value="receptor.as"/> <param name="custom_rec_select" value="true"/> <param name="prm_file" value="receptor.prm"/> <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="352"/> </assert_contents> </output> </test> <!-- test with custom but broken receptor.prm --> <test expect_failure="true" expect_exit_code="1"> <param name="receptor" value="receptor.mol2"/> <param name="ligands" value="ligands_names.sdf"/> <param name="active_site" value="receptor.as"/> <param name="custom_rec_select" value="true"/> <param name="prm_file" value="wrong_receptor.prm"/> <param name="num" value="1"/> <param name="seed" value="3"/> <conditional name="filter"> <param name="filter_select" value="no_filter"/> </conditional> <param name="name"/> </test> </tests> <help><![CDATA[ .. class:: infomark This tool performs protein-ligand docking using the rDock program. See http://rdock.sourceforge.net/ for more details about rDock 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>