view NucleicAcidSearchEngine.xml @ 5:a19e844b82ad draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:31:16 +0000
parents 92864c71ac6a
children
line wrap: on
line source

<!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
<!--Proposed Tool Section: [RNA]-->
<tool id="NucleicAcidSearchEngine" name="NucleicAcidSearchEngine" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Annotate nucleic acid identifications to MS/MS spectra</description>
  <macros>
    <token name="@EXECUTABLE@">NucleicAcidSearchEngine</token>
    <import>macros.xml</import>
  </macros>
  <expand macro="requirements"/>
  <expand macro="stdio"/>
  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
@EXT_FOO@
#import re

## Preprocessing
mkdir in &&
cp '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
#if $database:
  mkdir database &&
  cp '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
#end if
#if $digest:
  mkdir digest &&
  cp '$digest' 'digest/${re.sub("[^\w\-_]", "_", $digest.element_identifier)}.$gxy2omsext($digest.ext)' &&
#end if
mkdir out &&
#if "id_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir id_out &&
#end if
#if "db_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir db_out &&
#end if
#if "digest_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir digest_out &&
#end if
#if "lfq_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir lfq_out &&
#end if
#if "theo_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir theo_ms2_out &&
#end if
#if "exp_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir exp_ms2_out &&
#end if

## Main program call

set -o pipefail &&
@EXECUTABLE@ -write_ctd ./ &&
python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
@EXECUTABLE@ -ini @EXECUTABLE@.ctd
-in
'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
#if $database:
  -database
  'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)'
#end if
#if $digest:
  -digest
  'digest/${re.sub("[^\w\-_]", "_", $digest.element_identifier)}.$gxy2omsext($digest.ext)'
#end if
-out
'out/output.${gxy2omsext("mztab")}'
#if "id_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -id_out
  'id_out/output.${gxy2omsext("idxml")}'
#end if
#if "db_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -db_out
  'db_out/output.${gxy2omsext("sqlite")}'
#end if
#if "digest_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -digest_out
  'digest_out/output.${gxy2omsext("sqlite")}'
#end if
#if "lfq_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -lfq_out
  'lfq_out/output.${gxy2omsext("tabular")}'
#end if
#if "theo_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -theo_ms2_out
  'theo_ms2_out/output.${gxy2omsext("mzml")}'
#end if
#if "exp_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -exp_ms2_out
  'exp_ms2_out/output.${gxy2omsext("mzml")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
&& mv 'out/output.${gxy2omsext("mztab")}' '$out'
#if "id_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'id_out/output.${gxy2omsext("idxml")}' '$id_out'
#end if
#if "db_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'db_out/output.${gxy2omsext("sqlite")}' '$db_out'
#end if
#if "digest_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'digest_out/output.${gxy2omsext("sqlite")}' '$digest_out'
#end if
#if "lfq_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'lfq_out/output.${gxy2omsext("tabular")}' '$lfq_out'
#end if
#if "theo_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'theo_ms2_out/output.${gxy2omsext("mzml")}' '$theo_ms2_out'
#end if
#if "exp_ms2_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'exp_ms2_out/output.${gxy2omsext("mzml")}' '$exp_ms2_out'
#end if
#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
  && mv '@EXECUTABLE@.ctd' '$ctd_out'
#end if]]></command>
  <configfiles>
    <inputs name="args_json" data_style="paths"/>
    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
  </configfiles>
  <inputs>
    <param argument="-in" type="data" format="mzml" label="Input file: spectra" help=" select mzml data sets(s)"/>
    <param argument="-database" type="data" format="fasta" optional="true" label="Input file: sequence database" help="Required unless 'digest' is set select fasta data sets(s)"/>
    <param argument="-digest" type="data" format="sqlite" optional="true" label="Input file: pre-digested sequence database" help="Can be used instead of 'database'. Sets all 'oligo:...' parameters select sqlite data sets(s)"/>
    <section name="precursor" title="Precursor (parent ion) options" help="" expanded="false">
      <param name="mass_tolerance" argument="-precursor:mass_tolerance" type="float" value="10.0" label="Precursor mass tolerance (+/- around uncharged precursor mass)" help=""/>
      <param name="mass_tolerance_unit" argument="-precursor:mass_tolerance_unit" type="select" label="Unit of precursor mass tolerance" help="">
        <option value="Da">Da</option>
        <option value="ppm" selected="true">ppm</option>
        <expand macro="list_string_san" name="mass_tolerance_unit"/>
      </param>
      <param name="min_charge" argument="-precursor:min_charge" type="integer" value="-1" label="Minimum precursor charge to be considered" help=""/>
      <param name="max_charge" argument="-precursor:max_charge" type="integer" value="-20" label="Maximum precursor charge to be considered" help=""/>
      <param name="include_unknown_charge" argument="-precursor:include_unknown_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Include MS2 spectra with unknown precursor charge - try to match them in any possible charge between 'min_charge' and 'max_charge', at the risk of a higher error rate" help=""/>
      <param name="use_avg_mass" argument="-precursor:use_avg_mass" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use average instead of monoisotopic precursor masses (appropriate for low-resolution instruments)" help=""/>
      <param name="use_adducts" argument="-precursor:use_adducts" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Consider possible salt adducts (see 'precursor:potential_adducts') when matching precursor masses" help=""/>
      <param name="potential_adducts" argument="-precursor:potential_adducts" type="text" value="Na:+" label="Adducts considered to explain mass differences" help="Format: 'Element:Charge(+/-)', i.e. the number of '+' or '-' indicates the charge, e.g. 'Ca:++' indicates +2. Only used if 'precursor:use_adducts' is set (space separated list, in order to allow for spaces in list items surround them by single quotes)">
        <expand macro="list_string_val" name="potential_adducts"/>
        <expand macro="list_string_san" name="potential_adducts"/>
      </param>
      <param name="isotopes" argument="-precursor:isotopes" type="text" value="0 1 2 3 4" label="Correct for mono-isotopic peak misassignments" help="E.g.: 1 = precursor may be misassigned to the first isotopic peak. Ignored if 'use_avg_mass' is set (space separated list, in order to allow for spaces in list items surround them by single quotes)">
        <expand macro="list_integer_valsan" name="isotopes"/>
      </param>
    </section>
    <section name="fragment" title="Fragment (Product Ion) Options" help="" expanded="false">
      <param name="mass_tolerance" argument="-fragment:mass_tolerance" type="float" value="10.0" label="Fragment mass tolerance (+/- around fragment m/z)" help=""/>
      <param name="mass_tolerance_unit" argument="-fragment:mass_tolerance_unit" type="select" label="Unit of fragment mass tolerance" help="">
        <option value="Da">Da</option>
        <option value="ppm" selected="true">ppm</option>
        <expand macro="list_string_san" name="mass_tolerance_unit"/>
      </param>
      <param name="ions" argument="-fragment:ions" type="select" multiple="true" optional="false" label="Fragment ions to include in theoretical spectra" help="">
        <option value="a-B" selected="true">a-B</option>
        <option value="a" selected="true">a</option>
        <option value="b" selected="true">b</option>
        <option value="c" selected="true">c</option>
        <option value="d" selected="true">d</option>
        <option value="w" selected="true">w</option>
        <option value="x" selected="true">x</option>
        <option value="y" selected="true">y</option>
        <option value="z" selected="true">z</option>
        <expand macro="list_string_san" name="ions"/>
      </param>
    </section>
    <section name="modifications" title="Modification options" help="" expanded="false">
      <param name="variable" argument="-modifications:variable" type="select" multiple="true" optional="true" label="Variable modifications" help="">
        <option value="io6A">io6A</option>
        <option value="s2U">s2U</option>
        <option value="k2C">k2C</option>
        <option value="m2Gm">m2Gm</option>
        <option value="Ym">Ym</option>
        <option value="f5Cm">f5Cm</option>
        <option value="Qbase">Qbase</option>
        <option value="ac4Cm">ac4Cm</option>
        <option value="imG-14">imG-14</option>
        <option value="cm5s2U">cm5s2U</option>
        <option value="mnm5s2U">mnm5s2U</option>
        <option value="m227G">m227G</option>
        <option value="yW-58">yW-58</option>
        <option value="I">I</option>
        <option value="g6A">g6A</option>
        <option value="nm5U">nm5U</option>
        <option value="m7G">m7G</option>
        <option value="s2Um">s2Um</option>
        <option value="Y">Y</option>
        <option value="hm5C">hm5C</option>
        <option value="m5U">m5U</option>
        <option value="preQ0">preQ0</option>
        <option value="o2yW">o2yW</option>
        <option value="m5Um">m5Um</option>
        <option value="preQ1">preQ1</option>
        <option value="m66Am">m66Am</option>
        <option value="ac6A">ac6A</option>
        <option value="ms2io6A">ms2io6A</option>
        <option value="Am">Am</option>
        <option value="Im">Im</option>
        <option value="mnm5U">mnm5U</option>
        <option value="m22G">m22G</option>
        <option value="t6A">t6A</option>
        <option value="m8A">m8A</option>
        <option value="m7GpppN">m7GpppN</option>
        <option value="m27GpppN">m27GpppN</option>
        <option value="m227GpppN">m227GpppN</option>
        <option value="mpppN">mpppN</option>
        <option value="m28A">m28A</option>
        <option value="acp3D">acp3D</option>
        <option value="acp3Y">acp3Y</option>
        <option value="imG">imG</option>
        <option value="D">D</option>
        <option value="N">N</option>
        <option value="C+">C+</option>
        <option value="m27Gm">m27Gm</option>
        <option value="ho5C">ho5C</option>
        <option value="inm5U">inm5U</option>
        <option value="inm5Um">inm5Um</option>
        <option value="inm5s2U">inm5s2U</option>
        <option value="pppN">pppN</option>
        <option value="GpppN">GpppN</option>
        <option value="CoApN">CoApN</option>
        <option value="m44C">m44C</option>
        <option value="acCoApN">acCoApN</option>
        <option value="malonyl-CoApN">malonyl-CoApN</option>
        <option value="succinyl-CoApN">succinyl-CoApN</option>
        <option value="ppN">ppN</option>
        <option value="NADpN">NADpN</option>
        <option value="m6t6A">m6t6A</option>
        <option value="OHyWy">OHyWy</option>
        <option value="pG(pN)">pG(pN)</option>
        <option value="ncm5s2U">ncm5s2U</option>
        <option value="nchm5U">nchm5U</option>
        <option value="mchm5Um">mchm5Um</option>
        <option value="pN">pN</option>
        <option value="ges2U">ges2U</option>
        <option value="cmnm5ges2U">cmnm5ges2U</option>
        <option value="mnm5ges2U">mnm5ges2U</option>
        <option value="nm5ges2U">nm5ges2U</option>
        <option value="m5D">m5D</option>
        <option value="mmpN">mmpN</option>
        <option value="mpN">mpN</option>
        <option value="5'-OH-N">5'-OH-N</option>
        <option value="N2'3'cp">N2'3'cp</option>
        <option value="ct6A">ct6A</option>
        <option value="hm6A">hm6A</option>
        <option value="f6A">f6A</option>
        <option value="cnm5U">cnm5U</option>
        <option value="mcmo5Um">mcmo5Um</option>
        <option value="m5C">m5C</option>
        <option value="ms2ct6A">ms2ct6A</option>
        <option value="ht6A">ht6A</option>
        <option value="msms2i6A">msms2i6A</option>
        <option value="hm5Cm">hm5Cm</option>
        <option value="pY">pY</option>
        <option value="pm5C">pm5C</option>
        <option value="ps2U">ps2U</option>
        <option value="hn6A">hn6A</option>
        <option value="pD">pD</option>
        <option value="pm2G">pm2G</option>
        <option value="pm66A">pm66A</option>
        <option value="pGm">pGm</option>
        <option value="pm5U">pm5U</option>
        <option value="pm22G">pm22G</option>
        <option value="pm3U">pm3U</option>
        <option value="m5Cm">m5Cm</option>
        <option value="Ar(p)">Ar(p)</option>
        <option value="pac4C">pac4C</option>
        <option value="pCm">pCm</option>
        <option value="pppG">pppG</option>
        <option value="pm7G">pm7G</option>
        <option value="pm1A">pm1A</option>
        <option value="pUm">pUm</option>
        <option value="pAm">pAm</option>
        <option value="pm4Cm">pm4Cm</option>
        <option value="pC2'3'cp">pC2'3'cp</option>
        <option value="tm5U">tm5U</option>
        <option value="pm6A">pm6A</option>
        <option value="pyW">pyW</option>
        <option value="pm1G">pm1G</option>
        <option value="pA2'3'cp">pA2'3'cp</option>
        <option value="ps4U">ps4U</option>
        <option value="pI">pI</option>
        <option value="ppG">ppG</option>
        <option value="pm2A">pm2A</option>
        <option value="m1G">m1G</option>
        <option value="pmcm5s2U">pmcm5s2U</option>
        <option value="cmnm5Um">cmnm5Um</option>
        <option value="pse2U">pse2U</option>
        <option value="pt6A">pt6A</option>
        <option value="pf5C">pf5C</option>
        <option value="pppA">pppA</option>
        <option value="pG">pG</option>
        <option value="pG2'3'cp">pG2'3'cp</option>
        <option value="pms2i6A">pms2i6A</option>
        <option value="pcmo5U">pcmo5U</option>
        <option value="Xm">Xm</option>
        <option value="pm44C">pm44C</option>
        <option value="pi6A">pi6A</option>
        <option value="phm5C">phm5C</option>
        <option value="pU">pU</option>
        <option value="pAr(p)">pAr(p)</option>
        <option value="pac4Cm">pac4Cm</option>
        <option value="pGp">pGp</option>
        <option value="m1I">m1I</option>
        <option value="pU2'3'cp">pU2'3'cp</option>
        <option value="mcm5U">mcm5U</option>
        <option value="Gm">Gm</option>
        <option value="pm4C">pm4C</option>
        <option value="ncm5Um">ncm5Um</option>
        <option value="pm5Um">pm5Um</option>
        <option value="pmnm5U">pmnm5U</option>
        <option value="pm3C">pm3C</option>
        <option value="m5s2U">m5s2U</option>
        <option value="yW">yW</option>
        <option value="pC">pC</option>
        <option value="pm6t6A">pm6t6A</option>
        <option value="f5C">f5C</option>
        <option value="pAp">pAp</option>
        <option value="m1Am">m1Am</option>
        <option value="m1Im">m1Im</option>
        <option value="ApppN">ApppN</option>
        <option value="AppppN">AppppN</option>
        <option value="ApppppN">ApppppN</option>
        <option value="m6ApppN">m6ApppN</option>
        <option value="m6AppppN">m6AppppN</option>
        <option value="m6ApppppN">m6ApppppN</option>
        <option value="m7GppppN">m7GppppN</option>
        <option value="Gr(p)">Gr(p)</option>
        <option value="pm1Am">pm1Am</option>
        <option value="pm1Gm">pm1Gm</option>
        <option value="pm1Im">pm1Im</option>
        <option value="pm1acp3Y">pm1acp3Y</option>
        <option value="pm1I">pm1I</option>
        <option value="pm1Y">pm1Y</option>
        <option value="pk2C">pk2C</option>
        <option value="ps2C">ps2C</option>
        <option value="pm3Y">pm3Y</option>
        <option value="nm5s2U">nm5s2U</option>
        <option value="pm5Cm">pm5Cm</option>
        <option value="pmchm5U">pmchm5U</option>
        <option value="pinm5Um">pinm5Um</option>
        <option value="pinm5s2U">pinm5s2U</option>
        <option value="pinm5U">pinm5U</option>
        <option value="pnm5U">pnm5U</option>
        <option value="pncm5U">pncm5U</option>
        <option value="pchm5U">pchm5U</option>
        <option value="pcmnm5U">pcmnm5U</option>
        <option value="pcm5U">pcm5U</option>
        <option value="m2G">m2G</option>
        <option value="pho5U">pho5U</option>
        <option value="pmcm5Um">pmcm5Um</option>
        <option value="pmcm5U">pmcm5U</option>
        <option value="pmo5U">pmo5U</option>
        <option value="pm5D">pm5D</option>
        <option value="pmimG">pmimG</option>
        <option value="phm5Cm">phm5Cm</option>
        <option value="pIm">pIm</option>
        <option value="pYm">pYm</option>
        <option value="pmcmo5Um">pmcmo5Um</option>
        <option value="m2A">m2A</option>
        <option value="pGr(p)">pGr(p)</option>
        <option value="pm28A">pm28A</option>
        <option value="pmsms2i6A">pmsms2i6A</option>
        <option value="pges2U">pges2U</option>
        <option value="pms2ct6A">pms2ct6A</option>
        <option value="pms2io6A">pms2io6A</option>
        <option value="pms2hn6A">pms2hn6A</option>
        <option value="pms2m6A">pms2m6A</option>
        <option value="pms2t6A">pms2t6A</option>
        <option value="ps2Um">ps2Um</option>
        <option value="pm3Um">pm3Um</option>
        <option value="pacp3D">pacp3D</option>
        <option value="pacp3U">pacp3U</option>
        <option value="pimG-14">pimG-14</option>
        <option value="pmchm5Um">pmchm5Um</option>
        <option value="pnm5ges2U">pnm5ges2U</option>
        <option value="pnm5se2U">pnm5se2U</option>
        <option value="pnm5s2U">pnm5s2U</option>
        <option value="pnchm5U">pnchm5U</option>
        <option value="pncm5Um">pncm5Um</option>
        <option value="m4Cm">m4Cm</option>
        <option value="pncm5s2U">pncm5s2U</option>
        <option value="pcm5s2U">pcm5s2U</option>
        <option value="pcmnm5Um">pcmnm5Um</option>
        <option value="pcmnm5ges2U">pcmnm5ges2U</option>
        <option value="pcmnm5se2U">pcmnm5se2U</option>
        <option value="pcmnm5s2U">pcmnm5s2U</option>
        <option value="pcnm5U">pcnm5U</option>
        <option value="pf5Cm">pf5Cm</option>
        <option value="pho5C">pho5C</option>
        <option value="pm5s2U">pm5s2U</option>
        <option value="m27G">m27G</option>
        <option value="m22Gm">m22Gm</option>
        <option value="pmnm5ges2U">pmnm5ges2U</option>
        <option value="pmnm5se2U">pmnm5se2U</option>
        <option value="pmnm5s2U">pmnm5s2U</option>
        <option value="ptm5s2U">ptm5s2U</option>
        <option value="ptm5U">ptm5U</option>
        <option value="pyW-86">pyW-86</option>
        <option value="pyW-72">pyW-72</option>
        <option value="pyW-58">pyW-58</option>
        <option value="ppreQ1">ppreQ1</option>
        <option value="ppreQ0">ppreQ0</option>
        <option value="m66A">m66A</option>
        <option value="pm8A">pm8A</option>
        <option value="pC+">pC+</option>
        <option value="pG+">pG+</option>
        <option value="pct6A">pct6A</option>
        <option value="poQ">poQ</option>
        <option value="pgalQ">pgalQ</option>
        <option value="pgluQ">pgluQ</option>
        <option value="pht6A">pht6A</option>
        <option value="pOHyW">pOHyW</option>
        <option value="pimG2">pimG2</option>
        <option value="gluQ">gluQ</option>
        <option value="pmanQ">pmanQ</option>
        <option value="pOHyWy">pOHyWy</option>
        <option value="pm27Gm">pm27Gm</option>
        <option value="pQ">pQ</option>
        <option value="pOHyWx">pOHyWx</option>
        <option value="pmcmo5U">pmcmo5U</option>
        <option value="pimG">pimG</option>
        <option value="pm44Cm">pm44Cm</option>
        <option value="pm2Gm">pm2Gm</option>
        <option value="pm22Gm">pm22Gm</option>
        <option value="ncm5U">ncm5U</option>
        <option value="pm6Am">pm6Am</option>
        <option value="pm66Am">pm66Am</option>
        <option value="pio6A">pio6A</option>
        <option value="pac6A">pac6A</option>
        <option value="pf6A">pf6A</option>
        <option value="pg6A">pg6A</option>
        <option value="phm6A">phm6A</option>
        <option value="phn6A">phn6A</option>
        <option value="cm5U">cm5U</option>
        <option value="pm27G">pm27G</option>
        <option value="pm227G">pm227G</option>
        <option value="pA">pA</option>
        <option value="cmnm5s2U">cmnm5s2U</option>
        <option value="cmo5U">cmo5U</option>
        <option value="m3Y">m3Y</option>
        <option value="m3U">m3U</option>
        <option value="ms2m6A">ms2m6A</option>
        <option value="Um">Um</option>
        <option value="ms2i6A">ms2i6A</option>
        <option value="m3C">m3C</option>
        <option value="cmnm5se2U">cmnm5se2U</option>
        <option value="ms2t6A">ms2t6A</option>
        <option value="i6A">i6A</option>
        <option value="m3Um">m3Um</option>
        <option value="mcmo5U">mcmo5U</option>
        <option value="mimG">mimG</option>
        <option value="oQ">oQ</option>
        <option value="preQ1base">preQ1base</option>
        <option value="nm5se2U">nm5se2U</option>
        <option value="m1Gm">m1Gm</option>
        <option value="ho5U">ho5U</option>
        <option value="Q">Q</option>
        <option value="xG">xG</option>
        <option value="mcm5s2U">mcm5s2U</option>
        <option value="m44Cm">m44Cm</option>
        <option value="s4U">s4U</option>
        <option value="xC">xC</option>
        <option value="yW-86">yW-86</option>
        <option value="xA">xA</option>
        <option value="chm5U">chm5U</option>
        <option value="mo5U">mo5U</option>
        <option value="acp3U">acp3U</option>
        <option value="xU">xU</option>
        <option value="yW-72">yW-72</option>
        <option value="mnm5se2U">mnm5se2U</option>
        <option value="ms2hn6A">ms2hn6A</option>
        <option value="m1acp3Y">m1acp3Y</option>
        <option value="mcm5Um">mcm5Um</option>
        <option value="ac4C">ac4C</option>
        <option value="m6Am">m6Am</option>
        <option value="m1A">m1A</option>
        <option value="Cm">Cm</option>
        <option value="mchm5U">mchm5U</option>
        <option value="galQ">galQ</option>
        <option value="cmnm5U">cmnm5U</option>
        <option value="m1Y">m1Y</option>
        <option value="imG2">imG2</option>
        <option value="m4C">m4C</option>
        <option value="manQ">manQ</option>
        <option value="tm5s2U">tm5s2U</option>
        <option value="s2C">s2C</option>
        <option value="OHyWx">OHyWx</option>
        <option value="se2U">se2U</option>
        <option value="preQ0base">preQ0base</option>
        <option value="m6A">m6A</option>
        <option value="OHyW">OHyW</option>
        <option value="xX">xX</option>
        <option value="G+">G+</option>
        <option value="3'-p">3'-p</option>
        <option value="5'-p">5'-p</option>
        <option value="5'-p*">5'-p*</option>
        <option value="3'-c">3'-c</option>
        <option value="mA">mA</option>
        <option value="mC">mC</option>
        <option value="mG">mG</option>
        <option value="mU">mU</option>
        <option value="sU">sU</option>
        <option value="mmA">mmA</option>
        <option value="mAm">mAm</option>
        <option value="mCm">mCm</option>
        <option value="mGm">mGm</option>
        <option value="mUm">mUm</option>
        <option value="cmo5U/chm5U">cmo5U/chm5U</option>
        <option value="mchm5U/mcmo5U">mchm5U/mcmo5U</option>
        <option value="mchm5Um/mcmo5Um">mchm5Um/mcmo5Um</option>
        <option value="m6t6A/hn6A">m6t6A/hn6A</option>
        <option value="galQ/manQ">galQ/manQ</option>
        <option value="mA?">mA?</option>
        <option value="mC?">mC?</option>
        <option value="mG?">mG?</option>
        <option value="mU?">mU?</option>
        <option value="mI?">mI?</option>
        <option value="msU?">msU?</option>
        <option value="mmA?">mmA?</option>
        <option value="mmC?">mmC?</option>
        <option value="mmG?">mmG?</option>
        <option value="mmmG?">mmmG?</option>
        <option value="ac4C/f5Cm?">ac4C/f5Cm?</option>
        <option value="acp3U/cmnm5Um?">acp3U/cmnm5Um?</option>
        <option value="dA">dA</option>
        <option value="dC">dC</option>
        <option value="dG">dG</option>
        <option value="dU">dU</option>
        <option value="dT">dT</option>
        <option value="A*">A*</option>
        <option value="C*">C*</option>
        <option value="G*">G*</option>
        <option value="U*">U*</option>
        <option value="dA*">dA*</option>
        <option value="dC*">dC*</option>
        <option value="dG*">dG*</option>
        <option value="dU*">dU*</option>
        <option value="dT*">dT*</option>
        <expand macro="list_string_san" name="variable"/>
      </param>
      <param name="variable_max_per_oligo" argument="-modifications:variable_max_per_oligo" type="integer" value="2" label="Maximum number of residues carrying a variable modification per candidate oligonucleotide" help=""/>
      <param name="resolve_ambiguities" argument="-modifications:resolve_ambiguities" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Attempt to resolve ambiguous modifications" help="(e.g. 'mA?' for 'mA'/'Am') based on a-B ions.. This incurs a performance cost because two modifications have to be considered for each case.. Requires a-B ions to be enabled in parameter 'fragment:ions'"/>
    </section>
    <section name="oligo" title="Oligonucleotide (digestion) options (ignored if 'digest' input is used)" help="" expanded="false">
      <param name="min_size" argument="-oligo:min_size" type="integer" value="5" label="Minimum size an oligonucleotide must have after digestion to be considered in the search" help=""/>
      <param name="max_size" argument="-oligo:max_size" type="integer" value="0" label="Maximum size an oligonucleotide must have after digestion to be considered in the search, leave at 0 for no limit" help=""/>
      <param name="missed_cleavages" argument="-oligo:missed_cleavages" type="integer" value="1" label="Number of missed cleavages" help=""/>
      <param name="enzyme" argument="-oligo:enzyme" type="select" label="The enzyme used for RNA digestion" help="">
        <option value="RNase_A">RNase_A</option>
        <option value="RNase_MC1">RNase_MC1</option>
        <option value="RNase_H">RNase_H</option>
        <option value="mazF">mazF</option>
        <option value="cusativin">cusativin</option>
        <option value="RNase_T1">RNase_T1</option>
        <option value="colicin_E5">colicin_E5</option>
        <option value="no cleavage" selected="true">no cleavage</option>
        <option value="unspecific cleavage">unspecific cleavage</option>
        <option value="RNase_U2">RNase_U2</option>
        <expand macro="list_string_san" name="enzyme"/>
      </param>
    </section>
    <section name="report" title="Reporting Options" help="" expanded="false">
      <param name="top_hits" argument="-report:top_hits" type="integer" min="0" value="1" label="Maximum number of top-scoring hits per spectrum that are reported ('0' for all hits)" help=""/>
    </section>
    <section name="fdr" title="False Discovery Rate options" help="" expanded="false">
      <param name="decoy_pattern" argument="-fdr:decoy_pattern" type="text" optional="true" value="" label="String used as part of the accession to annotate decoy sequences" help="(e.g. 'DECOY_'). Leave empty to skip the FDR/q-value calculation">
        <expand macro="list_string_san" name="decoy_pattern"/>
      </param>
      <param name="cutoff" argument="-fdr:cutoff" type="float" min="0.0" max="1.0" value="1.0" label="Cut-off for FDR filtering; search hits with higher q-values will be removed" help=""/>
      <param name="remove_decoys" argument="-fdr:remove_decoys" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not score hits to decoy sequences and remove them when filtering" help=""/>
    </section>
    <expand macro="adv_opts_macro">
      <param argument="-decharge_ms2" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Decharge the MS2 spectra for scoring" help=""/>
      <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
      <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true">
        <expand macro="list_string_san" name="test"/>
      </param>
    </expand>
    <param name="OPTIONAL_OUTPUTS" type="select" optional="true" multiple="true" label="Optional outputs">
      <option value="id_out_FLAG">id_out (Output file: idXML (for visualization in TOPPView))</option>
      <option value="db_out_FLAG">db_out (Output file: oms (SQLite database))</option>
      <option value="digest_out_FLAG">digest_out (Output file: sequence database digest)</option>
      <option value="lfq_out_FLAG">lfq_out (Output file: targets for label-free quantification using FeatureFinderMetaboIdent ('id' input))</option>
      <option value="theo_ms2_out_FLAG">theo_ms2_out (Output file: theoretical MS2 spectra for precursor mass matches)</option>
      <option value="exp_ms2_out_FLAG">exp_ms2_out (Output file: experimental MS2 spectra for precursor mass matches)</option>
      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
    </param>
  </inputs>
  <outputs>
    <data name="out" label="${tool.name} on ${on_string}: out" format="mztab"/>
    <data name="id_out" label="${tool.name} on ${on_string}: id_out" format="idxml">
      <filter>OPTIONAL_OUTPUTS is not None and "id_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="db_out" label="${tool.name} on ${on_string}: db_out" format="sqlite">
      <filter>OPTIONAL_OUTPUTS is not None and "db_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="digest_out" label="${tool.name} on ${on_string}: digest_out" format="sqlite">
      <filter>OPTIONAL_OUTPUTS is not None and "digest_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="lfq_out" label="${tool.name} on ${on_string}: lfq_out" format="tabular">
      <filter>OPTIONAL_OUTPUTS is not None and "lfq_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="theo_ms2_out" label="${tool.name} on ${on_string}: theo_ms2_out" format="mzml">
      <filter>OPTIONAL_OUTPUTS is not None and "theo_ms2_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="exp_ms2_out" label="${tool.name} on ${on_string}: exp_ms2_out" format="mzml">
      <filter>OPTIONAL_OUTPUTS is not None and "exp_ms2_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
  </outputs>
  <tests>
    <!-- TOPP_NucleicAcidSearchEngine_1 -->
    <test expect_num_outputs="5">
      <section name="adv_opts">
        <param name="decharge_ms2" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="NucleicAcidSearchEngine_1.mzML"/>
      <param name="database" value="NucleicAcidSearchEngine_1.fasta"/>
      <output name="out" value="NucleicAcidSearchEngine_12_out.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
      <output name="id_out" value="NucleicAcidSearchEngine_11_out.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/>
      <output name="db_out" value="NucleicAcidSearchEngine_13_out.tmp" compare="sim_size" delta_frac="0.7" ftype="sqlite"/>
      <output name="digest_out" value="NucleicAcidSearchEngine_1_digest.oms" compare="sim_size" delta_frac="0.7" ftype="sqlite"/>
      <section name="precursor">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="-2"/>
        <param name="max_charge" value="-14"/>
        <param name="include_unknown_charge" value="true"/>
        <param name="use_avg_mass" value="false"/>
        <param name="use_adducts" value="true"/>
        <param name="potential_adducts" value="&quot;K:+&quot; &quot;Na:+&quot; &quot;Na2:++&quot; &quot;K2:++&quot; &quot;NaK:++&quot; &quot;K3:+++&quot; &quot;Na3:+++&quot; &quot;NaK2:+++&quot; &quot;Na2K:+++&quot;"/>
        <param name="isotopes" value="0 1 2"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="ions" value="a-B,c,w,y"/>
      </section>
      <section name="modifications">
        <param name="variable_max_per_oligo" value="2"/>
        <param name="resolve_ambiguities" value="false"/>
      </section>
      <section name="oligo">
        <param name="min_size" value="5"/>
        <param name="max_size" value="0"/>
        <param name="missed_cleavages" value="22"/>
        <param name="enzyme" value="no cleavage"/>
      </section>
      <section name="report">
        <param name="top_hits" value="1"/>
      </section>
      <section name="fdr">
        <param name="decoy_pattern" value="DECOY_"/>
        <param name="cutoff" value="0.05"/>
        <param name="remove_decoys" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,id_out_FLAG,db_out_FLAG,digest_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
    <!-- TOPP_NucleicAcidSearchEngine_2 -->
    <test expect_num_outputs="4">
      <section name="adv_opts">
        <param name="decharge_ms2" value="false"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="NucleicAcidSearchEngine_1.mzML"/>
      <param name="digest" value="NucleicAcidSearchEngine_1_digest.oms"/>
      <output name="out" value="NucleicAcidSearchEngine_12_out.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
      <output name="id_out" value="NucleicAcidSearchEngine_11_out.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/>
      <output name="db_out" value="NucleicAcidSearchEngine_23_out.tmp" compare="sim_size" delta_frac="0.7" ftype="sqlite"/>
      <section name="precursor">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="min_charge" value="-2"/>
        <param name="max_charge" value="-14"/>
        <param name="include_unknown_charge" value="true"/>
        <param name="use_avg_mass" value="false"/>
        <param name="use_adducts" value="true"/>
        <param name="potential_adducts" value="&quot;K:+&quot; &quot;Na:+&quot; &quot;Na2:++&quot; &quot;K2:++&quot; &quot;NaK:++&quot; &quot;K3:+++&quot; &quot;Na3:+++&quot; &quot;NaK2:+++&quot; &quot;Na2K:+++&quot;"/>
        <param name="isotopes" value="0 1 2"/>
      </section>
      <section name="fragment">
        <param name="mass_tolerance" value="5.0"/>
        <param name="mass_tolerance_unit" value="ppm"/>
        <param name="ions" value="a-B,c,w,y"/>
      </section>
      <section name="modifications">
        <param name="variable_max_per_oligo" value="2"/>
        <param name="resolve_ambiguities" value="false"/>
      </section>
      <section name="oligo">
        <param name="min_size" value="5"/>
        <param name="max_size" value="0"/>
        <param name="missed_cleavages" value="22"/>
        <param name="enzyme" value="no cleavage"/>
      </section>
      <section name="report">
        <param name="top_hits" value="1"/>
      </section>
      <section name="fdr">
        <param name="decoy_pattern" value="DECOY_"/>
        <param name="cutoff" value="0.05"/>
        <param name="remove_decoys" value="true"/>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,id_out_FLAG,db_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
  </tests>
  <help><![CDATA[Annotate nucleic acid identifications to MS/MS spectra.


For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_NucleicAcidSearchEngine.html]]></help>
  <expand macro="references"/>
</tool>