view mfassignr_mfassign.xml @ 5:0492fff60960 draft

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

<tool id="mfassignr_mfassign" name="MFAssignR MFAssign" version="@TOOL_VERSION@+galaxy1" profile="23.0">
    <description>Molecular formula assignment.</description>
    <macros>
        <import>macros.xml</import>
        <import>help.xml</import>
    </macros>
    <edam_topics>
        <edam_topic>topic_3172</edam_topic>    
    </edam_topics>
    <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_assign <- MFAssignR::MFAssign(
            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,
            Nx = $Nx,
            Sx = $Sx,
            Px = $Px,
            S34x = $S34x,
            N15x = $N15x,
            Dx = $Dx,
            Clx = $Clx,
            Fx = $Fx,
            Cl37x = $Cl37x,
            Br81x = $Br81x,
            Ix = $Ix,
            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",
            Sval = $Sval,
            Nval = $Nval,
            S34val = $S34val,
            N15val = $N15val,
            Pval = $Pval,
            iso_err = $iso_err,
            SulfCheck = "$SulfCheck",
            S34_abund = $S34_abund,
            C13_abund = $C13_abund,
            N3corr = "$N3corr"
        )

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

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

        ]]></configfile>
    </configfiles>
    <inputs>
        <param name="input_mono" type="data" format="tabular" label="Data frame of monoisotopic masses"
               help= "Data frame containing recalibrated monoisotopic masses, output from the Recal function"/>
        <param name="input_iso" optional="true" type="data" format="tabular" label="Data frame of isotopic masses"
               help= "Data frame containing recalibrated isotopic masses, output from the Recal function"/>
        <expand macro="mfassign_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="mfassign/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="5015"/>
                    <has_n_columns n="3"/>
                </assert_contents>
            </output>
            <output_collection name="plots" type="list" count="4">
                <element name="MSgroups">
                    <assert_contents>
                        <has_size size="114675" delta="100"/>
                    </assert_contents>
                </element>
                <element name="VK">
                    <assert_contents>
                        <has_size size="424518" delta="100"/>
                    </assert_contents>
                </element>
                <element name="errorMZ">
                    <assert_contents>
                        <has_size size="548366" delta="100"/>
                    </assert_contents>
                </element>
                <element name="msassign">
                    <assert_contents>
                        <has_size size="84901" delta="100"/>
                    </assert_contents>
                </element>
            </output_collection>
        </test>    
    </tests>
    <help><![CDATA[
        @MFASSIGN_HELP@

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