changeset 8:59736982ab7b draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms"
author galaxyp
date Mon, 14 Dec 2020 16:54:21 +0000
parents db2f53435366
children 047020d9012f
files 404-urls.patch OMSSAAdapter.patch PSMFeatureExtractor.xml PepNovoAdapter.patch filetypes.txt fill_ctd_clargs.py generate.sh hardcoded_params.json macros.xml macros_autotest.xml macros_discarded_auto.xml macros_test.xml prepare_test_data_manual.sh readme.md test-data/pepnovo_models.loc test-data/random.fa test-data/random_RNA.fa test-data/spectrast.log tools_blacklist.txt
diffstat 19 files changed, 85 insertions(+), 914 deletions(-) [+]
line wrap: on
line diff
--- a/404-urls.patch	Fri Nov 06 19:43:10 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>
--- a/OMSSAAdapter.patch	Fri Nov 06 19:43:10 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 &&
--- a/PSMFeatureExtractor.xml	Fri Nov 06 19:43:10 2020 +0000
+++ b/PSMFeatureExtractor.xml	Mon Dec 14 16:54:21 2020 +0000
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!--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: [Utilities]-->
-<tool id="PSMFeatureExtractor" name="PSMFeatureExtractor" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
+<tool id="PSMFeatureExtractor" name="PSMFeatureExtractor" version="@TOOL_VERSION@+galaxy1" profile="20.05">
   <description>Computes extra features for each input PSM.</description>
   <macros>
     <token name="@EXECUTABLE@">PSMFeatureExtractor</token>
@@ -17,7 +17,11 @@
 
 ## Preprocessing
 mkdir in &&
+#if $in
 ${ ' '.join(["ln -s '%s' 'in/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _]) }
+#else if $in_single
+    ln -s '$in_single' 'in/${re.sub("[^\w\-_]", "_", $in_single.element_identifier)}.$gxy2omsext($in_single.ext)' &&  
+#end if
 mkdir out &&
 
 ## Main program call
@@ -27,7 +31,11 @@
 python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
 @EXECUTABLE@ -ini @EXECUTABLE@.ctd
 -in
+#if $in
 ${' '.join(["'in/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _])}
+#else if $in_single
+'in/${re.sub("[^\w\-_]", "_", $in_single.element_identifier)}.$gxy2omsext($in_single.ext)' &&
+#end if
 -out
 'out/output.${out_type}'
 
@@ -41,7 +49,8 @@
     <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
   </configfiles>
   <inputs>
-    <param name="in" argument="-in" type="data" format="idxml,mzid" multiple="true" optional="false" label="Input file(s)" help=" select idxml,mzid data sets(s)"/>
+   <param name="in_single" argument="-in" type="data" format="idxml,mzid" multiple="false" optional="true" label="Input file for batch processing" help="(exactly one of -in or -in_list is required)"/>
+    <param name="in" argument="-in" type="data" format="idxml,mzid" multiple="true" optional="true" label="Input file(s) for joint processing" help="(exactly one of -in or -in_list is required)"/>   
     <param name="out_type" argument="-out_type" display="radio" type="select" optional="false" label="Output file type -- default: determined from file extension or content" help="">
       <option value="idXML">idxml</option>
       <option value="mzid">mzid</option>
--- a/PepNovoAdapter.patch	Fri Nov 06 19:43:10 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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>
--- a/filetypes.txt	Fri Nov 06 19:43:10 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
--- a/fill_ctd_clargs.py	Fri Nov 06 19:43:10 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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())
--- a/generate.sh	Fri Nov 06 19:43:10 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
--- a/hardcoded_params.json	Fri Nov 06 19:43:10 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"]
-	
-	}]
-}
--- a/macros.xml	Fri Nov 06 19:43:10 2020 +0000
+++ b/macros.xml	Mon Dec 14 16:54:21 2020 +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"/>
--- a/macros_autotest.xml	Fri Nov 06 19:43:10 2020 +0000
+++ b/macros_autotest.xml	Mon Dec 14 16:54:21 2020 +0000
@@ -126,7 +126,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="5.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -195,7 +194,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="5.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -264,7 +262,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="5.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -333,7 +330,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="5.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -402,7 +398,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="5.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -471,7 +466,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="3.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -540,7 +534,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="3.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -609,7 +602,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="3.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -678,7 +670,6 @@
       <param name="max_transitions" value="3"/>
       <param name="cosine_similarity_threshold" value="0.98"/>
       <param name="transition_threshold" value="3.0"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="deisotoping">
         <param name="use_deisotoper" value="false"/>
         <param name="fragment_tolerance" value="1.0"/>
@@ -25472,7 +25463,6 @@
       </conditional>
       <param name="in" value="SiriusAdapter_1_input.mzML"/>
       <output name="out_sirius" file="SiriusAdapter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="1"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25515,7 +25505,6 @@
       <param name="in" value="SiriusAdapter_2_input.mzML"/>
       <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
       <output name="out_sirius" file="SiriusAdapter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="3"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25558,7 +25547,6 @@
       <param name="in" value="SiriusAdapter_3_input.mzML"/>
       <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
       <output name="out_sirius" file="SiriusAdapter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="3"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25601,7 +25589,6 @@
       <param name="in" value="SiriusAdapter_3_input.mzML"/>
       <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
       <output name="out_ms" file="SiriusAdapter_5_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="1"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25644,7 +25631,6 @@
       <param name="in" value="SiriusAdapter_4_input.mzML"/>
       <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
       <output name="out_ms" file="SiriusAdapter_6_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="1"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25687,7 +25673,6 @@
       <param name="in" value="SiriusAdapter_4_input.mzML"/>
       <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
       <output name="out_sirius" file="SiriusAdapter_7_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="1"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -25731,7 +25716,6 @@
       <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
       <output name="out_sirius" file="SiriusAdapter_4_output.tmp" compare="sim_size" delta="5700" ftype="mztab"/>
       <output name="out_fingerid" file="SiriusAdapter_4_foutput.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
-      <param name="out_workspace_directory" value=""/>
       <section name="preprocessing">
         <param name="filter_by_num_masstraces" value="1"/>
         <param name="precursor_mz_tolerance" value="0.005"/>
@@ -27202,4 +27186,4 @@
       </output>
     </test>
   </xml>
-<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>
+<xml name="autotest_InspectAdapter"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_ProteomicsLFQ"/><xml name="autotest_RTPredict"/><xml name="autotest_PTPredict"/><xml name="autotest_IDDecoyProbability"/></macros>
--- a/macros_discarded_auto.xml	Fri Nov 06 19:43:10 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-
-<xml name="manutest_OpenSwathFileSplitter">
-<test expect_num_outputs="2">
-  <conditional name="adv_opts_cond">
-    <param name="adv_opts_selector" value="advanced"/>
-    <param name="force" value="false"/>
-    <param name="test" value="true"/>
-  </conditional>
-  <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-  <output_collection name="outputDirectory" count=""/>
-  <output name="out_qc" file="OpenSwathFileSplitter_1.json" compare="sim_size" delta="5700" ftype="json"/>
-  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_qc_FLAG"/>
-  <output name="ctd_out" ftype="xml">
-    <assert_contents>
-      <is_valid_xml/>
-    </assert_contents>
-  </output>
-</test></xml>
-<xml name="manutest_IDRipper">
-<test expect_num_outputs="1">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="IDRipper_1_input.idXML"/>
-      <output_collection name="out_path" count=""/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test><test expect_num_outputs="1">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="IDRipper_2_input.idXML"/>
-      <output_collection name="out_path" count=""/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test><test expect_num_outputs="1">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="IDRipper_3_output.idXML"/>
-      <output_collection name="out_path" count=""/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
-<xml name="manutest_MzMLSplitter">
-<test expect_num_outputs="1">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="FileFilter_1_input.mzML"/>
-      <output_collection name="out" count=""/>
-      <param name="parts" value="2"/>
-      <param name="size" value="0"/>
-      <param name="unit" value="MB"/>
-      <param name="no_chrom" value="false"/>
-      <param name="no_spec" value="false"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test><test expect_num_outputs="1">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="FileFilter_1_input.mzML"/>
-      <output_collection name="out" count=""/>
-      <param name="parts" value="1"/>
-      <param name="size" value="40"/>
-      <param name="unit" value="KB"/>
-      <param name="no_chrom" value="false"/>
-      <param name="no_spec" value="false"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
-<xml name="manutest_MSFraggerAdapter">
-<test expect_num_outputs="3">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="java_heapmemory" value="2600"/>
-      <param name="in" value="spectra.mzML"/>
-      <output name="out" file="MSFraggerAdapter_7_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
-      <output name="opt_out" file="MSFraggerAdapter_7_opt_out_tmp.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
-      <param name="database" value="proteins.fasta"/>
-      <section name="tolerance">
-        <param name="precursor_mass_tolerance" value="20.0"/>
-        <param name="precursor_mass_unit" value="ppm"/>
-        <param name="precursor_true_tolerance" value="0.0"/>
-        <param name="precursor_true_unit" value="ppm"/>
-        <param name="fragment_mass_tolerance" value="20.0"/>
-        <param name="fragment_mass_unit" value="ppm"/>
-        <param name="isotope_error" value="0"/>
-      </section>
-      <section name="digest">
-        <param name="search_enzyme_name" value="Trypsin"/>
-        <param name="search_enzyme_cutafter" value="KR"/>
-        <param name="search_enzyme_nocutbefore" value="P"/>
-        <param name="num_enzyme_termini" value="semi"/>
-        <param name="allowed_missed_cleavage" value="2"/>
-        <param name="min_length" value="7"/>
-        <param name="max_length" value="64"/>
-        <param name="mass_range_min" value="500.0"/>
-        <param name="mass_range_max" value="5000.0"/>
-      </section>
-      <section name="varmod">
-        <param name="clip_nterm_m" value="false"/>
-        <param name="masses" value=""/>
-        <param name="syntaxes" value=""/>
-        <param name="enable_common" value="true"/>
-        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
-        <param name="max_variable_mods_per_mod" value="2"/>
-        <param name="max_variable_mods_combinations" value="5000"/>
-      </section>
-      <section name="spectrum">
-        <param name="minimum_peaks" value="10"/>
-        <param name="use_topn_peaks" value="50"/>
-        <param name="minimum_ratio" value="0.0"/>
-        <param name="clear_mz_range_min" value="0.0"/>
-        <param name="clear_mz_range_max" value="0.0"/>
-        <param name="max_fragment_charge" value="2"/>
-        <param name="override_charge" value="false"/>
-        <param name="precursor_charge_min" value="1"/>
-        <param name="precursor_charge_max" value="4"/>
-      </section>
-      <section name="search">
-        <param name="track_zero_topn" value="0"/>
-        <param name="zero_bin_accept_expect" value="0.0"/>
-        <param name="zero_bin_mult_expect" value="1.0"/>
-        <param name="add_topn_complementary" value="0"/>
-        <param name="min_fragments_modeling" value="3"/>
-        <param name="min_matched_fragments" value="4"/>
-        <param name="output_report_topn" value="1"/>
-        <param name="output_max_expect" value="50.0"/>
-      </section>
-      <section name="statmod">
-        <param name="add_cterm_peptide" value="0.0"/>
-        <param name="add_nterm_peptide" value="0.0"/>
-        <param name="add_cterm_protein" value="0.0"/>
-        <param name="add_nterm_protein" value="0.0"/>
-        <param name="add_G_glycine" value="0.0"/>
-        <param name="add_A_alanine" value="0.0"/>
-        <param name="add_S_serine" value="0.0"/>
-        <param name="add_P_proline" value="0.0"/>
-        <param name="add_V_valine" value="0.0"/>
-        <param name="add_T_threonine" value="0.0"/>
-        <param name="add_C_cysteine" value="57.021464"/>
-        <param name="add_L_leucine" value="0.0"/>
-        <param name="add_I_isoleucine" value="0.0"/>
-        <param name="add_N_asparagine" value="0.0"/>
-        <param name="add_D_aspartic_acid" value="0.0"/>
-        <param name="add_Q_glutamine" value="0.0"/>
-        <param name="add_K_lysine" value="0.0"/>
-        <param name="add_E_glutamic_acid" value="0.0"/>
-        <param name="add_M_methionine" value="0.0"/>
-        <param name="add_H_histidine" value="0.0"/>
-        <param name="add_F_phenylalanine" value="0.0"/>
-        <param name="add_R_arginine" value="0.0"/>
-        <param name="add_Y_tyrosine" value="0.0"/>
-        <param name="add_W_tryptophan" value="0.0"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,opt_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test><test expect_num_outputs="2">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="java_heapmemory" value="2600"/>
-      <param name="in" value="spectra_comet.mzML"/>
-      <output name="out" file="MSFraggerAdapter_8_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
-      <param name="database" value="proteins.fasta"/>
-      <section name="tolerance">
-        <param name="precursor_mass_tolerance" value="20.0"/>
-        <param name="precursor_mass_unit" value="ppm"/>
-        <param name="precursor_true_tolerance" value="0.0"/>
-        <param name="precursor_true_unit" value="ppm"/>
-        <param name="fragment_mass_tolerance" value="20.0"/>
-        <param name="fragment_mass_unit" value="ppm"/>
-        <param name="isotope_error" value="0"/>
-      </section>
-      <section name="digest">
-        <param name="search_enzyme_name" value="Trypsin"/>
-        <param name="search_enzyme_cutafter" value="KR"/>
-        <param name="search_enzyme_nocutbefore" value="P"/>
-        <param name="num_enzyme_termini" value="semi"/>
-        <param name="allowed_missed_cleavage" value="2"/>
-        <param name="min_length" value="7"/>
-        <param name="max_length" value="64"/>
-        <param name="mass_range_min" value="500.0"/>
-        <param name="mass_range_max" value="5000.0"/>
-      </section>
-      <section name="varmod">
-        <param name="clip_nterm_m" value="false"/>
-        <param name="masses" value=""/>
-        <param name="syntaxes" value=""/>
-        <param name="enable_common" value="true"/>
-        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
-        <param name="max_variable_mods_per_mod" value="2"/>
-        <param name="max_variable_mods_combinations" value="5000"/>
-      </section>
-      <section name="spectrum">
-        <param name="minimum_peaks" value="10"/>
-        <param name="use_topn_peaks" value="50"/>
-        <param name="minimum_ratio" value="0.0"/>
-        <param name="clear_mz_range_min" value="0.0"/>
-        <param name="clear_mz_range_max" value="0.0"/>
-        <param name="max_fragment_charge" value="2"/>
-        <param name="override_charge" value="false"/>
-        <param name="precursor_charge_min" value="1"/>
-        <param name="precursor_charge_max" value="4"/>
-      </section>
-      <section name="search">
-        <param name="track_zero_topn" value="0"/>
-        <param name="zero_bin_accept_expect" value="0.0"/>
-        <param name="zero_bin_mult_expect" value="1.0"/>
-        <param name="add_topn_complementary" value="0"/>
-        <param name="min_fragments_modeling" value="3"/>
-        <param name="min_matched_fragments" value="4"/>
-        <param name="output_report_topn" value="1"/>
-        <param name="output_max_expect" value="50.0"/>
-      </section>
-      <section name="statmod">
-        <param name="add_cterm_peptide" value="0.0"/>
-        <param name="add_nterm_peptide" value="0.0"/>
-        <param name="add_cterm_protein" value="0.0"/>
-        <param name="add_nterm_protein" value="0.0"/>
-        <param name="add_G_glycine" value="0.0"/>
-        <param name="add_A_alanine" value="0.0"/>
-        <param name="add_S_serine" value="0.0"/>
-        <param name="add_P_proline" value="0.0"/>
-        <param name="add_V_valine" value="0.0"/>
-        <param name="add_T_threonine" value="0.0"/>
-        <param name="add_C_cysteine" value="57.021464"/>
-        <param name="add_L_leucine" value="0.0"/>
-        <param name="add_I_isoleucine" value="0.0"/>
-        <param name="add_N_asparagine" value="0.0"/>
-        <param name="add_D_aspartic_acid" value="0.0"/>
-        <param name="add_Q_glutamine" value="0.0"/>
-        <param name="add_K_lysine" value="0.0"/>
-        <param name="add_E_glutamic_acid" value="0.0"/>
-        <param name="add_M_methionine" value="0.0"/>
-        <param name="add_H_histidine" value="0.0"/>
-        <param name="add_F_phenylalanine" value="0.0"/>
-        <param name="add_R_arginine" value="0.0"/>
-        <param name="add_Y_tyrosine" value="0.0"/>
-        <param name="add_W_tryptophan" value="0.0"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
-<xml name="manutest_MaRaClusterAdapter">
-<test expect_num_outputs="2">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="verbose" value="2"/>
-        <param name="precursor_tolerance" value="20.0"/>
-        <param name="precursor_tolerance_units" value="ppm"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="MaRaClusterAdapter_1_in_1.mzML,MaRaClusterAdapter_1_in_2.mzML"/>
-      <param name="id_in" value="MaRaClusterAdapter_1_in_3.idXML"/>
-      <output name="out" file="MaRaClusterAdapter_2_out_1.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
-      <param name="pcut" value="-10.0"/>
-      <param name="min_cluster_size" value="1"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
-<xml name="manutest_NovorAdapter">
-<test expect_num_outputs="2">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="in" value="NovorAdapter_in.mzML"/>
-      <output name="out" file="NovorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
-      <param name="enzyme" value="Trypsin"/>
-      <param name="fragmentation" value="CID"/>
-      <param name="massAnalyzer" value="Trap"/>
-      <param name="fragment_mass_tolerance" value="0.5"/>
-      <param name="precursor_mass_tolerance" value="15.0"/>
-      <param name="precursor_error_units" value="ppm"/>
-      <param name="variable_modifications" value="Acetyl (K)"/>
-      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
-      <param name="forbiddenResidues" value="I"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
-<xml name="manutest_SpectraSTSearchAdapter">
-<test expect_num_outputs="2">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="use_isotopically_averaged_mass" value="false"/>
-        <param name="use_all_charge_states" value="false"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
-      <param name="output_files_type" value="pep.xml"/>
-      <output_collection name="output_files" count="1"/>
-      <param name="library_file" value="testLib.splib" ftype="splib"/>
-      <param name="sequence_database_type" value="AA"/>
-      <param name="precursor_mz_tolerance" value="3.0"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test><test expect_num_outputs="2">
-      <conditional name="adv_opts_cond">
-        <param name="adv_opts_selector" value="advanced"/>
-        <param name="use_isotopically_averaged_mass" value="false"/>
-        <param name="use_all_charge_states" value="false"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </conditional>
-      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
-      <param name="output_files_type" value="tsv"/>
-      <output_collection name="output_files" count="1"/>
-      <param name="library_file" value="testLib.splib" ftype="splib"/>
-      <param name="sequence_database_type" value="AA"/>
-      <param name="precursor_mz_tolerance" value="3.0"/>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test></xml>
--- a/macros_test.xml	Fri Nov 06 19:43:10 2020 +0000
+++ b/macros_test.xml	Mon Dec 14 16:54:21 2020 +0000
@@ -335,6 +335,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 +355,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" 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 -->
--- a/prepare_test_data_manual.sh	Fri Nov 06 19:43:10 2020 +0000
+++ b/prepare_test_data_manual.sh	Mon Dec 14 16:54:21 2020 +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
--- a/readme.md	Fri Nov 06 19:43:10 2020 +0000
+++ b/readme.md	Mon Dec 14 16:54:21 2020 +0000
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pepnovo_models.loc	Mon Dec 14 16:54:21 2020 +0000
@@ -0,0 +1,13 @@
+#name	value	path
+default_models	CID_IT_TRYP	${__HERE__}/pepnovo_models/
+default_models	LTQ_COMP	${__HERE__}/pepnovo_models/
+default_models	DBC4_PEAK	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_TAG5	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_TAG6	${__HERE__}/pepnovo_models/
+default_models	ITDNV_PEAK	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_SCORE	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_TAG3	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_DNVPART	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_TAG4	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_DB	${__HERE__}/pepnovo_models/
+default_models	CID_IT_TRYP_CSP	${__HERE__}/pepnovo_models/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/random.fa	Mon Dec 14 16:54:21 2020 +0000
@@ -0,0 +1,18 @@
+>RND24402 Randomly generated sequence, created by ExPASy tool RandSeq, using average amino acid composition
+LALLTDKYSVTKSIKGYAGQQQKCTDDEGLAEDSAAMSLVPIRAAWTISVSVDLFYLGIV
+TNVTKDSVEHLVGIPLVTHEFMASRCEMRGQVVSATFGSWQKAESKAYRIPLKATPLDEF
+VESAVYLFGGSSNEYECVLIGNSHPVLIFLDIDAVPGARKPRTGFFMAEGFHSKGETRAL
+VGKSPPLGEYRKGAFHFTFPIKEAIRLGPPKKRIMGYRDALEGGLNHYVQTQVLVLLPMI
+QVARRWENGLGLLVGKFLKLPTHPLDLNQVTLCWSEAVTEDNKRFLLTIKTSAQGKSAPT
+SHINYVPQHNSMELMAINGSPFAAQHKSNDEIESMRDLSKLYADAETLESHGERGVRHQA
+TETKISKVTNLRRKLPQLLDLNVVDNACNWESVGAHVLEYVLVNLYLKELQEPKVELQPR
+LNETTMKAGASSLGVESGASAHSFYKGGVSEAKLRFRHVATPAAARIWWCVVMFRINRRY
+DGITYNSVGEQLSGVHEYVRAAQLFGLTTGKNLRSTGIVIIKLSTAIDLECLVQAKPKEA
+YVLANDYIGAKPHPARLETGPALVLFIVETINNDTLNAAILITALGGKFLNVRPDLLFGV
+QALFGCVRMFRHADCTIGREKFVQTEISHKAKFLYEINEFFLERILQFEEAKSPVGAPAY
+DIPIGRGLVMDSSTDLWNIYVVELISGQEKRTGIDPDTPMGTSHNLYMTDARLDERDQRS
+FLNSEFVKPSKLANGSEWADPYVEPDKTEVIAFFPATLIVIMADGSALNGQVCIQPAKDN
+SKMADDLATVHIGQDRPCDWGISASHEYDEVNRPARINGVMMQQLMAEDNQGPGASPRDQ
+MGDADDLKEIKWNKYVIDNEIIGRERGISAERVKIFLGDTLTARGLLDSPPGQTKVFDLR
+PRQSDKNQSGMFKRDQNAMYFPLEYDRIGAQTDTGSLYSTLITKFASISIDLVKLSMPRE
+KQIDEERLHSEFIENQKRSALPAVQKNLACISCVEACRGT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/random_RNA.fa	Mon Dec 14 16:54:21 2020 +0000
@@ -0,0 +1,2 @@
+> random RNA
+GUGUUACUGCCACGAAACAAAAUGUUCAAGACACCGGGCGCCAUCUGUAUAUUACUCGCCAAUCAGACGGUCUGCAACGCUACAGACAUGGAGCUCAGCGCUGACGAUGUCGCCGGACCAAGUACGAUCACUUUGCUCGUGCAAAUGUUCGUCCGCAUUGGGCACUAUAACUCGAAUUGUCGAAUCCGGGUGGCGAGCCGCCACUUAUAGGAUAAAUAUUCAAACUAACAUUAUGGCGCCAAAUCUGCAAUCUCUACUUUAGACAUUAUAUACCCACAUUUACAAUUAGAGUUAUUAUUAGUUAACGUGUGCCAGAGCAGGGAUGGCUCUUGUCAGCCAUAGUUGUGUGAACGGGCUGUAUUUCCUUCCUAAUUAUAGAGCGGCACCGGAAAGCAAUGCACGAUCCACGAGGGCACUUCACAUGGUCACAAACAGUCAUUCUGGUACCCUGAUUCGUUCCCGAAAGGGAAGUAUAUACACGGCCCCCGUGUAUAUCGCCAGUCACACGGCAGGAGCGAGAGUUCGUUUGUAUACAUGCCCAGGAGCCUUCUCUAACUUUUGAAGCUGUGCAACUUUGUUGGCGCGUCACCACUAAGUCAGCUUAAUAGACAGCAGAUGGGAGAAUUUACCAUUUCAUUUUGUCCGAGCUGAUACCGGUAGGUCAUCUCUAAUCACCCGUUAUCCUCUCGUAAUAUAAUCGCUACUAAGGUAUGAAGGUGUCUGCGAAAGGUAACGUAAAUCAUUCUCGGCUCCUUGCAAAGUACGACUAGGAUCCAUCGUACACAUCCGGACGAAGAUGUAAAAUUGACGCCCCUGUAGGCCGUGAGACAGACGUGAGCCAAACCAUCUGCUCUACUUCUGGAGGCCUUGAAUAGUGGCGCGUUGUGUAAUCUUAAGAGAGAUUUUACUUGGAAUUACAGCCUACUUUGACCAGUAGCGCAUUGUGAACAAAUAUUCCCGUACGCGUCCAAUUGCAGCAAAACGUGGGCCUGUGUCCAGU
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/spectrast.log	Mon Dec 14 16:54:21 2020 +0000
@@ -0,0 +1,22 @@
+START: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEpepXML -sO/tmp SpectrastAdapter_1_hack.mzML 
+GENERAL: File offset size is 8 bytes. Big library supported.
+GENERAL: Pointer size is 8 bytes.
+MZXML SEARCH: Sorted query spectra in "SpectrastAdapter_1_hack.mzML" by precursor m/z
+MZXML SEARCH: Searched "SpectrastAdapter_1_hack.mzML" (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1)
+MZXML SEARCH: Searched 1 files total (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1)
+SEARCH STATS: Breakdown: +1 = 0 ; +2 = 0 ; +3 = 0 ; +4 = 0 ; +5 = 0 ; 
+PERFORMANCE: Total Run Time = 0 seconds. Total Number of Searches Performed = 3. Run Time per Search = 0 seconds..
+
+END: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEpepXML -sO/tmp SpectrastAdapter_1_hack.mzML 
+==========
+START: (Sun Dec 13 17:22:43 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEtsv -sO/tmp SpectrastAdapter_1_hack.mzML 
+GENERAL: File offset size is 8 bytes. Big library supported.
+GENERAL: Pointer size is 8 bytes.
+MZXML SEARCH: Sorted query spectra in "SpectrastAdapter_1_hack.mzML" by precursor m/z
+MZXML SEARCH: Searched "SpectrastAdapter_1_hack.mzML" (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1)
+MZXML SEARCH: Searched 1 files total (Max 3 scans; 3 searched, 0 likely good; 0 failed filter; 0 missing; 0 MS1)
+SEARCH STATS: Breakdown: +1 = 0 ; +2 = 0 ; +3 = 0 ; +4 = 0 ; +5 = 0 ; 
+PERFORMANCE: Total Run Time = 1 seconds. Total Number of Searches Performed = 3. Run Time per Search = 0.333333 seconds..
+
+END: (Sun Dec 13 17:22:44 2020) /tmp/openms-stuff//OpenMS2.6.0-git/THIRDPARTY/Linux/64bit/SpectraST/spectrast -s -sM3 -sLtestLib.splib -sP! -sA! -sz! -sEtsv -sO/tmp SpectrastAdapter_1_hack.mzML 
+==========
--- a/tools_blacklist.txt	Fri Nov 06 19:43:10 2020 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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