view sucos_max.xml @ 5:d4c67ced6abc draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/sucos commit c35334ca80c87a5078da1a6df85b34e23b80d837"
author bgruening
date Wed, 15 Apr 2020 09:26:07 -0400
parents 85fad59f8168
children 55ac04db36aa
line wrap: on
line source

<tool id="sucos_max_score" name="Max SuCOS score" version="0.2.3">
    <description>- determine maximum SuCOS score of ligands against clustered fragment hits</description>
    <macros>
        <import>sucos_macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        python '$__tool_directory__/sucos_max.py'
            -i '$input'
            -o '$output'
        #if $filter_field and $filter_value
            --filter-field '$filter_field' --filter-value $filter_value
        #end if
        #for $cluster in $clusters
            '$cluster'
        #end for
    ]]></command>
    <inputs>
        <param name="input" type="data" format="sdf" label="Ligands to be scored" help="Input in SDF format." />
        <param name="clusters" type="data" format="sdf" multiple="true" label="Set of clusters to score against" help="Clusters in SDF format." />
        <param name="filter_field" type="text" label="Filter field" optional="true"
               help="Filter output using this field's values. (e.g. Max_SuCOS_Score or Cum_SuCOS_Score)">
            <sanitizer>
                <valid initial="string.printable">
                    <remove value="&apos;"/>
                </valid>
                <mapping initial="none"/>
            </sanitizer>
        </param>
        <param name="filter_value" type="float" label="Filter value" optional="true"
               help="Filter out scores less than this value."/>
    </inputs>
    <outputs>
        <data format="sdf" name="output" label="The scored ligands"/>
    </outputs>
    <tests>
        <test>
            <param name="input" ftype="sdf" value="sucos_cluster.sdf"/>
            <param name="clusters" ftype="sdf" value="cluster1.sdf,cluster2.sdf,cluster3.sdf,cluster4.sdf,cluster5.sdf,cluster6.sdf"/>
            <output name="output" ftype="sdf">
                <assert_contents>
                    <has_text text="Max_SuCOS_Score" />
                    <has_text text="Cum_SuCOS_Score" />
                    <has_n_lines n="2224" />
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input" ftype="sdf" value="sucos_cluster.sdf"/>
            <param name="clusters" ftype="sdf" value="cluster1.sdf,cluster2.sdf,cluster3.sdf,cluster4.sdf,cluster5.sdf,cluster6.sdf"/>
            <param name="filter_field" value="Cum_SuCOS_Score"/>
            <param name="filter_value" value="15"/>
            <output name="output" ftype="sdf">
                <assert_contents>
                    <has_text text="Max_SuCOS_Score" />
                    <has_text text="Cum_SuCOS_Score" />
                    <has_n_lines n="686" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

.. class:: infomark

**What it does**

This tool determines the maximum SuCOS score of ligands, presumed to be potential follow on compounds, compared to a
set of clustered reference compounds, presumed to be fragment screening hits. Each ligand to be scored is compared to
all of the reference compounds with the highest score being recorded, along with the cluster it came from and the index
of the molecule within that cluster.

The original SuCOS code is on GitHub_ under a MIT license. The SuCOS work is described here_.

.. _GitHub: https://github.com/susanhleung/SuCOS
.. _here: https://chemrxiv.org/articles/SuCOS_is_Better_than_RMSD_for_Evaluating_Fragment_Elaboration_and_Docking_Poses/8100203

.. class:: infomark

**Input**

The clustered reference compounds are likely to have been generated using the "Cluster ligands using SuCOS" tool and
will comprise a SDF format file for each cluster. The ligands to be scored are supplied in a SDF file.

Optional filtering of the output is possible, for instance to retain only records with SuCOS scores greater that a
certain value. Use the optional 'Filter field' and 'Filter value' parameters. The 'Filter field' would typically
be one of the properties listed below.

.. class:: infomark

**Output**

The same SD file as the input ligands with  the following properties added:

* Max_SuCOS_Score - the best (maximum) SuCOS score
* Max_SuCOS_FeatureMap_Score - the corresponding FeatureMap score
* Max_SuCOS_Protrude_Score - the corresponding Protrude score
* Max_SuCOS_Cluster - the file name of the cluster that contained the max score
* Max_SuCOS_Index - the index of the cluster that contained the max score (first record is index 1)
* Cum_SuCOS_Score - the cumulative SuCOS score for all overlays (the sum of the individual scores)
* Cum_SuCOS_FeatureMap_Score - the corresponding FeatureMap score
* Cum_SuCOS_Protrude_Score - the corresponding Protrude score

    ]]></help>
    <expand macro="citations"/>
</tool>