view mfassignr_mfassignCHO.xml @ 5:59326d3b9c52 draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/mfassignr commit 1e98df2131b9b5384ca2e4310f93270eae6f517c
author recetox
date Tue, 22 Oct 2024 07:24:55 +0000
parents 11949bd6837a
children
line wrap: on
line source

<tool id="mfassignr_mfassignCHO" name="MFAssignR MFAssignCHO" version="@TOOL_VERSION@+galaxy1" profile="23.0">
    <description>Molecular formula assignment (only with CHO).</description>
    <macros>
        <import>macros.xml</import>
        <import>help.xml</import>
    </macros>
    <edam_topics>
        <edam_topic>topic_3172</edam_topic>    
    </edam_topics>
    <edam_operations>  
        <edam_operation>operation_2940</edam_operation>    
    </edam_operations>
    <expand macro="creator" />
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
        Rscript '${run_script}'
    ]]></command>
    <configfiles>
        <configfile name="run_script"><![CDATA[
        mono <- read.delim("$input_mono", sep="\t")
        #if $input_iso
        iso <- read.delim("$input_iso", sep="\t")
        #end if
        SN = $sn_ratio * $kmdn
        POEx = 0
        NOEx = 0

        #if "$assign_typeof_ions"=="yes"
            #if $ionMode=="pos"
            POEx = 1
            NOEx = 0
            #else
            POEx = 0
            NOEx = 1
            #end if
        #end if     

        MF_CHO_assign <- MFAssignR::MFAssignCHO(
            peaks = mono,
            #if $input_iso
            isopeaks = iso,
            #end if
            ionMode = "$ionmode",
            lowMW = $lowMW,
            highMW = $highMW,
            ppm_err = $ppm_err,
            SN = SN,
            POEx = POEx, 
            NOEx = NOEx,
            Ex = $Ex,
            Mx = $Mx,
            NH4x = $NH4x,
            Zx = $Zx,
            Ox = $Ox,
            O_Cmin = $O_Cmin,
            O_Cmax = $O_Cmax,
            H_Cmin = $H_Cmin,
            H_Cmax = $H_Cmax,
            DBEOmin = $DBEOmin,
            DBEOmax = $DBEOmax,
            Omin = $Omin,
            max_def = $max_def,
            min_def = $min_def,
            HetCut = "$HetCut",
            NMScut = "$NMScut",
            DeNovo = $DeNovo,
            nLoop = $nLoop,
            Ambig = "$ambig_bool",
            MSMS = "$MSMS"
        )

        write.table(MF_CHO_assign[['Unambig']], file = '$Unambig', row.names= FALSE, sep = "\t")
        write.table(MF_CHO_assign[['Ambig']], file = '$Ambig', row.names= FALSE, sep = "\t")
        write.table(MF_CHO_assign[['None']], file = '$None', row.names= FALSE, sep = "\t")

        dir.create("plots")
        ggplot2::ggsave(filename = file.path("plots", "msassign.png"), MF_CHO_assign[['MSAssign']])
        ggplot2::ggsave(filename = file.path("plots", "errorMZ.png"), MF_CHO_assign[['Error']])
        ggplot2::ggsave(filename = file.path("plots", "MSgroups.png"), MF_CHO_assign[['MSgroups']])
        ggplot2::ggsave(filename = file.path("plots", "VK.png"), MF_CHO_assign[['VK']])

        ]]></configfile>
    </configfiles>
    <inputs>
        <param name="input_mono" type="data" format="tabular" label="Data frame of monoisotopic masses"
               help= "Data frame containing monoisotopic masses, output from the IsoFiltR function"/>
        <param name="input_iso" optional="true" type="data" format="tabular" label="Data frame of isotopic masses"
               help= "Data frame containing isotopic masses, output from the IsoFiltR function"/>
        <expand macro="mfassigncho_param"/>
    </inputs>
    <outputs>
        <data name="Unambig" format="tabular" label="Unambiguous assignments by ${tool.name} on ${on_string}"/>
        <data name="Ambig" format="tabular" label="Ambiguous assignments by ${tool.name} on ${on_string}"/>
        <data name="None" format="tabular" label="Unassigned masses by ${tool.name} on ${on_string}"/>
        <collection format="png" type="list" name="plots" label="Plots generated by ${tool.name} on ${on_string}">
            <discover_datasets pattern="__designation_and_ext__" ext="png" directory="plots" />
        </collection>
    </outputs>
    <tests>
        <test>
            <param name="input_mono" value="isofiltr/mono_out.tabular"/>
            <param name="input_iso" value="isofiltr/iso_out.tabular"/>
            <param name="kmdn" value="3294705.63963789"/>
            <output name="Unambig" file="mfassigncho/unambig.tabular"/>
            <output name="Ambig">
                <assert_contents>
                    <has_n_lines n="1"/>
                    <has_n_columns n="53"/>
                </assert_contents>
            </output>
            <output name="None">
                <assert_contents>
                    <has_n_lines n="5078"/>
                    <has_n_columns n="3"/>
                </assert_contents>
            </output>
            <output_collection name="plots" type="list" count="4">
                <element name="MSgroups">
                    <assert_contents>
                        <has_size size="146606" delta="100"/>
                    </assert_contents>
                </element>
                <element name="VK">
                    <assert_contents>
                        <has_size size="398282" delta="100"/>
                    </assert_contents>
                </element>
                <element name="errorMZ">
                    <assert_contents>
                        <has_size size="551073" delta="100"/>
                    </assert_contents>
                </element>
                <element name="msassign">
                    <assert_contents>
                        <has_size size="84597" delta="100"/>
                    </assert_contents>
                </element>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[
        @MFASSIGNCHO_HELP@

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