Repository 'openms_consensusid'
hg clone https://toolshed.g2.bx.psu.edu/repos/galaxyp/openms_consensusid

Changeset 17:abffdfee3021 (2021-02-22)
Previous changeset 16:01dbaf6a57e0 (2020-11-06) Next changeset 18:f4be248c3d47 (2022-12-01)
Commit message:
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms"
modified:
ConsensusID.xml
generate-foo.sh
macros.xml
macros_autotest.xml
macros_test.xml
prepare_test_data_manual.sh
readme.md
test-data.sh
removed:
404-urls.patch
OMSSAAdapter.patch
PepNovoAdapter.patch
filetypes.txt
fill_ctd_clargs.py
generate.sh
hardcoded_params.json
tools_blacklist.txt
b
diff -r 01dbaf6a57e0 -r abffdfee3021 404-urls.patch
--- a/404-urls.patch Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,11 +0,0 @@
-diff -ruN FeatureFinderSuperHirn.xml FeatureFinderSuperHirn.xml
---- FeatureFinderSuperHirn.xml 2020-10-02 12:06:56.398572301 +0200
-+++ FeatureFinderSuperHirn.xml 2020-10-02 12:07:31.511153834 +0200
-@@ -105,6 +105,6 @@
-   <help><![CDATA[Finds mass spectrometric features in mass spectra.


--For more information, visit http://www.openms.de/doxygen/release/2.6.0/html/TOPP_FeatureFinderSuperHirn.html]]></help>
-+For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.6.0/html/UTILS_FeatureFinderSuperHirn.html]]></help>
-   <expand macro="references"/>
- </tool>
b
diff -r 01dbaf6a57e0 -r abffdfee3021 ConsensusID.xml
--- a/ConsensusID.xml Fri Nov 06 19:49:28 2020 +0000
+++ b/ConsensusID.xml Mon Feb 22 10:46:10 2021 +0000
[
b'@@ -1,7 +1,7 @@\n <?xml version=\'1.0\' encoding=\'UTF-8\'?>\n <!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->\n <!--Proposed Tool Section: [ID Processing]-->\n-<tool id="ConsensusID" name="ConsensusID" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">\n+<tool id="ConsensusID" name="ConsensusID" version="@TOOL_VERSION@+galaxy1" profile="20.05">\n   <description>Computes a consensus of peptide identifications of several identification engines.</description>\n   <macros>\n     <token name="@EXECUTABLE@">ConsensusID</token>\n@@ -17,7 +17,8 @@\n \n ## Preprocessing\n mkdir in &&\n-${ \' \'.join(["ln -s \'%s\' \'in/%s.%s\' &&" % (_, re.sub(\'[^\\w\\-_]\', \'_\', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _]) }\n+mkdir ${\' \'.join(["\'in/%s\'" % (i) for i, f in enumerate($in) if f])} && \n+${\' \'.join(["ln -s \'%s\' \'in/%s/%s.%s\' && " % (f, i, re.sub(\'[^\\w\\-_]\', \'_\', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in) if f])}\n mkdir out &&\n \n ## Main program call\n@@ -27,7 +28,7 @@\n python3 \'$__tool_directory__/fill_ctd.py\' \'@EXECUTABLE@.ctd\' \'$args_json\' \'$hardcoded_json\' &&\n @EXECUTABLE@ -ini @EXECUTABLE@.ctd\n -in\n-${\' \'.join(["\'in/%s.%s\'"%(re.sub(\'[^\\w\\-_]\', \'_\', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _])}\n+${\' \'.join(["\'in/%s/%s.%s\'"%(i, re.sub(\'[^\\w\\-_]\', \'_\', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in) if f])}\n -out\n \'out/output.${in[0].ext}\'\n \n@@ -42,8 +43,8 @@\n   </configfiles>\n   <inputs>\n     <param name="in" argument="-in" type="data" format="consensusxml,featurexml,idxml" multiple="true" optional="false" label="input file" help=" select consensusxml,featurexml,idxml data sets(s)"/>\n-    <param name="rt_delta" argument="-rt_delta" type="float" optional="true" min="0.0" value="0.1" label="[idXML input only] Maximum allowed retention time deviation between identifications belonging to the same spectrum" help=""/>\n-    <param name="mz_delta" argument="-mz_delta" type="float" optional="true" min="0.0" value="0.1" label="[idXML input only] Maximum allowed precursor m/z deviation between identifications belonging to the same spectrum" help=""/>\n+    <param name="rt_delta" argument="-rt_delta" type="float" optional="false" min="0.0" value="0.1" label="[idXML input only] Maximum allowed retention time deviation between identifications belonging to the same spectrum" help=""/>\n+    <param name="mz_delta" argument="-mz_delta" type="float" optional="false" min="0.0" value="0.1" label="[idXML input only] Maximum allowed precursor m/z deviation between identifications belonging to the same spectrum" help=""/>\n     <param name="per_spectrum" argument="-per_spectrum" type="boolean" truevalue="true" falsevalue="false" checked="false" label="(only idXML) if set, mapping will be done based on exact matching of originating mzml file and spectrum_ref" help=""/>\n     <param name="algorithm" argument="-algorithm" type="select" optional="false" label="Algorithm used for consensus scoring" help="* PEPMatrix: Scoring based on posterior error probabilities (PEPs) and peptide sequence similarities (scored by a substitution matrix). Requires PEPs as scores.. * PEPIons: Scoring based on posterior error probabilities (PEPs) and fragment ion similarities (\'shared peak count\'). Requires PEPs as scores.. * best: For each peptide ID, use the best score of any search engine as the consensus score. Requires the same score type in all ID runs.. * worst: For each peptide ID, use the worst score of any search engine as the consensus score. Requires the same score type in all ID runs.. * average:  For each peptide ID, use the average score of all search engines as the consensus. Requires the same score type in all ID runs.. * ranks: Calculates a consensus score based on the ranks of peptide IDs in the results of different search engines. The final score is in the range (0, 1], with 1 bei'..b'ent="-filter:considered_hits" type="integer" optional="false" min="0" value="0" label="The number of top hits in each ID run that are considered for consensus scoring (\'0\' for all hits)" help=""/>\n+      <param name="min_support" argument="-filter:min_support" type="float" optional="false" min="0.0" max="1.0" value="0.0" label="For each peptide hit from an ID run, the fraction of other ID runs that must support that hit (otherwise it is removed)" help=""/>\n       <param name="count_empty" argument="-filter:count_empty" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Count empty ID runs" help="(i.e. those containing no peptide hit for the current spectrum) when calculating \'min_support\'?"/>\n       <param name="keep_old_scores" argument="-filter:keep_old_scores" type="boolean" truevalue="true" falsevalue="false" checked="false" label="if set, keeps the original scores as user params" help=""/>\n     </section>\n     <section name="PEPIons" title="PEPIons algorithm parameters" help="" expanded="false">\n-      <param name="mass_tolerance" argument="-PEPIons:mass_tolerance" type="float" optional="true" min="0.0" value="0.5" label="Maximum difference between fragment masses (in Da) for fragments to be considered \'shared\' between peptides" help=""/>\n-      <param name="min_shared" argument="-PEPIons:min_shared" type="integer" optional="true" min="1" value="2" label="The minimal number of \'shared\' fragments (between two suggested peptides) that is necessary to evaluate the similarity based on shared peak count (SPC)" help=""/>\n+      <param name="mass_tolerance" argument="-PEPIons:mass_tolerance" type="float" optional="false" min="0.0" value="0.5" label="Maximum difference between fragment masses (in Da) for fragments to be considered \'shared\' between peptides" help=""/>\n+      <param name="min_shared" argument="-PEPIons:min_shared" type="integer" optional="false" min="1" value="2" label="The minimal number of \'shared\' fragments (between two suggested peptides) that is necessary to evaluate the similarity based on shared peak count (SPC)" help=""/>\n     </section>\n     <section name="PEPMatrix" title="PEPMatrix algorithm parameters" help="" expanded="false">\n-      <param name="matrix" argument="-PEPMatrix:matrix" display="radio" type="select" optional="false" label="Substitution matrix to use for alignment-based similarity scoring" help="">\n+      <param name="matrix" argument="-PEPMatrix:matrix" display="checkboxes" type="select" optional="false" label="Substitution matrix to use for alignment-based similarity scoring" help="">\n         <option value="identity" selected="true">identity</option>\n         <option value="PAM30MS">PAM30MS</option>\n-        <expand macro="list_string_san"/>\n+        <expand macro="list_string_san" name="matrix"/>\n       </param>\n-      <param name="penalty" argument="-PEPMatrix:penalty" type="integer" optional="true" min="1" value="5" label="Alignment gap penalty (the same value is used for gap opening and extension)" help=""/>\n+      <param name="penalty" argument="-PEPMatrix:penalty" type="integer" optional="false" min="1" value="5" label="Alignment gap penalty (the same value is used for gap opening and extension)" help=""/>\n     </section>\n     <expand macro="adv_opts_macro">\n       <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>\n-      <param name="test" argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">\n-        <expand macro="list_string_san"/>\n+      <param name="test" argument="-test" type="hidden" optional="false" value="False" label="Enables the test mode (needed for internal use only)" help="">\n+        <expand macro="list_string_san" name="test"/>\n       </param>\n     </expand>\n     <param name="OPTIONAL_OUTPUTS" type="select" optional="true" multiple="true" label="Optional outputs">\n'
b
diff -r 01dbaf6a57e0 -r abffdfee3021 OMSSAAdapter.patch
--- a/OMSSAAdapter.patch Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,10 +0,0 @@
---- OMSSAAdapter.xml 2020-06-16 15:51:40.315400730 +0200
-+++ /tmp/OMSSAAdapter.xml 2020-06-16 15:50:23.536086074 +0200
-@@ -22,6 +22,7 @@
- mkdir database &&
- ln -s '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&

-+makeblastdb -dbtype prot -in 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
- ## Main program call

- set -o pipefail &&
b
diff -r 01dbaf6a57e0 -r abffdfee3021 PepNovoAdapter.patch
--- a/PepNovoAdapter.patch Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,35 +0,0 @@
---- PepNovoAdapter.xml 2020-05-12 15:55:24.712831518 +0200
-+++ /tmp/PepNovoAdapter.xml 2020-05-12 15:36:31.267276757 +0200
-@@ -42,8 +42,13 @@
-   </configfiles>
-   <inputs>
-     <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input file" help=" select mzml data sets(s)"/>
--    <param name="model_directory" argument="-model_directory" type="text" optional="false" value="" label="Name of the directory where the model files are kept" help="">
--      <expand macro="list_string_san"/>
-+    <param name="model_directory" argument="-model_directory" type="select" optional="false" label="Name of the directory where the model files are kept" help="">
-+        <options from_data_table="pepnovo_models">
-+            <column name="name" index="0"/>
-+            <column name="value" index="2"/>
-+            <filter type="unique_value" name="unique_set" column="0"/>
-+            <validator type="no_options" message="No model directory available"/>
-+        </options>
-     </param>
-     <param name="correct_pm" argument="-correct_pm" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Find optimal precursor mass and charge values" help=""/>
-     <param name="use_spectrum_charge" argument="-use_spectrum_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not correct charge" help=""/>
-@@ -51,8 +56,14 @@
-     <param name="no_quality_filter" argument="-no_quality_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not remove low quality spectra" help=""/>
-     <param name="fragment_tolerance" argument="-fragment_tolerance" type="float" optional="true" value="-1.0" label="The fragment tolerance (between 0 and 0.75 Da" help="Set to -1.0 to use model's default setting)"/>
-     <param name="pm_tolerance" argument="-pm_tolerance" type="float" optional="true" value="-1.0" label="The precursor mass tolerance (between 0 and 5.0 Da" help="Set to -1.0 to use model's default setting)"/>
--    <param name="model" argument="-model" type="text" optional="true" value="CID_IT_TRYP" label="Name of the model that should be used" help="">
--      <expand macro="list_string_san"/>
-+    <param name="model" argument="-model" type="select" label="Name of the model that should be used" help="">
-+        <options from_data_table="pepnovo_models">
-+            <column name="name" index="1"/>
-+            <column name="value" index="1"/>
-+            <filter type="param_value" ref="model_directory" column="2"/>
-+            <filter type="unique_value" column="1"/>
-+            <validator type="no_options" message="No model available"/>
-+        </options>
-     </param>
-     <param name="digest" argument="-digest" display="radio" type="select" optional="false" label="Enzyme used for digestion (default TRYPSIN)" help="">
-       <option value="TRYPSIN" selected="true">TRYPSIN</option>
b
diff -r 01dbaf6a57e0 -r abffdfee3021 filetypes.txt
--- a/filetypes.txt Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,85 +0,0 @@
-# CTD type    # Galaxy type
-# the following lines need to be at the top in order to ensure 
-# correct translation Galaxy->CTD type for the ambiguous cases
-# (should only be relevant for the autogenerated tests [which 
-# do not set the ftype of the inputs])
-txt           txt
-tsv           tabular
-
-##analysisXML
-# XTandemAdapter output is named xml in OMS (which is to unspecific) and bioml in Galaxy .. so this is renamed via hardcoded parameters 
-bioml         xml
-consensusXML  consensusxml
-# TODO csv is problematic, since csv often actually means tsv .. but not always
-csv           csv
-##dat
-dta           dta
-dta2d         dta2d
-edta          edta
-fa            fasta
-fas           fasta
-fasta         fasta
-FASTA         fasta
-featureXML    featurexml
-featurexml    featurexml
-# fid
-html          html
-HTML          html
-idXML         idxml
-##ini         txt
-json          json
-kroenik       kroenik
-mascotXML     mascotxml
-mgf           mgf
-mrm           mrm
-ms            sirius.ms
-ms2           ms2
-msp           msp
-mzData        mzdata
-mzid          mzid
-# important to have mzML first, since LuciphorAdapter is case sensitive https://github.com/OpenMS/OpenMS/issues/4444
-mzML          mzml
-mzml          mzml
-mzq           mzq
-mzTab         mztab
-mzXML         mzxml
-novor         txt
-obo           obo
-# I guess this is the idXML output of omssa
-omssaXML      idxml
-osw           osw
-OSW           osw
-params        txt
-paramXML      paramxml
-fasta         peff
-peplist       peplist
-# TODO pep.xml should be removed with OMS 2.6 https://github.com/OpenMS/OpenMS/pull/4541 .. but still in the tests
-pep.xml       pepxml
-pepXML        pepxml
-png           png
-PNG           png
-protXML       protxml
-psms          psms
-# TODO implement or use
-# psq
-pqp           pqp
-qcML          qcml
-spec.xml      spec.xml
-splib         splib
-sqMass        sqmass
-tandem.xml    tandem
-trafoXML      trafoxml
-traML         traml
-TraML         traml
-tab           tabular
-## MOVED TO TOP txt           txt
-raw           thermo.raw
-## xls: SpectraSTSearchAdapter https://github.com/OpenMS/OpenMS/pull/4419
-xls           tsv
-XML           xml
-xml           xml
-xquest.xml    xquest.xml
-xsd           xml
-
-# TODO needs to be implemented, needs to be below xml in order that Galaxy->OMS mapping gives xml
-# cachedMzML    xml
b
diff -r 01dbaf6a57e0 -r abffdfee3021 fill_ctd_clargs.py
--- a/fill_ctd_clargs.py Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,40 +0,0 @@
-#!/usr/bin/env python3
-from argparse import ArgumentParser
-from io import StringIO
-
-from CTDopts.CTDopts import (
-    CTDModel,
-    ModelTypeError,
-    Parameters
-)
-
-if __name__ == "__main__":
-    # note add_help=False since otherwise arguments starting with -h will
-    # trigger an error (despite allow_abbreviate)
-    parser = ArgumentParser(prog="fill_ctd_clargs",
-                            description="fill command line arguments"
-                            "into a CTD file and write the CTD file to",
-                            add_help=False, allow_abbrev=False)
-    parser.add_argument("--ctd", dest="ctd", help="input ctd file",
-                        metavar='CTD', default=None, required=True)
-    args, cliargs = parser.parse_known_args()
-    # load CTDModel
-    model = None
-    try:
-        model = CTDModel(from_file=args.ctd)
-    except ModelTypeError:
-        pass
-    try:
-        model = Parameters(from_file=args.ctd)
-    except ModelTypeError:
-        pass
-    assert model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ctd)
-
-    # get a dictionary of the ctd arguments where the values of the parameters
-    # given on the command line are overwritten
-    margs = model.parse_cl_args(cl_args=cliargs, ignore_required=True)
-
-    # write the ctd with the values taken from the dictionary
-    out = StringIO()
-    ctd_tree = model.write_ctd(out, margs)
-    print(out.getvalue())
b
diff -r 01dbaf6a57e0 -r abffdfee3021 generate-foo.sh
--- a/generate-foo.sh Fri Nov 06 19:49:28 2020 +0000
+++ b/generate-foo.sh Mon Feb 22 10:46:10 2021 +0000
[
@@ -83,7 +83,7 @@
         #echo python3 fill_ctd_clargs.py --ctd $ini $cli
         # using eval: otherwise for some reason quoted values are not used properly ('A B' -> ["'A", "B'"])
         # >&2 echo "python3 fill_ctd_clargs.py --ctd $ini $cli"
-        eval "python3 fill_ctd_clargs.py --ctd $ini $cli" > "$ctdtmp"
+        eval "python3 fill_ctd_clargs.py --ini_file $ini --ctd_file ctd/$tool_id.ctd $cli" > "$ctdtmp"
         # echo $ctdtmp
         # >&2 cat $ctdtmp
         testtmp=$(mktemp)
b
diff -r 01dbaf6a57e0 -r abffdfee3021 generate.sh
--- a/generate.sh Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,76 +0,0 @@
-#!/usr/bin/env bash
-
-VERSION=2.6
-FILETYPES="filetypes.txt"
-PROFILE="20.05"
-## FILETYPES_RE=$(grep -v "^#" $FILETYPES | grep -v "^$" | cut -f 1 -d" " | tr '\n' '|' | sed 's/|$//'| sed 's/|/\\|/g')
-
-export tmp=$(mktemp -d)
-export CTDCONVERTER="$tmp/CTDConverter"
-
-###############################################################################
-## reset old data
-###############################################################################
-# rm $(ls *xml |grep -v macros)
-# rm -rf ctd
-# mkdir -p ctd
-# echo "" > prepare_test_data.sh
-
-###############################################################################
-## generate tests
-## also creates 
-## - conda environment (for executing the binaries) and 
-## - the git clone of OpenMS (for generating the tests)
-## - ctd files
-###############################################################################
-bash ./test-data.sh ./macros_autotest.xml
-
-###############################################################################
-## get the 
-## - conda package (for easy access and listing of the OpenMS binaries), 
-###############################################################################
-# if [ ! -d $OPENMSPKG ]; then
-#  mkdir $OPENMSPKG/
-#  wget -P $OPENMSPKG/ "$CONDAPKG"
-#  tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C OpenMS$VERSION-pkg/
-#   rm $OPENMSPKG/"$(basename $CONDAPKG)"
-# fi
-
-###############################################################################
-## Get python libaries for CTD -> Galaxy conversion
-## TODO fix to main repo OR conda packkage if PRs are merged 
-###############################################################################
-# if [ ! -d CTDopts ]; then
-#  # git clone https://github.com/genericworkflownodes/CTDopts CTDopts
-#  git clone -b topic/no-1-2x https://github.com/bernt-matthias/CTDopts CTDopts
-# fi
-if [ ! -d $CTDCONVERTER ]; then
- #git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
- git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
-fi
-# export PYTHONPATH=$(pwd)/CTDopts
-###############################################################################
-## conversion ctd->xml 
-###############################################################################
-
-find . -maxdepth 0 -name "[A-Z]*xml" -delete
-source $(dirname $(which conda))/../etc/profile.d/conda.sh
-conda activate $tmp/OpenMS$VERSION-env
-python $CTDCONVERTER/convert.py galaxy -i ctd/*ctd -o ./ -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf  -p hardcoded_params.json --test-macros macros_autotest.xml --test-macros-prefix autotest_  --test-macros macros_test.xml --test-macros-prefix manutest_ --tool-version $VERSION --tool-profile $PROFILE > convert.out 2> convert.err
-if [[ "$?" -ne "0" ]]; then >&2 echo 'CTD -> XML conversion failed'; >&2 echo -e "stderr:\n$(cat convert.err)"; fi
-conda deactivate
-
-patch PepNovoAdapter.xml < PepNovoAdapter.patch
-patch OMSSAAdapter.xml < OMSSAAdapter.patch
-
-# https://github.com/OpenMS/OpenMS/pull/4984
-sed -i -e 's@http://www.openms.de/documentation/@http://www.openms.de/doxygen/release/2.6.0/html/@' ./*xml
-# https://github.com/OpenMS/OpenMS/pull/4984#issuecomment-702641976
-patch -p0 <404-urls.patch
-
-# #-b version log debug test in_type executable pepnovo_executable param_model_directory rt_concat_trafo_out param_id_pool
-
-# for i in A-E F-H I-L M-N O-P Q-Z
-# do
-#  planemo t [$i]*xml --galaxy_branch release_20.05 --galaxy_python_version 3.7 --test_output $i.html --test_output_json $i.json &
-# done
b
diff -r 01dbaf6a57e0 -r abffdfee3021 hardcoded_params.json
--- a/hardcoded_params.json Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,236 +0,0 @@
-{
- "#": "blacklist parameters",
-
- "version": [{"value": "@"}],
- "debug": [{"value": "@"}],
- "algorithm:debug": [{"value": "@"}],
- "java_memory": [{"value": "@"}],
- "java_permgen": [{"value": "@"}],
- "#": "type of input is always determined from the file extension ",
- "in_type": [{"value": "@"}],
-
- "#": "tool specific blacklist parameters",
-
- "convert_back": [{"value": "@", "tools": ["OpenSwathMzMLFileCacher"]}],
- "NET_executable": [{
- "value": "@", 
- "tools": ["FileConverter"]
- }],
-
-
- "params_file": [{"value": "@", "tools": ["SpectraSTSearchAdapter"]}],
-
- "#": "TODO not usable in 2.5 https://github.com/OpenMS/OpenMS/issues/4456, corresponding test currently disabled",
-     "consensus_out": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
- "#": "TODO would need treatment as prefix-output",
- "output_directory": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
-
- "#": "hardcode parameter values",
-
- "comet_version": [{
- "value":"2016.01 rev. 3"
- }],
- "comet_executable": [{
- "value":"comet"
- }],
- "crux_executable": [{
- "value": "crux"
- }],
- "fido_executable": [{
- "value":"Fido"
- }],
- "fidocp_executable": [{
- "value":"FidoChooseParameters"
- }],
- "maracluster_executable": [{
- "value":"/home/berntm/projects/tools-galaxyp/tools/openms/OpenMS2.5.0-git/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"
- }],
- "mascot_directory": [{
- "value":"TODO"
- }],
- "myrimatch_executable": [{
- "value":"myrimatch"
- }],
- "omssa_executable": [{
- "value":"$(dirname $(realpath $(which omssacl)))/omssacl"
- }],
- "ThermoRaw_executable": [{
- "value": "ThermoRawFileParser.exe", 
- "tools": ["FileConverter"]
- }],
- "pepnovo_executable": [{
- "value":"pepnovo"
- }],
- "percolator_executable": [{
- "value":"percolator"
- }],
- "xtandem_executable": [{
- "value":"xtandem"
- }],
- "executable": [
- {
- "value":"$(dirname $(realpath $(which luciphor2)))/luciphor2.jar",
- "tools": ["LuciphorAdapter"]
- }, {
- "value":"/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar",
- "tools": ["MSFraggerAdapter"]
- }, {
- "value":"$(msgf_plus -get_jar_path)",
- "tools": ["MSGFPlusAdapter"]
- }, {
- "value": "/home/berntm/Downloads/novor/lib/novor.jar",
- "tools": ["NovorAdapter"]
- }, {
- "value":"$(which sirius)",
- "tools": ["SiriusAdapter", "AssayGeneratorMetabo"]
- }, {
- "value":"spectrast",
- "tools": ["SpectraSTSearchAdapter"]
- }
- ],
- "r_executable": [{
- "value":"R"
- }],
- "rscript_executable": [{
- "value":"Rscript"
- }],
- "java_executable": [{
- "value":"java"
- }],
- "log": [{
- "value":"log.txt"
- }],
- "tempDirectory": [{
- "value":"$TMP_DIR"
- }],
- "temp_data_directory": [{
- "value":"$TMP_DIR"
- }],
- "algorithm:Preprocessing:tmp_dir": [{
- "value":"$TMP_DIR"
- }],
- "no_progress": [{
- "value": true
- }],
- "#": "only used in LuciphorAdapter at the moment, inconsistency will be fixed",
- "num_threads": [{
- "value":"${GALAXY_SLOTS:-1}"
- }],
- "threads": [{
- "value": "${GALAXY_SLOTS:-1}"
- }],
- "sirius:cores": [{
- "value": "${GALAXY_SLOTS:-1}"
- }],
-
- "#": "hardcode the outer loop threads for OpenSwathWorkflow",
- "outer_loop_threads": [{
- "value": "1", 
- "tools": ["OpenSwathWorkflow"]
- }],
- "separator": [{
- "value": ",",
- "tools": ["IDMassAccuracy"]
- }],
-
- "#": "don't alow to copy data internally to save computation time for reloading",
- "copy_data": [{
- "value": "false",
- "tools": ["MapAlignerTreeGuided"]
- }],
-
- "#": "overwrite/add Galaxy xml attributes of some parameters (names need to start with param_)",
-
- "#": "test is not a hardcoded value since we need to set it in the tool tests", 
- "test": [{
- "CTD:type": "text",
- "XML:type": "hidden"
- }],
-
- "#": "overwrite CTD attributes of some parameters (some are not possible, e.g. type)",
-
- "#": "for some tools the user needs to select the desired output type since detection by extension makes no sense for galaxy tools",
- "out_type": [{
-     "CTD:required": true,
-     "CTD:advanced": false
- }],
-
- "#": "SeedListGenerator with consensusXML input needs a dynamic number of outputs that depends on the content of the input, so we remove this options at the moment because its hard or impossible to implement in Galaxy, https://github.com/OpenMS/OpenMS/issues/4404 .. see also in parameter",
- "#": "FileInfo, MapStatistics, SequenceCoverageCalculator wo -out just writes to stdout. not wanted here",
- "#": "MzMLSplitter output prefix https://github.com/OpenMS/OpenMS/issues/4404",
- "#": "IDRipper: blacklist out (is doing the same as the output-prefix out-path)",
- "out": [{
- "CTD:is_list": false, 
- "tools": ["SeedListGenerator"]
- }, {
-   "CTD:required": true,
- "tools": ["FileInfo", "MapStatistics", "SequenceCoverageCalculator"]
- }, {
- "CTD:type": "output-prefix", 
- "CTD:required": true,
- "CTD:restrictions": "mzml",
- "tools": ["MzMLSplitter"]
- }, {
- "value": "@", 
- "tools": ["IDRipper"]
- }],
-
- "#": "Try to remove xml data type whereever possible",
- "#": "XTandem Adapter output is called .xml in OMS which is to unspecific -> use Galaxy's bioml",
- "xml_out": [{
- "CTD:restrictions": "bioml",
- "tools": ["XTandemAdapter"]
- }],
-
- "#": "IDFileConverter remove xml",
- "#": "OpenSwathWorkflow make in single file input and all outputs non-optional",
-        "#": "XFDR does not need xml .. redundant with xquest.xml TODO check if list is up to date with each new release",
- "#": "SeedListGenerator: remove consensusXML https://github.com/OpenMS/OpenMS/issues/4404 .. see also out parameter",
- "in": [{
- "CTD:restrictions": "pepXML,protXML,mascotXML,omssaXML,bioml,psms,tsv,idXML,mzid,xquest.xml",
- "tools": ["IDFileConverter"]
- }, {
- "CTD:is_list": false, 
- "tools": ["OpenSwathWorkflow"]
- }, {
- "CTD:restrictions": "idXML,mzid,xquest.xml",
- "tools": ["XFDR"]
- }, {
- "CTD:restrictions": "mzML,idXML,featureXML",
- "tools": ["SeedListGenerator"]
- }],
-
- "#": "IDMapper has in and spectra:in params, in is used in out as format_source",
- "#": "which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493", 
- "spectra:in": [{
- "CTD:name": "_in", 
- "tools": ["IDMapper"]
- }],
-
- "#": "hardcoding prefix parameters which are not yet available in OMS but in CTDOpts https://github.com/OpenMS/OpenMS/pull/4527",
- "#": "output-prefix",
- "out_path": [{
- "CTD:type": "output-prefix", 
- "CTD:required": true,
- "CTD:restrictions": "idXML",
- "tools": ["IDRipper"]
- }],
- "outputDirectory": [{
- "CTD:type": "output-prefix", 
- "CTD:advanced": false,
- "CTD:required": true,
- "CTD:restrictions": "mzml",
- "tools": ["OpenSwathFileSplitter"]
- }],
-
- "#": "OpenSwathDIAPreScoring: https://github.com/OpenMS/OpenMS/pull/4443",
-        "#": "SpectraSTSearchAdapter does not need xml .. redundant with pep.xml TODO check if list is up to date with each new release",
- "output_files": [{
- "CTD:required": true,
- "tools": ["OpenSwathDIAPreScoring"]
- }, {
- "CTD:restrictions": "txt,tsv,pep.xml,pepXML,html",
- "tools": ["SpectraSTSearchAdapter"]
-
- }]
-}
b
diff -r 01dbaf6a57e0 -r abffdfee3021 macros.xml
--- a/macros.xml Fri Nov 06 19:49:28 2020 +0000
+++ b/macros.xml Mon Feb 22 10:46:10 2021 +0000
[
@@ -21,6 +21,7 @@
   <xml name="stdio">
     <stdio>
       <regex match="std::bad_alloc" level="fatal_oom" description="Could not allocate memory"/>
+      <regex match="OutOfMemoryError" level="fatal_oom" description="Could not allocate memory"/>
       <regex match="Could not allocate metaspace" level="fatal_oom" description="Java memory Exception"/>
       <regex match="Cannot create VM thread" level="fatal_oom" description="Java memory Exception"/>
       <regex match="qUncompress: could not allocate enough memory to uncompress data" level="fatal_oom" description="Java memory Exception"/>
@@ -45,10 +46,10 @@
   </xml>
 
   <!-- sanitizers and validators -->
-  <xml name="list_string_val">
-    <validator type="regex" message="parameter must not start with $">^[^$]</validator>
+  <xml name="list_string_val" token_name="">
+    <validator type="regex" message="parameter @NAME@: must not start with $">^[^$]</validator>
     
-    <validator type="regex" message="a space separated list of string is needed (strings that contain spaces can be quoted with &quot;)">^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$</validator>
+    <validator type="regex" message="parameter @NAME@: a space separated list of string is needed (strings that contain spaces can be quoted with &quot;)">^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$</validator>
   </xml>
   <xml name="list_string_san">
     <sanitizer>
@@ -64,8 +65,8 @@
       </valid>
     </sanitizer>
   </xml>
-  <xml name="list_float_valsan">
-    <validator type="regex" message="a space separated list of float values is required">^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$</validator>
+  <xml name="list_float_valsan" token_name="">
+    <validator type="regex" message="parameter @NAME@: a space separated list of float values is required">^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$</validator>
     <yield/>
     <sanitizer>
       <valid initial="string.digits">
@@ -78,8 +79,8 @@
       </valid>
     </sanitizer>
   </xml>
-  <xml name="list_integer_valsan">
-    <validator type="regex" message="a space separated list of integer values is required">^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$</validator>
+  <xml name="list_integer_valsan" token_name="">
+    <validator type="regex" message="parameter @NAME@: a space separated list of integer values is required">^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$</validator>
     <yield/>
     <sanitizer>
       <valid initial="string.digits">
b
diff -r 01dbaf6a57e0 -r abffdfee3021 macros_autotest.xml
--- a/macros_autotest.xml Fri Nov 06 19:49:28 2020 +0000
+++ b/macros_autotest.xml Mon Feb 22 10:46:10 2021 +0000
b
b'@@ -126,7 +126,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="5.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -195,7 +194,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="5.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -264,7 +262,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="5.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -333,7 +330,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="5.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -402,7 +398,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="5.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -471,7 +466,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="3.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -540,7 +534,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="3.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -609,7 +602,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="3.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -678,7 +670,6 @@\n       <param name="max_transitions" value="3"/>\n       <param name="cosine_similarity_threshold" value="0.98"/>\n       <param name="transition_threshold" value="3.0"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="deisotoping">\n         <param name="use_deisotoper" value="false"/>\n         <param name="fragment_tolerance" value="1.0"/>\n@@ -758,7 +749,6 @@\n         <param name="use_Y_ions" value="true"/>\n         <param name="use_Z_ions" value="false"/>\n         <param name="use_NL_ions" value="false"/>\n-        <param name="second_enzyme" value=""/>\n         <param name="digest_mass_range" value="600:5000"/>\n         <param name="max_precursor_charge" value="5"/>\n         <param name="spectrum_batch_size" value="1000"/>\n@@ -796,8 +786,8 @@\n       <param name="activation_method" value="ALL"/>\n       <param n'..b'am name="filter_by_num_masstraces" value="1"/>\n         <param name="precursor_mz_tolerance" value="0.005"/>\n@@ -25644,7 +25262,6 @@\n       <param name="in" value="SiriusAdapter_4_input.mzML"/>\n       <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>\n       <output name="out_ms" file="SiriusAdapter_6_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="preprocessing">\n         <param name="filter_by_num_masstraces" value="1"/>\n         <param name="precursor_mz_tolerance" value="0.005"/>\n@@ -25687,7 +25304,6 @@\n       <param name="in" value="SiriusAdapter_4_input.mzML"/>\n       <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>\n       <output name="out_sirius" file="SiriusAdapter_7_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="preprocessing">\n         <param name="filter_by_num_masstraces" value="1"/>\n         <param name="precursor_mz_tolerance" value="0.005"/>\n@@ -25731,7 +25347,6 @@\n       <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>\n       <output name="out_sirius" file="SiriusAdapter_4_output.tmp" compare="sim_size" delta="5700" ftype="mztab"/>\n       <output name="out_fingerid" file="SiriusAdapter_4_foutput.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>\n-      <param name="out_workspace_directory" value=""/>\n       <section name="preprocessing">\n         <param name="filter_by_num_masstraces" value="1"/>\n         <param name="precursor_mz_tolerance" value="0.005"/>\n@@ -25798,8 +25413,6 @@\n         <param name="cut_peaks_below" value="1000"/>\n       </section>\n       <section name="modifications">\n-        <param name="fixed" value=""/>\n-        <param name="variable" value=""/>\n         <param name="variable_max_per_peptide" value="2"/>\n       </section>\n       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>\n@@ -27122,7 +26735,7 @@\n       <param name="fragment_error_units" value="Da"/>\n       <param name="max_precursor_charge" value="0"/>\n       <param name="no_isotope_error" value="false"/>\n-      <param name="fixed_modifications" value=""/>\n+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>\n       <param name="variable_modifications" value="Oxidation (M)"/>\n       <param name="minimum_fragment_mz" value="150.0"/>\n       <param name="enzyme" value="Trypsin"/>\n@@ -27154,7 +26767,7 @@\n       <param name="fragment_error_units" value="Da"/>\n       <param name="max_precursor_charge" value="0"/>\n       <param name="no_isotope_error" value="false"/>\n-      <param name="fixed_modifications" value=""/>\n+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>\n       <param name="variable_modifications" value="Oxidation (M)"/>\n       <param name="minimum_fragment_mz" value="150.0"/>\n       <param name="enzyme" value="Trypsin"/>\n@@ -27186,7 +26799,7 @@\n       <param name="fragment_error_units" value="Da"/>\n       <param name="max_precursor_charge" value="0"/>\n       <param name="no_isotope_error" value="false"/>\n-      <param name="fixed_modifications" value=""/>\n+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>\n       <param name="variable_modifications" value="Oxidation (M)"/>\n       <param name="minimum_fragment_mz" value="150.0"/>\n       <param name="enzyme" value="Trypsin"/>\n@@ -27202,4 +26815,4 @@\n       </output>\n     </test>\n   </xml>\n-<xml name="autotest_PTPredict"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_RTPredict"/><xml name="autotest_ProteomicsLFQ"/><xml name="autotest_IDDecoyProbability"/><xml name="autotest_InspectAdapter"/></macros>\n+<xml name="autotest_PTPredict"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_IDDecoyProbability"/><xml name="autotest_InspectAdapter"/><xml name="autotest_RTPredict"/><xml name="autotest_ProteomicsLFQ"/></macros>\n'
b
diff -r 01dbaf6a57e0 -r abffdfee3021 macros_test.xml
--- a/macros_test.xml Fri Nov 06 19:49:28 2020 +0000
+++ b/macros_test.xml Mon Feb 22 10:46:10 2021 +0000
b
@@ -127,8 +127,8 @@
   <param name="in" value="IDRipper_2_input.idXML"/>
   <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
   <output_collection name="out_path" count="2">
-    <element name="IDRipper_2_output1" file="IDRipper_2_output1.idXML" ftype="idxml"/>
-    <element name="IDRipper_2_output2" file="IDRipper_2_output2.idXML" ftype="idxml"/>
+    <element name="IDRipper_2_output_1" file="IDRipper_2_output1.idXML" ftype="idxml"/>
+    <element name="IDRipper_2_output_2" file="IDRipper_2_output2.idXML" ftype="idxml"/>
   </output_collection>
   <output name="ctd_out" ftype="xml">
     <assert_contents>
@@ -266,17 +266,16 @@
     <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
     <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
     <output_collection name="output_files" count="1">
-      <element name="OpenSwathAnalyzer_2_swathfile_mzML.tsv" file="OpenSwathDIAPreScoring.tsv" ftype="tabular"/>
+      <element name="OpenSwathAnalyzer_2_swathfile_mzML" file="OpenSwathDIAPreScoring.tsv" ftype="tabular"/>
     </output_collection>
   </test>
-  
   <!-- test with two inputs (actually the same file .. symlinked) -->
   <test>
     <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
     <param name="swath_files" value="OpenSwathDIAPreScoring_in1.mzML,OpenSwathDIAPreScoring_in2.mzML"/>
     <output_collection name="output_files" count="2">
-      <element name="OpenSwathDIAPreScoring_in1.tsv" file="OpenSwathDIAPreScoring.tsv" ftype="tabular"/>
-      <element name="OpenSwathDIAPreScoring_in1.tsv" file="OpenSwathDIAPreScoring.tsv" ftype="tabular"/>
+      <element name="OpenSwathDIAPreScoring_in1_mzML" file="OpenSwathDIAPreScoring_2_1.tsv" ftype="tabular"/>
+      <element name="OpenSwathDIAPreScoring_in2_mzML" file="OpenSwathDIAPreScoring_2_2.tsv" ftype="tabular"/>
     </output_collection>
   </test>
 </xml>
@@ -335,6 +334,7 @@
     <output name="out" ftype="idxml" value="PhosphoScoring.idxml" compare="sim_size" delta="5700"/>
   </test>
 </xml>
+<!-- TODO PSMFeatureExtractor should have auto tests with 2.7 https://github.com/OpenMS/OpenMS/pull/5087 -->
 <xml name="manutest_PSMFeatureExtractor">
   <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
     <param name="adv_opts_cond|test" value="true"/>
@@ -354,6 +354,13 @@
     <param name="out_type" value="mzid"/>
     <output name="out" ftype="mzid" value="PSMFeatureExtractor.mzid" compare="sim_size" delta="500"/>
   </test>
+  <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in_single" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML"/>
+    <param name="adv_opts_cond|adv_opts_selector" value="advanced"/>
+    <param name="out_type" value="idxml"/>
+    <output name="out" ftype="idxml" value="PSMFeatureExtractor_3.idXML" compare="sim_size" delta="500"/>
+  </test>
 </xml>
 <xml name="manutest_QCCalculator">
   <test expect_num_outputs="1"><!-- took test data from another test w mzML input -->
b
diff -r 01dbaf6a57e0 -r abffdfee3021 prepare_test_data_manual.sh
--- a/prepare_test_data_manual.sh Fri Nov 06 19:49:28 2020 +0000
+++ b/prepare_test_data_manual.sh Mon Feb 22 10:46:10 2021 +0000
[
@@ -86,10 +86,13 @@
 PhosphoScoring -in spectra.mzML -id MSGFPlusAdapter_1_out1.tmp -out PhosphoScoring.idxml > PhosphoScoring.stdout 2> stderr
 if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
 
-PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.idxml > PSMFeatureExtractor_1.stdout 2> stderr
+# TODO PSMFeatureExtractor should have auto tests with 2.7 https://github.com/OpenMS/OpenMS/pull/5087 
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out_type idXML -out PSMFeatureExtractor.idxml > PSMFeatureExtractor_1.stdout 2> stderr
 if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
-PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.mzid > PSMFeatureExtractor_2.stdout 2> stderr
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out_type mzid -out PSMFeatureExtractor.mzid > PSMFeatureExtractor_2.stdout 2> stderr
 if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML -out_type idXML -out PSMFeatureExtractor_3.idXML > PSMFeatureExtractor_3.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_3 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
 
 QCCalculator -test -in OpenPepXL_input.mzML -out QCCalculator1.qcML > QCCalculator_1.stdout 2> stderr
 if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
b
diff -r 01dbaf6a57e0 -r abffdfee3021 readme.md
--- a/readme.md Fri Nov 06 19:49:28 2020 +0000
+++ b/readme.md Mon Feb 22 10:46:10 2021 +0000
b
@@ -22,11 +22,14 @@
 
 Manual updates should only be done to
 
-- the `@GALAXY_VERSION@"` token in `macros.xml`
 - and the manually contributed tests in `macros_test.xml` (The goal is that all
   tools that do not have an automatically generated test are covered here)
 - the `hardcoded_params.json` files
 
+Wrapper versions are managed in `bump.json`. For tools listed in the file
+the wrapper version will be set accordingly and otherwise `0` is used. 
+For a major update of the tool version the bump file should be reset (to `{}`).
+
 In a few cases patches may be acceptable.
 
 Installation
@@ -71,10 +74,15 @@
 
 Preprocessing:
 
-- For each input / output data set parameter a directory is crated (named by
-  the parameter)
 - For input data set parameters the links to the actual location of the data
-  sets are created
+  sets are created, the link names are `element_identifier`.`EXT`, where `EXT`
+  is an extension that is known by OpenMS
+- In order to avoid name collisions for the created links each is placed in a
+  unique directory: `PARAM_NAME/DATASET_ID`, where `PARAM_NAME` is the name
+  of the parameter and `DATASET_ID` is the id of the Galaxy dataset 
+- the same happens for output parameters that are in 1:1 correspondence with
+  an input parameter
+
 
 Main:
 
b
diff -r 01dbaf6a57e0 -r abffdfee3021 test-data.sh
--- a/test-data.sh Fri Nov 06 19:49:28 2020 +0000
+++ b/test-data.sh Mon Feb 22 10:46:10 2021 +0000
[
@@ -15,8 +15,11 @@
 
 export OPENMSGIT="$tmp/OpenMS$VERSION.0-git"
 export OPENMSPKG="$tmp/OpenMS$VERSION-pkg/"
-export OPENMSENV="$tmp/OpenMS$VERSION-env"
-export CTDCONVERTER="$tmp/CTDConverter"
+export OPENMSENV="OpenMS$VERSION-env"
+
+if [ -z "$CTDCONVERTER" ]; then
+ export CTDCONVERTER="$tmp/CTDConverter"
+fi
 
 if [[ -z "$1" ]]; then
  autotests="/dev/null"
@@ -59,7 +62,7 @@
 if conda env list | grep "$OPENMSENV"; then
  true
 else
- conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -p $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION ctdopts=1.4 lxml
+ conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -n $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION ctdopts=1.4 lxml
 # chmod -R u-w $OPENMSENV 
 fi
 ###############################################################################
@@ -82,10 +85,10 @@
 echo "Clone CTDConverter"
 if [[ ! -d $CTDCONVERTER ]]; then
  #git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
- git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
+ git clone -b topic/fix-selects https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
 else
  cd $CTDCONVERTER
- git pull origin topic/cdata
+ git pull origin topic/fix-selects
  cd -
 fi
 
@@ -185,17 +188,17 @@
 
 prepare_test_data >> prepare_test_data.sh #tmp_test_data.sh
 
-# prepare_test_data > tmp_test_data.sh
-# # remove calls not needed for the tools listed in any .list file
-# echo LIST $LIST
-# if [ ! -z "$LIST" ]; then
-#  REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//')
-# else
-#  REX=".*"
-# fi
-# echo REX $REX
-# cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh
-# rm tmp_test_data.sh
+## prepare_test_data > tmp_test_data.sh
+## # remove calls not needed for the tools listed in any .list file
+## echo LIST $LIST
+## if [ ! -z "$LIST" ]; then
+##  REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//')
+## else
+##  REX=".*"
+## fi
+## echo REX $REX
+## cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh
+## rm tmp_test_data.sh
 
 echo "Execute test shell script"
 chmod u+x prepare_test_data.sh
b
diff -r 01dbaf6a57e0 -r abffdfee3021 tools_blacklist.txt
--- a/tools_blacklist.txt Fri Nov 06 19:49:28 2020 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,21 +0,0 @@
-# seems not possible for 2.5 https://github.com/OpenMS/OpenMS/issues/4426
-# DigestorMotif
-
-# deprecated https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/UTILS_IDDecoyProbability.html
-# https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/a16242.html
-IDDecoyProbability
-
-# personal communication with author V. Bafna: 
-# "InsPect is no longer maintained as there are many better tools including MS-GF+"
-InspectAdapter
-
-# licence? see https://github.com/bioconda/bioconda-recipes/issues/18953
-#MSFraggerAdapter
-
-# https://github.com/OpenMS/OpenMS/issues/4550#issuecomment-594065727
-ProteomicsLFQ
-
-# https://github.com/OpenMS/OpenMS/issues/4401
-InclusionExclusionListCreator
-RTPredict
-PTPredict