Mercurial > repos > galaxyp > openms_rnpxlsearch
changeset 12:33e2670c3a18 draft default tip
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author | galaxyp |
---|---|
date | Fri, 14 Jun 2024 21:44:45 +0000 |
parents | 0f97ea098da0 |
children | |
files | RNPxlSearch.xml fill_ctd_clargs.py generate-foo.sh get_tests.py macros.xml prepare_test_data_manual.sh readme.md test-data.sh |
diffstat | 8 files changed, 611 insertions(+), 490 deletions(-) [+] |
line wrap: on
line diff
--- a/RNPxlSearch.xml Thu Dec 01 19:19:49 2022 +0000 +++ b/RNPxlSearch.xml Fri Jun 14 21:44:45 2024 +0000 @@ -1,8 +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]--> +<!--Proposed Tool Section: [Cross-Linking]--> <tool id="RNPxlSearch" name="RNPxlSearch" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05"> - <description>Annotate RNA/DNA-peptide cross-links in MS/MS spectra.</description> + <description>Annotate RNA/DNA-peptide cross-links in MS/MS spectra</description> <macros> <token name="@EXECUTABLE@">RNPxlSearch</token> <import>macros.xml</import> @@ -15,9 +14,9 @@ ## Preprocessing mkdir in && -ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' && +cp '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' && mkdir database && -ln -s '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' && +cp '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' && mkdir out && #if "out_tsv_FLAG" in str($OPTIONAL_OUTPUTS).split(',') mkdir out_tsv && @@ -56,31 +55,31 @@ <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile> </configfiles> <inputs> - <param argument="-in" type="data" format="mzml" optional="false" label="input file" help=" select mzml data sets(s)"/> - <param argument="-database" type="data" format="fasta" optional="false" label="input file" help=" select fasta data sets(s)"/> + <param argument="-in" type="data" format="mzml" label="input file" help=" select mzml data sets(s)"/> + <param argument="-database" type="data" format="fasta" label="input file" help=" select fasta data sets(s)"/> <section name="precursor" title="Precursor (Parent Ion) Options" help="" expanded="false"> - <param name="mass_tolerance" argument="-precursor:mass_tolerance" type="float" optional="true" value="10.0" label="Precursor mass tolerance (+/- around precursor m/z)" help=""/> - <param name="mass_tolerance_unit" argument="-precursor:mass_tolerance_unit" type="select" optional="true" label="Unit of precursor mass tolerance" help=""> + <param name="mass_tolerance" argument="-precursor:mass_tolerance" type="float" value="10.0" label="Precursor mass tolerance (+/- around precursor m/z)" help=""/> + <param name="mass_tolerance_unit" argument="-precursor:mass_tolerance_unit" type="select" label="Unit of precursor mass tolerance" help=""> <option value="ppm" selected="true">ppm</option> <option value="Da">Da</option> <expand macro="list_string_san" name="mass_tolerance_unit"/> </param> - <param name="min_charge" argument="-precursor:min_charge" type="integer" optional="true" value="2" label="Minimum precursor charge to be considered" help=""/> - <param name="max_charge" argument="-precursor:max_charge" type="integer" optional="true" value="5" label="Maximum precursor charge to be considered" help=""/> - <param name="isotopes" argument="-precursor:isotopes" type="text" optional="true" value="0 1" label="Corrects for mono-isotopic peak misassignments" help="(E.g.: 1 = prec. may be misassigned to first isotopic peak) (space separated list, in order to allow for spaces in list items surround them by single quotes)"> + <param name="min_charge" argument="-precursor:min_charge" type="integer" value="2" label="Minimum precursor charge to be considered" help=""/> + <param name="max_charge" argument="-precursor:max_charge" type="integer" value="5" label="Maximum precursor charge to be considered" help=""/> + <param name="isotopes" argument="-precursor:isotopes" type="text" value="0 1" label="Corrects for mono-isotopic peak misassignments" help="(E.g.: 1 = prec. may be misassigned to first isotopic peak) (space separated list, in order to allow for spaces in list items surround them by single quotes)"> <expand macro="list_integer_valsan" name="isotopes"/> </param> </section> <section name="fragment" title="Fragments (Product Ion) Options" help="" expanded="false"> - <param name="mass_tolerance" argument="-fragment:mass_tolerance" type="float" optional="true" value="10.0" label="Fragment mass tolerance (+/- around fragment m/z)" help=""/> - <param name="mass_tolerance_unit" argument="-fragment:mass_tolerance_unit" type="select" optional="true" label="Unit of fragment m" help=""> + <param name="mass_tolerance" argument="-fragment:mass_tolerance" type="float" value="10.0" label="Fragment mass tolerance (+/- around fragment m/z)" help=""/> + <param name="mass_tolerance_unit" argument="-fragment:mass_tolerance_unit" type="select" label="Unit of fragment m" help=""> <option value="ppm" selected="true">ppm</option> <option value="Da">Da</option> <expand macro="list_string_san" name="mass_tolerance_unit"/> </param> </section> <section name="modifications" title="Modifications Options" help="" expanded="false"> - <param name="fixed" argument="-modifications:fixed" multiple="true" type="select" optional="true" label="Fixed modifications, specified using UniMod (www.unimod.org) terms" help="e.g. 'Carbamidomethyl (C)'"> + <param name="fixed" argument="-modifications:fixed" type="select" multiple="true" optional="true" label="Fixed modifications, specified using UniMod (www.unimod.org) terms" help="e.g. 'Carbamidomethyl (C)'"> <option value="15N-oxobutanoic (N-term C)">15N-oxobutanoic (N-term C)</option> <option value="15N-oxobutanoic (Protein N-term S)">15N-oxobutanoic (Protein N-term S)</option> <option value="15N-oxobutanoic (Protein N-term T)">15N-oxobutanoic (Protein N-term T)</option> @@ -90,6 +89,10 @@ <option value="2-succinyl (C)">2-succinyl (C)</option> <option value="2HPG (R)">2HPG (R)</option> <option value="3-deoxyglucosone (R)">3-deoxyglucosone (R)</option> + <option value="3-hydroxybenzyl-phosphate (K)">3-hydroxybenzyl-phosphate (K)</option> + <option value="3-hydroxybenzyl-phosphate (S)">3-hydroxybenzyl-phosphate (S)</option> + <option value="3-hydroxybenzyl-phosphate (T)">3-hydroxybenzyl-phosphate (T)</option> + <option value="3-hydroxybenzyl-phosphate (Y)">3-hydroxybenzyl-phosphate (Y)</option> <option value="3-phosphoglyceryl (K)">3-phosphoglyceryl (K)</option> <option value="3sulfo (N-term)">3sulfo (N-term)</option> <option value="4-ONE (C)">4-ONE (C)</option> @@ -179,6 +182,7 @@ <option value="AMTzHexNAc2 (N)">AMTzHexNAc2 (N)</option> <option value="AMTzHexNAc2 (S)">AMTzHexNAc2 (S)</option> <option value="AMTzHexNAc2 (T)">AMTzHexNAc2 (T)</option> + <option value="Andro-H2O (C)">Andro-H2O (C)</option> <option value="Archaeol (C)">Archaeol (C)</option> <option value="Arg (N-term)">Arg (N-term)</option> <option value="Arg->Ala (R)">Arg->Ala (R)</option> @@ -282,6 +286,7 @@ <option value="Biotin-phenacyl (H)">Biotin-phenacyl (H)</option> <option value="Biotin-phenacyl (S)">Biotin-phenacyl (S)</option> <option value="Biotin-tyramide (Y)">Biotin-tyramide (Y)</option> + <option value="Biotin:Aha-DADPS (M)">Biotin:Aha-DADPS (M)</option> <option value="Biotin:Cayman-10013 (C)">Biotin:Cayman-10013 (C)</option> <option value="Biotin:Cayman-10141 (C)">Biotin:Cayman-10141 (C)</option> <option value="Biotin:Invitrogen-M1602 (C)">Biotin:Invitrogen-M1602 (C)</option> @@ -314,7 +319,6 @@ <option value="BITC (N-term)">BITC (N-term)</option> <option value="BMP-piperidinol (C)">BMP-piperidinol (C)</option> <option value="BMP-piperidinol (M)">BMP-piperidinol (M)</option> - <option value="Bodipy (C)">Bodipy (C)</option> <option value="Brij35 (N-term)">Brij35 (N-term)</option> <option value="Brij58 (N-term)">Brij58 (N-term)</option> <option value="Bromo (F)">Bromo (F)</option> @@ -746,9 +750,9 @@ <option value="Dehydrated (T)">Dehydrated (T)</option> <option value="Dehydrated (Y)">Dehydrated (Y)</option> <option value="Dehydro (C)">Dehydro (C)</option> + <option value="Delta:H(-1)N(-1)18O(1) (N)">Delta:H(-1)N(-1)18O(1) (N)</option> <option value="Delta:H(-4)O(2) (W)">Delta:H(-4)O(2) (W)</option> <option value="Delta:H(-4)O(3) (W)">Delta:H(-4)O(3) (W)</option> - <option value="Delta:H(1)N(-1)18O(1) (N)">Delta:H(1)N(-1)18O(1) (N)</option> <option value="Delta:H(10)C(8)O(1) (K)">Delta:H(10)C(8)O(1) (K)</option> <option value="Delta:H(2)C(2) (H)">Delta:H(2)C(2) (H)</option> <option value="Delta:H(2)C(2) (K)">Delta:H(2)C(2) (K)</option> @@ -758,7 +762,6 @@ <option value="Delta:H(2)C(3)O(1) (K)">Delta:H(2)C(3)O(1) (K)</option> <option value="Delta:H(2)C(3)O(1) (R)">Delta:H(2)C(3)O(1) (R)</option> <option value="Delta:H(2)C(5) (K)">Delta:H(2)C(5) (K)</option> - <option value="Delta:H(3)C(3)O(2) (K)">Delta:H(3)C(3)O(2) (K)</option> <option value="Delta:H(4)C(2) (H)">Delta:H(4)C(2) (H)</option> <option value="Delta:H(4)C(2) (K)">Delta:H(4)C(2) (K)</option> <option value="Delta:H(4)C(2) (N-term)">Delta:H(4)C(2) (N-term)</option> @@ -770,6 +773,7 @@ <option value="Delta:H(4)C(3)O(1) (H)">Delta:H(4)C(3)O(1) (H)</option> <option value="Delta:H(4)C(3)O(1) (K)">Delta:H(4)C(3)O(1) (K)</option> <option value="Delta:H(4)C(3)O(1) (R)">Delta:H(4)C(3)O(1) (R)</option> + <option value="Delta:H(4)C(3)O(2) (K)">Delta:H(4)C(3)O(2) (K)</option> <option value="Delta:H(4)C(5)O(1) (R)">Delta:H(4)C(5)O(1) (R)</option> <option value="Delta:H(4)C(6) (K)">Delta:H(4)C(6) (K)</option> <option value="Delta:H(5)C(2) (P)">Delta:H(5)C(2) (P)</option> @@ -1342,7 +1346,6 @@ <option value="Ethanolyl (C)">Ethanolyl (C)</option> <option value="Ethanolyl (K)">Ethanolyl (K)</option> <option value="Ethanolyl (R)">Ethanolyl (R)</option> - <option value="Ethoxyformyl (H)">Ethoxyformyl (H)</option> <option value="Ethyl (C-term)">Ethyl (C-term)</option> <option value="Ethyl (D)">Ethyl (D)</option> <option value="Ethyl (E)">Ethyl (E)</option> @@ -1436,6 +1439,7 @@ <option value="Gln->Xle (Q)">Gln->Xle (Q)</option> <option value="Glu (E)">Glu (E)</option> <option value="Glu (Protein C-term)">Glu (Protein C-term)</option> + <option value="Glu+O(2) (H)">Glu+O(2) (H)</option> <option value="Glu->Ala (E)">Glu->Ala (E)</option> <option value="Glu->Arg (E)">Glu->Arg (E)</option> <option value="Glu->Asn (E)">Glu->Asn (E)</option> @@ -1450,7 +1454,6 @@ <option value="Glu->Pro (E)">Glu->Pro (E)</option> <option value="Glu->pyro-Glu (N-term E)">Glu->pyro-Glu (N-term E)</option> <option value="Glu->pyro-Glu+Methyl (N-term E)">Glu->pyro-Glu+Methyl (N-term E)</option> - <option value="Glu->pyro-Glu+Methyl:2H(2)13C (N-term E)">Glu->pyro-Glu+Methyl:2H(2)13C (N-term E)</option> <option value="Glu->pyro-Glu+Methyl:2H(2)13C(1) (N-term E)">Glu->pyro-Glu+Methyl:2H(2)13C(1) (N-term E)</option> <option value="Glu->Ser (E)">Glu->Ser (E)</option> <option value="Glu->Thr (E)">Glu->Thr (E)</option> @@ -1474,6 +1477,7 @@ <option value="Gly (K)">Gly (K)</option> <option value="Gly (S)">Gly (S)</option> <option value="Gly (T)">Gly (T)</option> + <option value="Gly+O(2) (H)">Gly+O(2) (H)</option> <option value="Gly->Ala (G)">Gly->Ala (G)</option> <option value="Gly->Arg (G)">Gly->Arg (G)</option> <option value="Gly->Asn (G)">Gly->Asn (G)</option> @@ -1864,6 +1868,7 @@ <option value="Hex(6)HexNAc(4)Me(3) (N)">Hex(6)HexNAc(4)Me(3) (N)</option> <option value="Hex(6)HexNAc(4)Me(3)Pent(1) (N)">Hex(6)HexNAc(4)Me(3)Pent(1) (N)</option> <option value="Hex(6)HexNAc(5) (N)">Hex(6)HexNAc(5) (N)</option> + <option value="Hex(6)HexNAc(5)NeuAc(3) (N)">Hex(6)HexNAc(5)NeuAc(3) (N)</option> <option value="Hex(6)Phos(1) (S)">Hex(6)Phos(1) (S)</option> <option value="Hex(6)Phos(1) (T)">Hex(6)Phos(1) (T)</option> <option value="Hex(6)Phos(3) (S)">Hex(6)Phos(3) (S)</option> @@ -1875,6 +1880,9 @@ <option value="Hex(7)HexNAc(3) (N)">Hex(7)HexNAc(3) (N)</option> <option value="Hex(7)HexNAc(3)Phos(1) (N)">Hex(7)HexNAc(3)Phos(1) (N)</option> <option value="Hex(7)HexNAc(4) (N)">Hex(7)HexNAc(4) (N)</option> + <option value="Hex(7)HexNAc(6) (N)">Hex(7)HexNAc(6) (N)</option> + <option value="Hex(7)HexNAc(6) (S)">Hex(7)HexNAc(6) (S)</option> + <option value="Hex(7)HexNAc(6) (T)">Hex(7)HexNAc(6) (T)</option> <option value="Hex(7)Phos(3) (S)">Hex(7)Phos(3) (S)</option> <option value="Hex(7)Phos(3) (T)">Hex(7)Phos(3) (T)</option> <option value="Hex(8)HexNAc(1) (N)">Hex(8)HexNAc(1) (N)</option> @@ -1930,6 +1938,7 @@ <option value="HexNAc(4) (T)">HexNAc(4) (T)</option> <option value="HexNAc(5) (S)">HexNAc(5) (S)</option> <option value="HexNAc(5) (T)">HexNAc(5) (T)</option> + <option value="His+O(2) (H)">His+O(2) (H)</option> <option value="His->Ala (H)">His->Ala (H)</option> <option value="His->Arg (H)">His->Arg (H)</option> <option value="His->Asn (H)">His->Asn (H)</option> @@ -2067,11 +2076,14 @@ <option value="iTRAQ8plex:13C(6)15N(2) (K)">iTRAQ8plex:13C(6)15N(2) (K)</option> <option value="iTRAQ8plex:13C(6)15N(2) (N-term)">iTRAQ8plex:13C(6)15N(2) (N-term)</option> <option value="iTRAQ8plex:13C(6)15N(2) (Y)">iTRAQ8plex:13C(6)15N(2) (Y)</option> + <option value="Kdo (S)">Kdo (S)</option> + <option value="Kdo (T)">Kdo (T)</option> <option value="Label:13C(1)2H(3) (M)">Label:13C(1)2H(3) (M)</option> <option value="Label:13C(1)2H(3)+Oxidation (M)">Label:13C(1)2H(3)+Oxidation (M)</option> <option value="Label:13C(2)15N(2) (K)">Label:13C(2)15N(2) (K)</option> <option value="Label:13C(3) (A)">Label:13C(3) (A)</option> <option value="Label:13C(3)15N(1) (A)">Label:13C(3)15N(1) (A)</option> + <option value="Label:13C(3)15N(1) (S)">Label:13C(3)15N(1) (S)</option> <option value="Label:13C(4) (M)">Label:13C(4) (M)</option> <option value="Label:13C(4)+Oxidation (M)">Label:13C(4)+Oxidation (M)</option> <option value="Label:13C(4)15N(1) (D)">Label:13C(4)15N(1) (D)</option> @@ -2156,13 +2168,16 @@ <option value="LG-lactam-K (K)">LG-lactam-K (K)</option> <option value="LG-lactam-K (Protein N-term)">LG-lactam-K (Protein N-term)</option> <option value="LG-lactam-R (R)">LG-lactam-R (R)</option> + <option value="LG-pyrrole (C)">LG-pyrrole (C)</option> <option value="LG-pyrrole (K)">LG-pyrrole (K)</option> <option value="LG-pyrrole (N-term)">LG-pyrrole (N-term)</option> <option value="Lipoyl (K)">Lipoyl (K)</option> <option value="LRGG (K)">LRGG (K)</option> <option value="LRGG+dimethyl (K)">LRGG+dimethyl (K)</option> <option value="LRGG+methyl (K)">LRGG+methyl (K)</option> + <option value="LTX+Lophotoxin (Y)">LTX+Lophotoxin (Y)</option> <option value="Lys (N-term)">Lys (N-term)</option> + <option value="Lys+O(2) (H)">Lys+O(2) (H)</option> <option value="Lys->Ala (K)">Lys->Ala (K)</option> <option value="Lys->Allysine (K)">Lys->Allysine (K)</option> <option value="Lys->AminoadipicAcid (K)">Lys->AminoadipicAcid (K)</option> @@ -2197,6 +2212,7 @@ <option value="Malonyl (C)">Malonyl (C)</option> <option value="Malonyl (K)">Malonyl (K)</option> <option value="Malonyl (S)">Malonyl (S)</option> + <option value="MBS+peptide (C)">MBS+peptide (C)</option> <option value="MDCC (C)">MDCC (C)</option> <option value="MeMePhosphorothioate (S)">MeMePhosphorothioate (S)</option> <option value="Menadione (C)">Menadione (C)</option> @@ -2208,6 +2224,7 @@ <option value="MesitylOxide (H)">MesitylOxide (H)</option> <option value="MesitylOxide (K)">MesitylOxide (K)</option> <option value="MesitylOxide (Protein N-term)">MesitylOxide (Protein N-term)</option> + <option value="Met+O(2) (H)">Met+O(2) (H)</option> <option value="Met->Aha (M)">Met->Aha (M)</option> <option value="Met->Ala (M)">Met->Ala (M)</option> <option value="Met->Arg (M)">Met->Arg (M)</option> @@ -2391,7 +2408,6 @@ <option value="Nmethylmaleimide+water (C)">Nmethylmaleimide+water (C)</option> <option value="NO_SMX_SEMD (C)">NO_SMX_SEMD (C)</option> <option value="NO_SMX_SIMD (C)">NO_SMX_SIMD (C)</option> - <option value="NO_SMX_SMCT (C)">NO_SMX_SMCT (C)</option> <option value="NP40 (N-term)">NP40 (N-term)</option> <option value="NQIGG (K)">NQIGG (K)</option> <option value="O-Dimethylphosphate (S)">O-Dimethylphosphate (S)</option> @@ -2479,6 +2495,10 @@ <option value="Phe->Tyr (F)">Phe->Tyr (F)</option> <option value="Phe->Val (F)">Phe->Val (F)</option> <option value="Phe->Xle (F)">Phe->Xle (F)</option> + <option value="phenyl-phosphate (K)">phenyl-phosphate (K)</option> + <option value="phenyl-phosphate (S)">phenyl-phosphate (S)</option> + <option value="phenyl-phosphate (T)">phenyl-phosphate (T)</option> + <option value="phenyl-phosphate (Y)">phenyl-phosphate (Y)</option> <option value="Phenylisocyanate (N-term)">Phenylisocyanate (N-term)</option> <option value="Phenylisocyanate:2H(5) (N-term)">Phenylisocyanate:2H(5) (N-term)</option> <option value="phenylsulfonylethyl (C)">phenylsulfonylethyl (C)</option> @@ -2493,6 +2513,7 @@ <option value="Phospho (Y)">Phospho (Y)</option> <option value="Phosphoadenosine (H)">Phosphoadenosine (H)</option> <option value="Phosphoadenosine (K)">Phosphoadenosine (K)</option> + <option value="Phosphoadenosine (S)">Phosphoadenosine (S)</option> <option value="Phosphoadenosine (T)">Phosphoadenosine (T)</option> <option value="Phosphoadenosine (Y)">Phosphoadenosine (Y)</option> <option value="PhosphoCytidine (S)">PhosphoCytidine (S)</option> @@ -2524,6 +2545,7 @@ <option value="Phytochromobilin (C)">Phytochromobilin (C)</option> <option value="Piperidine (K)">Piperidine (K)</option> <option value="Piperidine (N-term)">Piperidine (N-term)</option> + <option value="Pro+O(2) (H)">Pro+O(2) (H)</option> <option value="Pro->Ala (P)">Pro->Ala (P)</option> <option value="Pro->Arg (P)">Pro->Arg (P)</option> <option value="Pro->Asn (P)">Pro->Asn (P)</option> @@ -2601,18 +2623,30 @@ <option value="QTGG (K)">QTGG (K)</option> <option value="Quinone (W)">Quinone (W)</option> <option value="Quinone (Y)">Quinone (Y)</option> + <option value="RBS-ID_Uridine (A)">RBS-ID_Uridine (A)</option> + <option value="RBS-ID_Uridine (C)">RBS-ID_Uridine (C)</option> + <option value="RBS-ID_Uridine (D)">RBS-ID_Uridine (D)</option> + <option value="RBS-ID_Uridine (E)">RBS-ID_Uridine (E)</option> + <option value="RBS-ID_Uridine (F)">RBS-ID_Uridine (F)</option> + <option value="RBS-ID_Uridine (G)">RBS-ID_Uridine (G)</option> + <option value="RBS-ID_Uridine (H)">RBS-ID_Uridine (H)</option> + <option value="RBS-ID_Uridine (I)">RBS-ID_Uridine (I)</option> + <option value="RBS-ID_Uridine (K)">RBS-ID_Uridine (K)</option> + <option value="RBS-ID_Uridine (L)">RBS-ID_Uridine (L)</option> + <option value="RBS-ID_Uridine (M)">RBS-ID_Uridine (M)</option> + <option value="RBS-ID_Uridine (N)">RBS-ID_Uridine (N)</option> + <option value="RBS-ID_Uridine (P)">RBS-ID_Uridine (P)</option> + <option value="RBS-ID_Uridine (Q)">RBS-ID_Uridine (Q)</option> + <option value="RBS-ID_Uridine (R)">RBS-ID_Uridine (R)</option> + <option value="RBS-ID_Uridine (S)">RBS-ID_Uridine (S)</option> + <option value="RBS-ID_Uridine (T)">RBS-ID_Uridine (T)</option> + <option value="RBS-ID_Uridine (V)">RBS-ID_Uridine (V)</option> + <option value="RBS-ID_Uridine (W)">RBS-ID_Uridine (W)</option> + <option value="RBS-ID_Uridine (Y)">RBS-ID_Uridine (Y)</option> <option value="Retinylidene (K)">Retinylidene (K)</option> <option value="RNPXL (N-term K)">RNPXL (N-term K)</option> <option value="RNPXL (N-term R)">RNPXL (N-term R)</option> <option value="RNPXlink1 (C)">RNPXlink1 (C)</option> - <option value="RNPXlink2 (F)">RNPXlink2 (F)</option> - <option value="RNPXlink2 (K)">RNPXlink2 (K)</option> - <option value="RNPXlink2 (L)">RNPXlink2 (L)</option> - <option value="RNPXlink3 (C)">RNPXlink3 (C)</option> - <option value="RNPXlink3 (F)">RNPXlink3 (F)</option> - <option value="RNPXlink4 (C)">RNPXlink4 (C)</option> - <option value="RNPXlink5 (F)">RNPXlink5 (F)</option> - <option value="RNPXlink5 (Y)">RNPXlink5 (Y)</option> <option value="s-GlcNAc (S)">s-GlcNAc (S)</option> <option value="s-GlcNAc (T)">s-GlcNAc (T)</option> <option value="Saligenin (H)">Saligenin (H)</option> @@ -2640,6 +2674,9 @@ <option value="shTMT (K)">shTMT (K)</option> <option value="shTMT (N-term)">shTMT (N-term)</option> <option value="shTMT (Protein N-term)">shTMT (Protein N-term)</option> + <option value="shTMTpro (K)">shTMTpro (K)</option> + <option value="shTMTpro (N-term)">shTMTpro (N-term)</option> + <option value="shTMTpro (Protein N-term)">shTMTpro (Protein N-term)</option> <option value="SMA (K)">SMA (K)</option> <option value="SMA (N-term)">SMA (N-term)</option> <option value="spermidine (Q)">spermidine (Q)</option> @@ -2815,7 +2852,6 @@ <option value="Tyr->Trp (Y)">Tyr->Trp (Y)</option> <option value="Tyr->Val (Y)">Tyr->Val (Y)</option> <option value="Tyr->Xle (Y)">Tyr->Xle (Y)</option> - <option value="Ub-amide (C)">Ub-amide (C)</option> <option value="Ub-Br2 (C)">Ub-Br2 (C)</option> <option value="Ub-fluorescein (C)">Ub-fluorescein (C)</option> <option value="Ub-VME (C)">Ub-VME (C)</option> @@ -3010,7 +3046,7 @@ <option value="ZQG (K)">ZQG (K)</option> <expand macro="list_string_san" name="fixed"/> </param> - <param name="variable" argument="-modifications:variable" multiple="true" type="select" optional="true" label="Variable modifications, specified using UniMod (www.unimod.org) terms" help="e.g. 'Oxidation (M)'"> + <param name="variable" argument="-modifications:variable" type="select" multiple="true" optional="true" label="Variable modifications, specified using UniMod (www.unimod.org) terms" help="e.g. 'Oxidation (M)'"> <option value="15N-oxobutanoic (N-term C)">15N-oxobutanoic (N-term C)</option> <option value="15N-oxobutanoic (Protein N-term S)">15N-oxobutanoic (Protein N-term S)</option> <option value="15N-oxobutanoic (Protein N-term T)">15N-oxobutanoic (Protein N-term T)</option> @@ -3020,6 +3056,10 @@ <option value="2-succinyl (C)">2-succinyl (C)</option> <option value="2HPG (R)">2HPG (R)</option> <option value="3-deoxyglucosone (R)">3-deoxyglucosone (R)</option> + <option value="3-hydroxybenzyl-phosphate (K)">3-hydroxybenzyl-phosphate (K)</option> + <option value="3-hydroxybenzyl-phosphate (S)">3-hydroxybenzyl-phosphate (S)</option> + <option value="3-hydroxybenzyl-phosphate (T)">3-hydroxybenzyl-phosphate (T)</option> + <option value="3-hydroxybenzyl-phosphate (Y)">3-hydroxybenzyl-phosphate (Y)</option> <option value="3-phosphoglyceryl (K)">3-phosphoglyceryl (K)</option> <option value="3sulfo (N-term)">3sulfo (N-term)</option> <option value="4-ONE (C)">4-ONE (C)</option> @@ -3109,6 +3149,7 @@ <option value="AMTzHexNAc2 (N)">AMTzHexNAc2 (N)</option> <option value="AMTzHexNAc2 (S)">AMTzHexNAc2 (S)</option> <option value="AMTzHexNAc2 (T)">AMTzHexNAc2 (T)</option> + <option value="Andro-H2O (C)">Andro-H2O (C)</option> <option value="Archaeol (C)">Archaeol (C)</option> <option value="Arg (N-term)">Arg (N-term)</option> <option value="Arg->Ala (R)">Arg->Ala (R)</option> @@ -3212,6 +3253,7 @@ <option value="Biotin-phenacyl (H)">Biotin-phenacyl (H)</option> <option value="Biotin-phenacyl (S)">Biotin-phenacyl (S)</option> <option value="Biotin-tyramide (Y)">Biotin-tyramide (Y)</option> + <option value="Biotin:Aha-DADPS (M)">Biotin:Aha-DADPS (M)</option> <option value="Biotin:Cayman-10013 (C)">Biotin:Cayman-10013 (C)</option> <option value="Biotin:Cayman-10141 (C)">Biotin:Cayman-10141 (C)</option> <option value="Biotin:Invitrogen-M1602 (C)">Biotin:Invitrogen-M1602 (C)</option> @@ -3244,7 +3286,6 @@ <option value="BITC (N-term)">BITC (N-term)</option> <option value="BMP-piperidinol (C)">BMP-piperidinol (C)</option> <option value="BMP-piperidinol (M)">BMP-piperidinol (M)</option> - <option value="Bodipy (C)">Bodipy (C)</option> <option value="Brij35 (N-term)">Brij35 (N-term)</option> <option value="Brij58 (N-term)">Brij58 (N-term)</option> <option value="Bromo (F)">Bromo (F)</option> @@ -3676,9 +3717,9 @@ <option value="Dehydrated (T)">Dehydrated (T)</option> <option value="Dehydrated (Y)">Dehydrated (Y)</option> <option value="Dehydro (C)">Dehydro (C)</option> + <option value="Delta:H(-1)N(-1)18O(1) (N)">Delta:H(-1)N(-1)18O(1) (N)</option> <option value="Delta:H(-4)O(2) (W)">Delta:H(-4)O(2) (W)</option> <option value="Delta:H(-4)O(3) (W)">Delta:H(-4)O(3) (W)</option> - <option value="Delta:H(1)N(-1)18O(1) (N)">Delta:H(1)N(-1)18O(1) (N)</option> <option value="Delta:H(10)C(8)O(1) (K)">Delta:H(10)C(8)O(1) (K)</option> <option value="Delta:H(2)C(2) (H)">Delta:H(2)C(2) (H)</option> <option value="Delta:H(2)C(2) (K)">Delta:H(2)C(2) (K)</option> @@ -3688,7 +3729,6 @@ <option value="Delta:H(2)C(3)O(1) (K)">Delta:H(2)C(3)O(1) (K)</option> <option value="Delta:H(2)C(3)O(1) (R)">Delta:H(2)C(3)O(1) (R)</option> <option value="Delta:H(2)C(5) (K)">Delta:H(2)C(5) (K)</option> - <option value="Delta:H(3)C(3)O(2) (K)">Delta:H(3)C(3)O(2) (K)</option> <option value="Delta:H(4)C(2) (H)">Delta:H(4)C(2) (H)</option> <option value="Delta:H(4)C(2) (K)">Delta:H(4)C(2) (K)</option> <option value="Delta:H(4)C(2) (N-term)">Delta:H(4)C(2) (N-term)</option> @@ -3700,6 +3740,7 @@ <option value="Delta:H(4)C(3)O(1) (H)">Delta:H(4)C(3)O(1) (H)</option> <option value="Delta:H(4)C(3)O(1) (K)">Delta:H(4)C(3)O(1) (K)</option> <option value="Delta:H(4)C(3)O(1) (R)">Delta:H(4)C(3)O(1) (R)</option> + <option value="Delta:H(4)C(3)O(2) (K)">Delta:H(4)C(3)O(2) (K)</option> <option value="Delta:H(4)C(5)O(1) (R)">Delta:H(4)C(5)O(1) (R)</option> <option value="Delta:H(4)C(6) (K)">Delta:H(4)C(6) (K)</option> <option value="Delta:H(5)C(2) (P)">Delta:H(5)C(2) (P)</option> @@ -4272,7 +4313,6 @@ <option value="Ethanolyl (C)">Ethanolyl (C)</option> <option value="Ethanolyl (K)">Ethanolyl (K)</option> <option value="Ethanolyl (R)">Ethanolyl (R)</option> - <option value="Ethoxyformyl (H)">Ethoxyformyl (H)</option> <option value="Ethyl (C-term)">Ethyl (C-term)</option> <option value="Ethyl (D)">Ethyl (D)</option> <option value="Ethyl (E)">Ethyl (E)</option> @@ -4366,6 +4406,7 @@ <option value="Gln->Xle (Q)">Gln->Xle (Q)</option> <option value="Glu (E)">Glu (E)</option> <option value="Glu (Protein C-term)">Glu (Protein C-term)</option> + <option value="Glu+O(2) (H)">Glu+O(2) (H)</option> <option value="Glu->Ala (E)">Glu->Ala (E)</option> <option value="Glu->Arg (E)">Glu->Arg (E)</option> <option value="Glu->Asn (E)">Glu->Asn (E)</option> @@ -4380,7 +4421,6 @@ <option value="Glu->Pro (E)">Glu->Pro (E)</option> <option value="Glu->pyro-Glu (N-term E)">Glu->pyro-Glu (N-term E)</option> <option value="Glu->pyro-Glu+Methyl (N-term E)">Glu->pyro-Glu+Methyl (N-term E)</option> - <option value="Glu->pyro-Glu+Methyl:2H(2)13C (N-term E)">Glu->pyro-Glu+Methyl:2H(2)13C (N-term E)</option> <option value="Glu->pyro-Glu+Methyl:2H(2)13C(1) (N-term E)">Glu->pyro-Glu+Methyl:2H(2)13C(1) (N-term E)</option> <option value="Glu->Ser (E)">Glu->Ser (E)</option> <option value="Glu->Thr (E)">Glu->Thr (E)</option> @@ -4404,6 +4444,7 @@ <option value="Gly (K)">Gly (K)</option> <option value="Gly (S)">Gly (S)</option> <option value="Gly (T)">Gly (T)</option> + <option value="Gly+O(2) (H)">Gly+O(2) (H)</option> <option value="Gly->Ala (G)">Gly->Ala (G)</option> <option value="Gly->Arg (G)">Gly->Arg (G)</option> <option value="Gly->Asn (G)">Gly->Asn (G)</option> @@ -4794,6 +4835,7 @@ <option value="Hex(6)HexNAc(4)Me(3) (N)">Hex(6)HexNAc(4)Me(3) (N)</option> <option value="Hex(6)HexNAc(4)Me(3)Pent(1) (N)">Hex(6)HexNAc(4)Me(3)Pent(1) (N)</option> <option value="Hex(6)HexNAc(5) (N)">Hex(6)HexNAc(5) (N)</option> + <option value="Hex(6)HexNAc(5)NeuAc(3) (N)">Hex(6)HexNAc(5)NeuAc(3) (N)</option> <option value="Hex(6)Phos(1) (S)">Hex(6)Phos(1) (S)</option> <option value="Hex(6)Phos(1) (T)">Hex(6)Phos(1) (T)</option> <option value="Hex(6)Phos(3) (S)">Hex(6)Phos(3) (S)</option> @@ -4805,6 +4847,9 @@ <option value="Hex(7)HexNAc(3) (N)">Hex(7)HexNAc(3) (N)</option> <option value="Hex(7)HexNAc(3)Phos(1) (N)">Hex(7)HexNAc(3)Phos(1) (N)</option> <option value="Hex(7)HexNAc(4) (N)">Hex(7)HexNAc(4) (N)</option> + <option value="Hex(7)HexNAc(6) (N)">Hex(7)HexNAc(6) (N)</option> + <option value="Hex(7)HexNAc(6) (S)">Hex(7)HexNAc(6) (S)</option> + <option value="Hex(7)HexNAc(6) (T)">Hex(7)HexNAc(6) (T)</option> <option value="Hex(7)Phos(3) (S)">Hex(7)Phos(3) (S)</option> <option value="Hex(7)Phos(3) (T)">Hex(7)Phos(3) (T)</option> <option value="Hex(8)HexNAc(1) (N)">Hex(8)HexNAc(1) (N)</option> @@ -4860,6 +4905,7 @@ <option value="HexNAc(4) (T)">HexNAc(4) (T)</option> <option value="HexNAc(5) (S)">HexNAc(5) (S)</option> <option value="HexNAc(5) (T)">HexNAc(5) (T)</option> + <option value="His+O(2) (H)">His+O(2) (H)</option> <option value="His->Ala (H)">His->Ala (H)</option> <option value="His->Arg (H)">His->Arg (H)</option> <option value="His->Asn (H)">His->Asn (H)</option> @@ -4997,11 +5043,14 @@ <option value="iTRAQ8plex:13C(6)15N(2) (K)">iTRAQ8plex:13C(6)15N(2) (K)</option> <option value="iTRAQ8plex:13C(6)15N(2) (N-term)">iTRAQ8plex:13C(6)15N(2) (N-term)</option> <option value="iTRAQ8plex:13C(6)15N(2) (Y)">iTRAQ8plex:13C(6)15N(2) (Y)</option> + <option value="Kdo (S)">Kdo (S)</option> + <option value="Kdo (T)">Kdo (T)</option> <option value="Label:13C(1)2H(3) (M)">Label:13C(1)2H(3) (M)</option> <option value="Label:13C(1)2H(3)+Oxidation (M)">Label:13C(1)2H(3)+Oxidation (M)</option> <option value="Label:13C(2)15N(2) (K)">Label:13C(2)15N(2) (K)</option> <option value="Label:13C(3) (A)">Label:13C(3) (A)</option> <option value="Label:13C(3)15N(1) (A)">Label:13C(3)15N(1) (A)</option> + <option value="Label:13C(3)15N(1) (S)">Label:13C(3)15N(1) (S)</option> <option value="Label:13C(4) (M)">Label:13C(4) (M)</option> <option value="Label:13C(4)+Oxidation (M)">Label:13C(4)+Oxidation (M)</option> <option value="Label:13C(4)15N(1) (D)">Label:13C(4)15N(1) (D)</option> @@ -5086,13 +5135,16 @@ <option value="LG-lactam-K (K)">LG-lactam-K (K)</option> <option value="LG-lactam-K (Protein N-term)">LG-lactam-K (Protein N-term)</option> <option value="LG-lactam-R (R)">LG-lactam-R (R)</option> + <option value="LG-pyrrole (C)">LG-pyrrole (C)</option> <option value="LG-pyrrole (K)">LG-pyrrole (K)</option> <option value="LG-pyrrole (N-term)">LG-pyrrole (N-term)</option> <option value="Lipoyl (K)">Lipoyl (K)</option> <option value="LRGG (K)">LRGG (K)</option> <option value="LRGG+dimethyl (K)">LRGG+dimethyl (K)</option> <option value="LRGG+methyl (K)">LRGG+methyl (K)</option> + <option value="LTX+Lophotoxin (Y)">LTX+Lophotoxin (Y)</option> <option value="Lys (N-term)">Lys (N-term)</option> + <option value="Lys+O(2) (H)">Lys+O(2) (H)</option> <option value="Lys->Ala (K)">Lys->Ala (K)</option> <option value="Lys->Allysine (K)">Lys->Allysine (K)</option> <option value="Lys->AminoadipicAcid (K)">Lys->AminoadipicAcid (K)</option> @@ -5127,6 +5179,7 @@ <option value="Malonyl (C)">Malonyl (C)</option> <option value="Malonyl (K)">Malonyl (K)</option> <option value="Malonyl (S)">Malonyl (S)</option> + <option value="MBS+peptide (C)">MBS+peptide (C)</option> <option value="MDCC (C)">MDCC (C)</option> <option value="MeMePhosphorothioate (S)">MeMePhosphorothioate (S)</option> <option value="Menadione (C)">Menadione (C)</option> @@ -5138,6 +5191,7 @@ <option value="MesitylOxide (H)">MesitylOxide (H)</option> <option value="MesitylOxide (K)">MesitylOxide (K)</option> <option value="MesitylOxide (Protein N-term)">MesitylOxide (Protein N-term)</option> + <option value="Met+O(2) (H)">Met+O(2) (H)</option> <option value="Met->Aha (M)">Met->Aha (M)</option> <option value="Met->Ala (M)">Met->Ala (M)</option> <option value="Met->Arg (M)">Met->Arg (M)</option> @@ -5321,7 +5375,6 @@ <option value="Nmethylmaleimide+water (C)">Nmethylmaleimide+water (C)</option> <option value="NO_SMX_SEMD (C)">NO_SMX_SEMD (C)</option> <option value="NO_SMX_SIMD (C)">NO_SMX_SIMD (C)</option> - <option value="NO_SMX_SMCT (C)">NO_SMX_SMCT (C)</option> <option value="NP40 (N-term)">NP40 (N-term)</option> <option value="NQIGG (K)">NQIGG (K)</option> <option value="O-Dimethylphosphate (S)">O-Dimethylphosphate (S)</option> @@ -5409,6 +5462,10 @@ <option value="Phe->Tyr (F)">Phe->Tyr (F)</option> <option value="Phe->Val (F)">Phe->Val (F)</option> <option value="Phe->Xle (F)">Phe->Xle (F)</option> + <option value="phenyl-phosphate (K)">phenyl-phosphate (K)</option> + <option value="phenyl-phosphate (S)">phenyl-phosphate (S)</option> + <option value="phenyl-phosphate (T)">phenyl-phosphate (T)</option> + <option value="phenyl-phosphate (Y)">phenyl-phosphate (Y)</option> <option value="Phenylisocyanate (N-term)">Phenylisocyanate (N-term)</option> <option value="Phenylisocyanate:2H(5) (N-term)">Phenylisocyanate:2H(5) (N-term)</option> <option value="phenylsulfonylethyl (C)">phenylsulfonylethyl (C)</option> @@ -5423,6 +5480,7 @@ <option value="Phospho (Y)">Phospho (Y)</option> <option value="Phosphoadenosine (H)">Phosphoadenosine (H)</option> <option value="Phosphoadenosine (K)">Phosphoadenosine (K)</option> + <option value="Phosphoadenosine (S)">Phosphoadenosine (S)</option> <option value="Phosphoadenosine (T)">Phosphoadenosine (T)</option> <option value="Phosphoadenosine (Y)">Phosphoadenosine (Y)</option> <option value="PhosphoCytidine (S)">PhosphoCytidine (S)</option> @@ -5454,6 +5512,7 @@ <option value="Phytochromobilin (C)">Phytochromobilin (C)</option> <option value="Piperidine (K)">Piperidine (K)</option> <option value="Piperidine (N-term)">Piperidine (N-term)</option> + <option value="Pro+O(2) (H)">Pro+O(2) (H)</option> <option value="Pro->Ala (P)">Pro->Ala (P)</option> <option value="Pro->Arg (P)">Pro->Arg (P)</option> <option value="Pro->Asn (P)">Pro->Asn (P)</option> @@ -5531,18 +5590,30 @@ <option value="QTGG (K)">QTGG (K)</option> <option value="Quinone (W)">Quinone (W)</option> <option value="Quinone (Y)">Quinone (Y)</option> + <option value="RBS-ID_Uridine (A)">RBS-ID_Uridine (A)</option> + <option value="RBS-ID_Uridine (C)">RBS-ID_Uridine (C)</option> + <option value="RBS-ID_Uridine (D)">RBS-ID_Uridine (D)</option> + <option value="RBS-ID_Uridine (E)">RBS-ID_Uridine (E)</option> + <option value="RBS-ID_Uridine (F)">RBS-ID_Uridine (F)</option> + <option value="RBS-ID_Uridine (G)">RBS-ID_Uridine (G)</option> + <option value="RBS-ID_Uridine (H)">RBS-ID_Uridine (H)</option> + <option value="RBS-ID_Uridine (I)">RBS-ID_Uridine (I)</option> + <option value="RBS-ID_Uridine (K)">RBS-ID_Uridine (K)</option> + <option value="RBS-ID_Uridine (L)">RBS-ID_Uridine (L)</option> + <option value="RBS-ID_Uridine (M)">RBS-ID_Uridine (M)</option> + <option value="RBS-ID_Uridine (N)">RBS-ID_Uridine (N)</option> + <option value="RBS-ID_Uridine (P)">RBS-ID_Uridine (P)</option> + <option value="RBS-ID_Uridine (Q)">RBS-ID_Uridine (Q)</option> + <option value="RBS-ID_Uridine (R)">RBS-ID_Uridine (R)</option> + <option value="RBS-ID_Uridine (S)">RBS-ID_Uridine (S)</option> + <option value="RBS-ID_Uridine (T)">RBS-ID_Uridine (T)</option> + <option value="RBS-ID_Uridine (V)">RBS-ID_Uridine (V)</option> + <option value="RBS-ID_Uridine (W)">RBS-ID_Uridine (W)</option> + <option value="RBS-ID_Uridine (Y)">RBS-ID_Uridine (Y)</option> <option value="Retinylidene (K)">Retinylidene (K)</option> <option value="RNPXL (N-term K)">RNPXL (N-term K)</option> <option value="RNPXL (N-term R)">RNPXL (N-term R)</option> <option value="RNPXlink1 (C)">RNPXlink1 (C)</option> - <option value="RNPXlink2 (F)">RNPXlink2 (F)</option> - <option value="RNPXlink2 (K)">RNPXlink2 (K)</option> - <option value="RNPXlink2 (L)">RNPXlink2 (L)</option> - <option value="RNPXlink3 (C)">RNPXlink3 (C)</option> - <option value="RNPXlink3 (F)">RNPXlink3 (F)</option> - <option value="RNPXlink4 (C)">RNPXlink4 (C)</option> - <option value="RNPXlink5 (F)">RNPXlink5 (F)</option> - <option value="RNPXlink5 (Y)">RNPXlink5 (Y)</option> <option value="s-GlcNAc (S)">s-GlcNAc (S)</option> <option value="s-GlcNAc (T)">s-GlcNAc (T)</option> <option value="Saligenin (H)">Saligenin (H)</option> @@ -5570,6 +5641,9 @@ <option value="shTMT (K)">shTMT (K)</option> <option value="shTMT (N-term)">shTMT (N-term)</option> <option value="shTMT (Protein N-term)">shTMT (Protein N-term)</option> + <option value="shTMTpro (K)">shTMTpro (K)</option> + <option value="shTMTpro (N-term)">shTMTpro (N-term)</option> + <option value="shTMTpro (Protein N-term)">shTMTpro (Protein N-term)</option> <option value="SMA (K)">SMA (K)</option> <option value="SMA (N-term)">SMA (N-term)</option> <option value="spermidine (Q)">spermidine (Q)</option> @@ -5745,7 +5819,6 @@ <option value="Tyr->Trp (Y)">Tyr->Trp (Y)</option> <option value="Tyr->Val (Y)">Tyr->Val (Y)</option> <option value="Tyr->Xle (Y)">Tyr->Xle (Y)</option> - <option value="Ub-amide (C)">Ub-amide (C)</option> <option value="Ub-Br2 (C)">Ub-Br2 (C)</option> <option value="Ub-fluorescein (C)">Ub-fluorescein (C)</option> <option value="Ub-VME (C)">Ub-VME (C)</option> @@ -5940,58 +6013,58 @@ <option value="ZQG (K)">ZQG (K)</option> <expand macro="list_string_san" name="variable"/> </param> - <param name="variable_max_per_peptide" argument="-modifications:variable_max_per_peptide" type="integer" optional="true" value="2" label="Maximum number of residues carrying a variable modification per candidate peptide" help=""/> + <param name="variable_max_per_peptide" argument="-modifications:variable_max_per_peptide" type="integer" value="2" label="Maximum number of residues carrying a variable modification per candidate peptide" help=""/> </section> <section name="peptide" title="Peptide Options" help="" expanded="false"> - <param name="min_size" argument="-peptide:min_size" type="integer" optional="true" value="6" label="Minimum size a peptide must have after digestion to be considered in the search" help=""/> - <param name="max_size" argument="-peptide:max_size" type="integer" optional="true" value="1000000" label="Maximum size a peptide may have after digestion to be considered in the search" help=""/> - <param name="missed_cleavages" argument="-peptide:missed_cleavages" type="integer" optional="true" value="1" label="Number of missed cleavages" help=""/> - <param name="enzyme" argument="-peptide:enzyme" type="select" optional="true" label="The enzyme used for peptide digestion" help=""> + <param name="min_size" argument="-peptide:min_size" type="integer" value="6" label="Minimum size a peptide must have after digestion to be considered in the search" help=""/> + <param name="max_size" argument="-peptide:max_size" type="integer" value="1000000" label="Maximum size a peptide may have after digestion to be considered in the search" help=""/> + <param name="missed_cleavages" argument="-peptide:missed_cleavages" type="integer" value="1" label="Number of missed cleavages" help=""/> + <param name="enzyme" argument="-peptide:enzyme" type="select" label="The enzyme used for peptide digestion" help=""> + <option value="glutamyl endopeptidase">glutamyl endopeptidase</option> + <option value="Alpha-lytic protease">Alpha-lytic protease</option> + <option value="2-iodobenzoate">2-iodobenzoate</option> + <option value="iodosobenzoate">iodosobenzoate</option> + <option value="Lys-C/P">Lys-C/P</option> <option value="PepsinA">PepsinA</option> - <option value="TrypChymo">TrypChymo</option> - <option value="Trypsin/P">Trypsin/P</option> <option value="Trypsin" selected="true">Trypsin</option> - <option value="Lys-N">Lys-N</option> - <option value="Lys-C/P">Lys-C/P</option> - <option value="Clostripain/P">Clostripain/P</option> - <option value="elastase-trypsin-chymotrypsin">elastase-trypsin-chymotrypsin</option> - <option value="no cleavage">no cleavage</option> - <option value="unspecific cleavage">unspecific cleavage</option> - <option value="Arg-C/P">Arg-C/P</option> - <option value="Asp-N">Asp-N</option> - <option value="Asp-N/B">Asp-N/B</option> + <option value="Chymotrypsin">Chymotrypsin</option> + <option value="Chymotrypsin/P">Chymotrypsin/P</option> + <option value="CNBr">CNBr</option> <option value="staphylococcal protease/D">staphylococcal protease/D</option> <option value="proline-endopeptidase/HKR">proline-endopeptidase/HKR</option> <option value="Glu-C+P">Glu-C+P</option> <option value="PepsinA + P">PepsinA + P</option> <option value="cyanogen-bromide">cyanogen-bromide</option> - <option value="Asp-N_ambic">Asp-N_ambic</option> - <option value="Chymotrypsin">Chymotrypsin</option> - <option value="Chymotrypsin/P">Chymotrypsin/P</option> - <option value="Arg-C">Arg-C</option> - <option value="glutamyl endopeptidase">glutamyl endopeptidase</option> - <option value="Alpha-lytic protease">Alpha-lytic protease</option> - <option value="2-iodobenzoate">2-iodobenzoate</option> - <option value="iodosobenzoate">iodosobenzoate</option> - <option value="CNBr">CNBr</option> <option value="Formic_acid">Formic_acid</option> <option value="Lys-C">Lys-C</option> + <option value="Lys-N">Lys-N</option> + <option value="Arg-C">Arg-C</option> + <option value="Arg-C/P">Arg-C/P</option> <option value="V8-DE">V8-DE</option> <option value="V8-E">V8-E</option> + <option value="Asp-N">Asp-N</option> + <option value="Asp-N/B">Asp-N/B</option> + <option value="Asp-N_ambic">Asp-N_ambic</option> <option value="leukocyte elastase">leukocyte elastase</option> <option value="proline endopeptidase">proline endopeptidase</option> + <option value="TrypChymo">TrypChymo</option> + <option value="Trypsin/P">Trypsin/P</option> + <option value="Clostripain/P">Clostripain/P</option> + <option value="elastase-trypsin-chymotrypsin">elastase-trypsin-chymotrypsin</option> + <option value="no cleavage">no cleavage</option> + <option value="unspecific cleavage">unspecific cleavage</option> <expand macro="list_string_san" name="enzyme"/> </param> </section> <section name="report" title="Reporting Options" help="" expanded="false"> - <param name="top_hits" argument="-report:top_hits" type="integer" optional="true" value="1" label="Maximum number of top scoring hits per spectrum that are reported" help=""/> + <param name="top_hits" argument="-report:top_hits" type="integer" value="1" label="Maximum number of top scoring hits per spectrum that are reported" help=""/> </section> <section name="RNPxl" title="RNPxl Options" help="" expanded="false"> - <param name="length" argument="-RNPxl:length" type="integer" optional="true" value="2" label="Oligonucleotide maximum length" help="0 = disable search for RNA variants"/> + <param name="length" argument="-RNPxl:length" type="integer" value="2" label="Oligonucleotide maximum length" help="0 = disable search for RNA variants"/> <param name="sequence" argument="-RNPxl:sequence" type="text" optional="true" value="" label="Sequence to restrict the generation of oligonucleotide chains" help="(disabled for empty sequence)"> <expand macro="list_string_san" name="sequence"/> </param> - <param name="target_nucleotides" argument="-RNPxl:target_nucleotides" type="text" optional="true" value="A=C10H14N5O7P C=C9H14N3O8P G=C10H14N5O8P U=C9H13N2O9P" label="format: target nucleotide=empirical formula of nucleoside monophosphate" help="e.g. A=C10H14N5O7P, ..., U=C10H14N5O7P, X=C9H13N2O8PS where X represents e.g. tU . or e.g. Y=C10H14N5O7PS where Y represents tG (space separated list, in order to allow for spaces in list items surround them by single quotes)"> + <param name="target_nucleotides" argument="-RNPxl:target_nucleotides" type="text" value="A=C10H14N5O7P C=C9H14N3O8P G=C10H14N5O8P U=C9H13N2O9P" label="format: target nucleotide=empirical formula of nucleoside monophosphate" help="e.g. A=C10H14N5O7P, ..., U=C10H14N5O7P, X=C9H13N2O8PS where X represents e.g. tU . or e.g. Y=C10H14N5O7PS where Y represents tG (space separated list, in order to allow for spaces in list items surround them by single quotes)"> <expand macro="list_string_val" name="target_nucleotides"/> <expand macro="list_string_san" name="target_nucleotides"/> </param> @@ -5999,22 +6072,22 @@ <expand macro="list_string_val" name="nt_groups"/> <expand macro="list_string_san" name="nt_groups"/> </param> - <param name="mapping" argument="-RNPxl:mapping" type="text" optional="true" value="A->A C->C G->G U->U" label="format: source->target e.g. A->A, ..., U->U, U->X" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)"> + <param name="mapping" argument="-RNPxl:mapping" type="text" value="A->A C->C G->G U->U" label="format: source->target e.g. A->A, ..., U->U, U->X" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)"> <expand macro="list_string_val" name="mapping"/> <expand macro="list_string_san" name="mapping"/> </param> - <param name="can_cross_link" argument="-RNPxl:can_cross_link" type="text" optional="true" value="U" label="format: 'U' if only U forms cross-links" help="'CATG' if C, A, G, and T form cross-links"> + <param name="can_cross_link" argument="-RNPxl:can_cross_link" type="text" value="U" label="format: 'U' if only U forms cross-links" help="'CATG' if C, A, G, and T form cross-links"> <expand macro="list_string_san" name="can_cross_link"/> </param> - <param name="fragment_adducts" argument="-RNPxl:fragment_adducts" type="text" optional="true" value="U:C9H10N2O5;U-H3PO4 U:C4H4N2O2;U' U:C4H2N2O1;U'-H2O U:C3O;C3O U:C9H13N2O9P1;U U:C9H11N2O8P1;U-H2O U:C9H12N2O6;U-HPO3" label="format: [target nucleotide]:[formula] or [precursor adduct]->[fragment adduct formula];[name]:" help="e.g., 'U:C9H10N2O5;U-H3PO4' or 'U:U-H2O->C9H11N2O8P1;U-H2O', (space separated list, in order to allow for spaces in list items surround them by single quotes)"> + <param name="fragment_adducts" argument="-RNPxl:fragment_adducts" type="text" value="U:C9H10N2O5;U-H3PO4 U:C4H4N2O2;U' U:C4H2N2O1;U'-H2O U:C3O;C3O U:C9H13N2O9P1;U U:C9H11N2O8P1;U-H2O U:C9H12N2O6;U-HPO3" label="format: [target nucleotide]:[formula] or [precursor adduct]->[fragment adduct formula];[name]:" help="e.g., 'U:C9H10N2O5;U-H3PO4' or 'U:U-H2O->C9H11N2O8P1;U-H2O', (space separated list, in order to allow for spaces in list items surround them by single quotes)"> <expand macro="list_string_val" name="fragment_adducts"/> <expand macro="list_string_san" name="fragment_adducts"/> </param> - <param name="modifications" argument="-RNPxl:modifications" type="text" optional="true" value="U: U:-H2O U:-H2O-HPO3 U:-HPO3" label="format: empirical formula e.g -H2O, ..., H2O+PO3" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)"> + <param name="modifications" argument="-RNPxl:modifications" type="text" value="U: U:-H2O U:-H2O-HPO3 U:-HPO3" label="format: empirical formula e.g -H2O, ..., H2O+PO3" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)"> <expand macro="list_string_val" name="modifications"/> <expand macro="list_string_san" name="modifications"/> </param> - <param name="scoring" argument="-RNPxl:scoring" type="select" optional="true" label="Scoring algorithm used in prescoring (fast: total-loss, slow: all losses)" help=""> + <param name="scoring" argument="-RNPxl:scoring" type="select" label="Scoring algorithm used in prescoring (fast: total-loss, slow: all losses)" help=""> <option value="fast" selected="true">fast</option> <option value="slow">slow</option> <expand macro="list_string_san" name="scoring"/> @@ -6024,12 +6097,12 @@ <param name="filter_fractional_mass" argument="-RNPxl:filter_fractional_mass" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use this flag to filter non-crosslinks by fractional mass" help=""/> <param name="carbon_labeled_fragments" argument="-RNPxl:carbon_labeled_fragments" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Generate fragment shifts assuming full labeling of carbon" help="(e.g. completely labeled U13)"/> <param name="only_xl" argument="-RNPxl:only_xl" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Only search cross-links and ignore non-cross-linked peptides" help=""/> - <param name="filter_small_peptide_mass" argument="-RNPxl:filter_small_peptide_mass" type="float" optional="true" value="600.0" label="Filter precursor that can only correspond to non-crosslinks by mass" help=""/> - <param name="marker_ions_tolerance" argument="-RNPxl:marker_ions_tolerance" type="float" optional="true" value="0.05" label="Tolerance used to determine marker ions (Da)" help=""/> + <param name="filter_small_peptide_mass" argument="-RNPxl:filter_small_peptide_mass" type="float" value="600.0" label="Filter precursor that can only correspond to non-crosslinks by mass" help=""/> + <param name="marker_ions_tolerance" argument="-RNPxl:marker_ions_tolerance" type="float" value="0.05" label="Tolerance used to determine marker ions (Da)" help=""/> </section> <expand macro="adv_opts_macro"> <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/> - <param argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help=""> + <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true"> <expand macro="list_string_san" name="test"/> </param> </expand> @@ -6047,7 +6120,8 @@ <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter> </data> </outputs> - <tests><!-- TOPP_RNPxlSearch_1 --> + <tests> + <!-- TOPP_RNPxlSearch_1 --> <test expect_num_outputs="2"> <section name="adv_opts"> <param name="force" value="false"/> @@ -6055,7 +6129,7 @@ </section> <param name="in" value="RNPxlSearch_1_input.mzML"/> <param name="database" value="RNPxlSearch_1_input.fasta"/> - <output name="out" file="RNPxlSearch_1_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> + <output name="out" value="RNPxlSearch_1_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> <section name="precursor"> <param name="mass_tolerance" value="20.0"/> <param name="mass_tolerance_unit" value="ppm"/> @@ -6068,7 +6142,6 @@ <param name="mass_tolerance_unit" value="ppm"/> </section> <section name="modifications"> - <param name="fixed"/> <param name="variable" value="Oxidation (M)"/> <param name="variable_max_per_peptide" value="2"/> </section> @@ -6085,7 +6158,6 @@ <param name="length" value="2"/> <param name="sequence" value="GUA"/> <param name="target_nucleotides" value=""A=C10H14N5O7P" "C=C9H14N3O8P" "G=C10H14N5O8P" "U=C9H13N2O9P""/> - <param name="nt_groups" value=""/> <param name="mapping" value=""A->A" "C->C" "G->G" "U->U""/> <param name="can_cross_link" value="U"/> <param name="fragment_adducts" value=""U:C9H10N2O5;U-H3PO4" "U:C4H4N2O2;U'" "U:C4H2N2O1;U'-H2O" "U:C3O;C3O" "U:C9H13N2O9P1;U" "U:C9H11N2O8P1;U-H2O" "U:C9H12N2O6;U-HPO3""/> @@ -6105,6 +6177,9 @@ <is_valid_xml/> </assert_contents> </output> + <assert_stdout> + <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/> + </assert_stdout> </test> <!-- TOPP_RNPxlSearch_2 --> <test expect_num_outputs="2"> @@ -6114,7 +6189,7 @@ </section> <param name="in" value="RNPxlSearch_1_input.mzML"/> <param name="database" value="RNPxlSearch_1_input.fasta"/> - <output name="out" file="RNPxlSearch_2_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> + <output name="out" value="RNPxlSearch_2_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> <section name="precursor"> <param name="mass_tolerance" value="20.0"/> <param name="mass_tolerance_unit" value="ppm"/> @@ -6127,7 +6202,6 @@ <param name="mass_tolerance_unit" value="ppm"/> </section> <section name="modifications"> - <param name="fixed"/> <param name="variable" value="Oxidation (M)"/> <param name="variable_max_per_peptide" value="2"/> </section> @@ -6144,7 +6218,6 @@ <param name="length" value="2"/> <param name="sequence" value="GUA"/> <param name="target_nucleotides" value=""A=C10H14N5O7P" "C=C9H14N3O8P" "G=C10H14N5O8P" "U=C9H13N2O9P""/> - <param name="nt_groups" value=""/> <param name="mapping" value=""A->A" "C->C" "G->G" "U->U""/> <param name="can_cross_link" value="U"/> <param name="fragment_adducts" value=""U:C9H10N2O5;U-H3PO4" "U:C4H4N2O2;U'" "U:C4H2N2O1;U'-H2O" "U:C3O;C3O" "U:C9H13N2O9P1;U" "U:C9H11N2O8P1;U-H2O" "U:C9H12N2O6;U-HPO3""/> @@ -6164,6 +6237,9 @@ <is_valid_xml/> </assert_contents> </output> + <assert_stdout> + <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/> + </assert_stdout> </test> <!-- TOPP_RNPxlSearch_3 --> <test expect_num_outputs="3"> @@ -6173,8 +6249,8 @@ </section> <param name="in" value="RNPxlSearch_1_input.mzML"/> <param name="database" value="RNPxlSearch_1_input.fasta"/> - <output name="out" file="RNPxlSearch_3_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> - <output name="out_tsv" file="RNPxlSearch_3_output2.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/> + <output name="out" value="RNPxlSearch_3_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> + <output name="out_tsv" value="RNPxlSearch_3_output2.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/> <section name="precursor"> <param name="mass_tolerance" value="10.0"/> <param name="mass_tolerance_unit" value="ppm"/> @@ -6187,8 +6263,6 @@ <param name="mass_tolerance_unit" value="ppm"/> </section> <section name="modifications"> - <param name="fixed"/> - <param name="variable"/> <param name="variable_max_per_peptide" value="2"/> </section> <section name="peptide"> @@ -6204,7 +6278,6 @@ <param name="length" value="2"/> <param name="sequence" value=""/> <param name="target_nucleotides" value=""A=C10H14N5O7P" "C=C9H14N3O8P" "G=C10H14N5O8P" "U=C9H13N2O9P""/> - <param name="nt_groups" value=""/> <param name="mapping" value=""A->A" "C->C" "G->G" "U->U""/> <param name="can_cross_link" value="U"/> <param name="fragment_adducts" value=""U:C9H10N2O5;U-H3PO4" "U:C4H4N2O2;U'" "U:C4H2N2O1;U'-H2O" "U:C3O;C3O" "U:C9H13N2O9P1;U" "U:C9H11N2O8P1;U-H2O" "U:C9H12N2O6;U-HPO3""/> @@ -6224,6 +6297,9 @@ <is_valid_xml/> </assert_contents> </output> + <assert_stdout> + <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/> + </assert_stdout> </test> <!-- TOPP_RNPxlSearch_4 --> <test expect_num_outputs="3"> @@ -6233,8 +6309,8 @@ </section> <param name="in" value="RNPxlSearch_1_input.mzML"/> <param name="database" value="RNPxlSearch_1_input.fasta"/> - <output name="out" file="RNPxlSearch_4_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> - <output name="out_tsv" file="RNPxlSearch_4_output2.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/> + <output name="out" value="RNPxlSearch_4_output.idXML" compare="sim_size" delta_frac="0.7" ftype="idxml"/> + <output name="out_tsv" value="RNPxlSearch_4_output2.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/> <section name="precursor"> <param name="mass_tolerance" value="10.0"/> <param name="mass_tolerance_unit" value="ppm"/> @@ -6247,8 +6323,6 @@ <param name="mass_tolerance_unit" value="ppm"/> </section> <section name="modifications"> - <param name="fixed"/> - <param name="variable"/> <param name="variable_max_per_peptide" value="2"/> </section> <section name="peptide"> @@ -6264,7 +6338,6 @@ <param name="length" value="2"/> <param name="sequence" value=""/> <param name="target_nucleotides" value=""A=C10H14N5O7P" "C=C9H14N3O8P" "G=C10H14N5O8P" "U=C9H13N2O9P""/> - <param name="nt_groups" value=""/> <param name="mapping" value=""A->A" "C->C" "G->G" "U->U""/> <param name="can_cross_link" value="U"/> <param name="fragment_adducts" value=""U:C9H10N2O5;U-H3PO4" "U:C4H4N2O2;U'" "U:C4H2N2O1;U'-H2O" "U:C3O;C3O" "U:C9H13N2O9P1;U" "U:C9H11N2O8P1;U-H2O" "U:C9H12N2O6;U-HPO3""/> @@ -6284,11 +6357,14 @@ <is_valid_xml/> </assert_contents> </output> + <assert_stdout> + <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/> + </assert_stdout> </test> </tests> <help><![CDATA[Annotate RNA/DNA-peptide cross-links in MS/MS spectra. -For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/UTILS_RNPxlSearch.html]]></help> +For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_RNPxlSearch.html]]></help> <expand macro="references"/> </tool>
--- a/fill_ctd_clargs.py Thu Dec 01 19:19:49 2022 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -#!/usr/bin/env python3 - -import operator -from argparse import ArgumentParser -from functools import reduce # forward compatibility for Python 3 -from io import StringIO - -from CTDopts.CTDopts import ( - _Null, - CTDModel, - ModelTypeError, - Parameters -) - - -def getFromDict(dataDict, mapList): - return reduce(operator.getitem, mapList, dataDict) - - -def setInDict(dataDict, mapList, value): - getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value - - -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 stdout", - add_help=False, allow_abbrev=False) - parser.add_argument("--ini_file", dest="ini_file", help="input ini file", - metavar='INI', default=None, required=True) - parser.add_argument("--ctd_file", dest="ctd_file", help="input ctd file" - "if given then optional parameters from the ini file" - "will be filled with the defaults from this CTD file", - metavar='CTD', default=None, required=False) - args, cliargs = parser.parse_known_args() - - # load CTDModel - ini_model = None - try: - ini_model = CTDModel(from_file=args.ini_file) - except ModelTypeError: - pass - try: - ini_model = Parameters(from_file=args.ini_file) - except ModelTypeError: - pass - assert ini_model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ini_file) - - # get a dictionary of the ctd arguments where the values of the parameters - # given on the command line are overwritten - ini_values = ini_model.parse_cl_args(cl_args=cliargs, ignore_required=True) - - if args.ctd_file: - ctd_model = CTDModel(from_file=args.ctd_file) - ctd_values = ctd_model.get_defaults() - for param in ini_model.get_parameters(): - if not param.required and (param.default is None or type(param.default) is _Null): - lineage = param.get_lineage(name_only=True) - try: - default = getFromDict(ctd_values, lineage) - except KeyError: - continue - setInDict(ini_values, lineage, default) - - # write the ctd with the values taken from the dictionary - out = StringIO() - ctd_tree = ini_model.write_ctd(out, ini_values) - print(out.getvalue())
--- a/generate-foo.sh Thu Dec 01 19:19:49 2022 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,215 +0,0 @@ -#!/usr/bin/env bash - -# parse test definitions from OpenMS sources for a tool with a given id -function get_tests2 { - id=$1 - >&2 echo "generate tests for $id" - echo '<xml name="autotest_'"$id"'">' - - # get the tests from the CMakeLists.txt - # 1st remove some tests - # - OpenSwathMzMLFileCacher with -convert_back argument https://github.com/OpenMS/OpenMS/issues/4399 - # - IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differentlt - # - several tools with duplicated input (leads to conflict when linking) - # - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456) - # - FileMerger with mixed dta dta2d input (ftype can not be specified in the test, dta can not be sniffed) - # - some input files are originally in a subdir (degenerated cases/), but not in test-data - # - OpenSwathAnalyzer 9/10: cachedMzML (not supported yet) - # - SiriusAdapter_4 depends on online service which may timeout .. so keep disabled https://github.com/OpenMS/OpenMS/pull/5010 - # - SiriusAdapter_10 should work in >2.8 https://github.com/OpenMS/OpenMS/issues/5869 - CMAKE=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | - sed 's@${DATA_DIR_SHARE}/@@g' | - grep -v 'OpenSwathMzMLFileCacher .*-convert_back' | - sed 's/${TMP_RIP_PATH}/""/' | - grep -v "MaRaClusterAdapter.*-consensus_out"| - grep -v "FileMerger_1_input1.dta2d.*FileMerger_1_input2.dta " | - sed 's@degenerate_cases/@@g' | - egrep -v 'TOPP_OpenSwathAnalyzer_test_3"|TOPP_OpenSwathAnalyzer_test_4"' | - sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/' | - grep -v '"TOPP_SiriusAdapter_10"') - - # 1st part is a dirty hack to join lines containing a single function call, e.g. - # addtest(.... - # ....) - echo "$CMAKE" | sed 's/#.*//; s/^\s*//; s/\s*$//' | grep -v "^#" | grep -v "^$" | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | - grep -iE "add_test\(\"(TOPP|UTILS)_.*/$id " | egrep -v "_prepare\"|_convert|WRITEINI|WRITECTD|INVALIDVALUE" | while read -r line - do - line=$(echo "$line" | sed 's/add_test("\([^"]\+\)"/\1/; s/)$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g') - # >&2 echo $line - test_id=$(echo "$line" | cut -d" " -f 1) - tool_id=$(echo "$line" | cut -d" " -f 2) - # >&2 echo "test_id $test_id" - if [[ $test_id =~ _out_?[0-9]? ]]; then - >&2 echo " skip $test_id $line" - continue - fi - if [[ ${id,,} != ${tool_id,,} ]]; then - >&2 echo " skip $test_id ($id != $tool_id) $line" - continue - fi - - #remove tests with set_tests_properties(....PROPERTIES WILL_FAIL 1) - if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then - >&2 echo " skip failing "$test_id - continue - fi - tes=" <test>\n" - line=$(fix_tmp_files "$line") - line=$(unique_files "$line") - # >&2 echo LINE $line - #if there is an ini file then we use this to generate the test - #otherwise the ctd file is used - #other command line parameters are inserted later into this xml - if grep -lq "\-ini" <<<"$line"; then - ini=$(echo $line | sed 's/.*-ini \([^ ]\+\).*/\1/') - ini="test-data/$ini" - else - ini="ctd/$tool_id.ctd" - fi - # >&2 echo "========================================================" - # >&2 echo "USING ini $ini" - cli=$(echo $line |cut -d" " -f3- | sed 's/-ini [^ ]\+//') - - ctdtmp=$(mktemp) - # using eval: otherwise for some reason quoted values are not used properly ('A B' -> ["'A", "B'"]) - # >&2 echo "python3 fill_ctd_clargs.py --ini_file $ini $cli" - eval "python3 fill_ctd_clargs.py --ini_file $ini $cli" > "$ctdtmp" - # >&2 echo $ctdtmp - # >&2 cat $ctdtmp - testtmp=$(mktemp) - # >&2 echo CTDConverter galaxy -i $ctdtmp -o $testtmp -s aux/tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf -p aux/hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib --test-condition "compare=sim_size" "delta_frac=0.7" - CTDConverter galaxy -i $ctdtmp -o $testtmp -s aux/tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf -p aux/hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib --test-condition "compare=sim_size" "delta_frac=0.7" > /dev/null - echo "<!-- $test_id -->" - cat $testtmp | grep -v '<output.*file=""' # | grep -v 'CHEMISTRY/' - - rm "$ctdtmp" "$testtmp" - - #> /dev/null - - #rm $testtmp - done - echo '</xml>' -} - -#some tests use the same file twice which does not work in planemo tests -#hence we create symlinks for each file used twice -function unique_files { - line=$@ - for arg in $@ - do - if [[ ! -f "test-data/$arg" ]]; then - continue - fi - cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n')) - while [[ $cnt -gt 1 ]]; do - new_arg=$(echo $arg | sed "s/\(.*\)\./\1_$cnt./") - ln -fs $arg test-data/$new_arg - line=$(echo $line | sed "s/\($arg.*\)$arg/\1$new_arg/") - cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n')) - done - done - - echo $line -} - -# options of out_type selects need to be fixed to Galaxy data types -function fix_out_type { - grep "^$1" "$2" | awk '{print $2}' -} - -#OpenMS tests output to tmp files and compare with FuzzyDiff to the expected file. -#problem: the extension of the tmp files is unusable for test generation. -#unfortunately the extensions used in the DIFF lines are not always usable for the CLI -#(e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt) -#this function replaces the tmp file by the expected file. -function fix_tmp_files { - # >&2 echo "FIX $line" - ret="" - for a in $@; do - # >&2 echo " a "$a - if [[ ! $a =~ .tmp$ ]] && [[ ! $a =~ _tmp_ ]]; then - ret="$ret $a" - continue - fi - diff_line=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep '\${DIFF}.*'"$a") - # >&2 echo " diff_line "$diff_line - in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$diff_line) - # >&2 echo " in1 "$in1 - if [[ "$a" != "$in1" ]]; then - ret="$ret $a" - continue - fi - in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$diff_line) - in2=$(basename $in2 | sed 's/)$//') - # >&2 echo " in2 "$in2 - if [[ -f "test-data/$in2" ]]; then - ln -fs "$in1" "test-data/$in2" - ret="$ret $in2" - else - ret="$ret $a" - fi - done -# >&2 echo "--> $ret" - echo "$ret" -} - -function link_tmp_files { - # note this also considers commented lines (starting with a #) - # because of tests where the diff command is commented and we - # still want to use the extension of these files - cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/^\s*//; s/\s*$//' | grep -v "^$" | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep "\${DIFF}" | while read -r line - do - in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$line) - in1=$(basename $in1 | sed 's/)$//') - in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$line) - in2=$(basename $in2 | sed 's/)$//') - if [[ "$in1" == "$in2" ]]; then - >&2 echo "not linking equal $in1 $in2" - continue - fi - ln -f -s $in1 test-data/$in2 - done - - find test-data/ -name "*.tmp" -print0 | - while IFS= read -r -d '' i; do - if [ ! -e test-data/$(basename $i .tmp) ]; then - ln -s $(basename $i) test-data/$(basename $i .tmp) - else - ln -fs $(basename $i) test-data/$(basename $i .tmp) - fi - done -} - - - -# parse data preparation calls from OpenMS sources for a tool with a given id -function prepare_test_data { -# id=$1 -# | egrep -i "$id\_.*[0-9]+(_prepare\"|_convert)?" - - # TODO SiriusAdapter depends on online service which may timeout .. so keep disabled https://github.com/OpenMS/OpenMS/pull/5010 - cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/#.*$//'| sed 's/^\s*//; s/\s*$//' | grep -v "^$" | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | - sed 's/degenerate_cases\///' | - egrep -v "WRITEINI|WRITECTD|INVALIDVALUE|DIFF" | - grep add_test | - egrep "TOPP|UTILS" | - sed 's@${DATA_DIR_SHARE}/@@g;'| - sed 's@${TMP_RIP_PATH}@./@g'| - sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @'| - sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/' | - while read line - do - test_id=$(echo "$line" | sed 's/add_test(//; s/"//g; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f1) - - if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then - >&2 echo " skip failing "$test_id - continue - fi - - line=$(echo "$line" | sed 's/add_test("//; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f2-) - # line="$(fix_tmp_files $line)" - echo 'echo executing "'$test_id'"' - echo "$line > $test_id.stdout 2> $test_id.stderr" - echo "if [[ \"\$?\" -ne \"0\" ]]; then >&2 echo '$test_id failed'; >&2 echo -e \"stderr:\n\$(cat $test_id.stderr | sed 's/^/ /')\"; echo -e \"stdout:\n\$(cat $test_id.stdout)\";fi" - done -}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/get_tests.py Fri Jun 14 21:44:45 2024 +0000 @@ -0,0 +1,344 @@ +#!/usr/bin/env python + +import argparse +import os.path +import re +import shlex +import sys +import tempfile +from typing import ( + Dict, + List, + Optional, + TextIO, + Tuple, +) + +from ctdconverter.common.utils import ( + ParameterHardcoder, + parse_hardcoded_parameters, + parse_input_ctds, +) +from ctdconverter.galaxy.converter import convert_models +from CTDopts.CTDopts import ( + CTDModel, + ModelTypeError, + Parameters, +) + +SKIP_LIST = [ + r"_prepare\"", + r"_convert", + r"WRITEINI", + r"WRITECTD", + r"INVALIDVALUE", + r"\.ini\.json", + r"OpenSwathMzMLFileCacher .*-convert_back", # - OpenSwathMzMLFileCacher with -convert_back argument https://github.com/OpenMS/OpenMS/issues/4399 + r"MaRaClusterAdapter.*-consensus_out", # - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456) + r"FileMerger_1_input1.dta2d.*FileMerger_1_input2.dta ", # - FileMerger with mixed dta dta2d input (ftype can not be specified in the test, dta can not be sniffed) + r'^(TOPP_OpenSwathAnalyzer_test_3|TOPP_OpenSwathAnalyzer_test_4)$', # no suppert for cached mzML + r'TOPP_SiriusAdapter_[0-9]+$', # Do not test SiriusAdapter https://github.com/OpenMS/OpenMS/issues/7000 .. will be removed anyway + r'TOPP_AssayGeneratorMetabo_(7|8|9|10|11|12|13|14|15|16|17|18)$' # Skip AssayGeneratorMetabo tests using Sirius https://github.com/OpenMS/OpenMS/issues/7150 (will be replaced by two tools) +] + + +def get_failing_tests(cmake: List[str]) -> List[str]: + failing_tests = [] + re_fail = re.compile(r"set_tests_properties\(\"([^\"]+)\" PROPERTIES WILL_FAIL 1\)") + + for cmake in args.cmake: + with open(cmake) as cmake_fh: + for line in cmake_fh: + match = re_fail.search(line) + if match: + failing_tests.append(match.group(1)) + return failing_tests + + +def fix_tmp_files(line: str, diff_pairs: Dict[str, str]) -> str: + """ + OpenMS tests output to tmp files and compare with FuzzyDiff to the expected file. + problem: the extension of the tmp files is unusable for test generation. + unfortunately the extensions used in the DIFF lines are not always usable for the CLI + (e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt) + this function replaces the tmp file by the expected file. + """ + cmd = shlex.split(line) + for i, e in enumerate(cmd): + if e in diff_pairs: + dst = os.path.join("test-data", diff_pairs[e]) + if os.path.exists(dst): + os.unlink(dst) + sys.stderr.write(f"symlink {e} {dst}\n") + os.symlink(e, dst) + cmd[i] = diff_pairs[e] + return shlex.join(cmd) + + +def get_ini(line: str, tool_id: str) -> Tuple[str, str]: + """ + if there is an ini file then we use this to generate the test + otherwise the ctd file is used + other command line parameters are inserted later into this xml + """ + cmd = shlex.split(line) + ini = None + for i, e in enumerate(cmd): + if e == "-ini": + ini = cmd[i + 1] + cmd = cmd[:i] + cmd[i + 2:] + if ini: + return os.path.join("test-data", ini), shlex.join(cmd) + else: + return os.path.join("ctd", f"{tool_id}.ctd"), line + + +def unique_files(line: str): + """ + some tests use the same file twice which does not work in planemo tests + hence we create symlinks for each file used twice + """ + cmd = shlex.split(line) + # print(f"{cmd}") + files = {} + # determine the list of indexes where each file argument (anything appearing in test-data/) appears + for idx, e in enumerate(cmd): + p = os.path.join("test-data", e) + if not os.path.exists(p) and not os.path.islink(p): + continue + try: + files[e].append(idx) + except KeyError: + files[e] = [idx] + # print(f"{files=}") + for f in files: + if len(files[f]) < 2: + continue + for i, idx in enumerate(files[f]): + f_parts = f.split(".") + f_parts[0] = f"{f_parts[0]}_{i}" + new_f = ".".join(f_parts) + # if os.path.exists(os.path.join("test-data", new_f)): + # os.unlink(os.path.join("test-data", new_f)) + sys.stderr.write( + f'\tsymlink {os.path.join("test-data", new_f)} {f}\n' + ) + try: + os.symlink(f, os.path.join("test-data", new_f)) + except FileExistsError: + pass + cmd[idx] = new_f + return shlex.join(cmd) + + +def fill_ctd_clargs(ini: str, line: str, ctd_tmp: TextIO) -> None: + cmd = shlex.split(line) + + # load CTDModel + ini_model = None + try: + ini_model = CTDModel(from_file=ini) + except ModelTypeError: + pass + try: + ini_model = Parameters(from_file=ini) + except ModelTypeError: + pass + assert ini_model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % ( + args.ini_file + ) + + # get a dictionary of the ctd arguments where the values of the parameters + # given on the command line are overwritten + ini_values = ini_model.parse_cl_args(cl_args=cmd, ignore_required=True) + ini_model.write_ctd(ctd_tmp, ini_values) + + +def process_test_line( + id: str, + line: str, + failing_tests: List[str], + skip_list: List[str], + diff_pairs: Dict[str, str], +) -> Optional[str]: + + re_test_id = re.compile(r"add_test\(\"([^\"]+)\" ([^ ]+) (.*)") + re_id_out_test = re.compile(r"_out_?[0-9]?") + + # TODO auto extract from set(OLD_OSW_PARAM ... lin + line = line.replace( + "${OLD_OSW_PARAM}", + " -test -mz_extraction_window 0.05 -mz_extraction_window_unit Th -ms1_isotopes 0 -Scoring:TransitionGroupPicker:compute_peak_quality -Scoring:Scores:use_ms1_mi false -Scoring:Scores:use_mi_score false", + ) + + line = line.replace("${TOPP_BIN_PATH}/", "") + line = line.replace("${DATA_DIR_TOPP}/", "") + line = line.replace("THIRDPARTY/", "") + line = line.replace("${DATA_DIR_SHARE}/", "") + # IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differently + line = line.replace("${TMP_RIP_PATH}/", "") + # some input files are originally in a subdir (degenerated cases/), but not in test-data + line = line.replace("degenerate_cases/", "") + # determine the test and tool ids and remove the 1) add_test("TESTID" 2) trailing ) + match = re_test_id.match(line) + if not match: + sys.exit(f"Ill formated test line {line}\n") + test_id = match.group(1) + tool_id = match.group(2) + + line = f"{match.group(2)} {match.group(3)}" + + if test_id in failing_tests: + sys.stderr.write(f" skip failing {test_id} {line}\n") + return + + if id != tool_id: + sys.stderr.write(f" skip {test_id} ({id} != {tool_id}) {line}\n") + return + + if re_id_out_test.search(test_id): + sys.stderr.write(f" skip {test_id} {line}\n") + return + + for skip in skip_list: + if re.search(skip, line): + return + if re.search(skip, test_id): + return + + line = fix_tmp_files(line, diff_pairs) + # print(f"fix {line=}") + line = unique_files(line) + # print(f"unq {line=}") + ini, line = get_ini(line, tool_id) + + from dataclasses import dataclass, field + + @dataclass + class CTDConverterArgs: + input_files: list + output_destination: str + default_executable_path: Optional[str] = None + hardcoded_parameters: Optional[str] = None + parameter_hardcoder: Optional[ParameterHardcoder] = None + xsd_location: Optional[str] = None + formats_file: Optional[str] = None + add_to_command_line: str = "" + required_tools_file: Optional[str] = None + skip_tools_file: Optional[str] = None + macros_files: Optional[List[str]] = field(default_factory=list) + test_macros_files: Optional[List[str]] = field(default_factory=list) + test_macros_prefix: Optional[List[str]] = field(default_factory=list) + test_test: bool = False + test_only: bool = False + test_unsniffable: Optional[List[str]] = field(default_factory=list) + test_condition: Optional[List[str]] = ("compare=sim_size", "delta_frac=0.05") + tool_version: str = None + tool_profile: str = None + bump_file: str = None + + # create an ini/ctd file where the values are equal to the arguments from the command line + # and transform it to xml + test = [f"<!-- {test_id} -->\n"] + with tempfile.NamedTemporaryFile( + mode="w+", delete_on_close=False + ) as ctd_tmp, tempfile.NamedTemporaryFile( + mode="w+", delete_on_close=False + ) as xml_tmp: + fill_ctd_clargs(ini, line, ctd_tmp) + ctd_tmp.close() + xml_tmp.close() + parsed_ctd = parse_input_ctds(None, [ctd_tmp.name], xml_tmp.name, "xml") + ctd_args = CTDConverterArgs( + input_files=[ctd_tmp.name], + output_destination=xml_tmp.name, + macros_files=["macros.xml"], + skip_tools_file="aux/tools_blacklist.txt", + formats_file="aux/filetypes.txt", + # tool_conf_destination = "tool.conf", + hardcoded_parameters="aux/hardcoded_params.json", + tool_version="3.1", + test_only=True, + test_unsniffable=[ + "csv", + "tsv", + "txt", + "dta", + "dta2d", + "edta", + "mrm", + "splib", + ], + test_condition=["compare=sim_size", "delta_frac=0.7"], + ) + ctd_args.parameter_hardcoder = parse_hardcoded_parameters( + ctd_args.hardcoded_parameters + ) + convert_models(ctd_args, parsed_ctd) + xml_tmp = open(xml_tmp.name, "r") + for l in xml_tmp: + test.append(l) + + return "".join(test) + + +parser = argparse.ArgumentParser(description="Create Galaxy tests for a OpenMS tools") +parser.add_argument("--id", dest="id", help="tool id") +parser.add_argument("--cmake", nargs="+", help="OpenMS test CMake files") +args = parser.parse_args() +sys.stderr.write(f"generate tests for {args.id}\n") + +re_comment = re.compile("#.*") +re_empty_prefix = re.compile(r"^\s*") +re_empty_suffix = re.compile(r"\s*$") +re_add_test = re.compile(r"add_test\(\"(TOPP|UTILS)_.*/" + args.id) +re_diff = re.compile(r"\$\{DIFF\}.* -in1 ([^ ]+) -in2 ([^ ]+)") +failing_tests = get_failing_tests(args.cmake) +tests = [] + +# process the given CMake files and compile lists of +# - test lines .. essentially add_test(...) +# - and pairs of files that are diffed +jline = "" +test_lines = [] +diff_pairs = {} +for cmake in args.cmake: + with open(cmake) as cmake_fh: + for line in cmake_fh: + # remove comments, empty prefixes and suffixes + line = re_comment.sub("", line) + line = re_empty_prefix.sub("", line) + line = re_empty_suffix.sub("", line) + # skip empty lines + if line == "": + continue + + # join test statements that are split over multiple lines + if line.endswith(")"): + jline += " " + line[:-1] + else: + jline = line + continue + line, jline = jline.strip(), "" + match = re_diff.search(line) + if match: + in1 = match.group(1).split("/")[-1] + in2 = match.group(2).split("/")[-1] + if in1 != in2: + diff_pairs[in1] = in2 + elif re_add_test.match(line): + test_lines.append(line) + +for line in test_lines: + test = process_test_line(args.id, line, failing_tests, SKIP_LIST, diff_pairs) + if test: + tests.append(test) + +tests = "\n".join(tests) +print( + f""" +<xml name="autotest_{args.id}"> +{tests} +</xml> +""" +)
--- a/macros.xml Thu Dec 01 19:19:49 2022 +0000 +++ b/macros.xml Fri Jun 14 21:44:45 2024 +0000 @@ -3,19 +3,19 @@ You can edit this file to add your own macros, if you so desire, or you can add additional macro files using the m/macros parameter --> <macros> - <token name="@TOOL_VERSION@">2.8</token> + <token name="@TOOL_VERSION@">3.1</token> <token name="@VERSION_SUFFIX@">0</token> + <token name="@TEST_DATA_LOCATION@"/> <xml name="requirements"> <requirements> <requirement type="package" version="@TOOL_VERSION@">openms</requirement> <requirement type="package" version="@TOOL_VERSION@">openms-thirdparty</requirement> <!-- omssa (which has been excluded from 3rdparty) and makeblastdb for OMSSAAdapter --> - <requirement type="package" version="2.1.9">omssa</requirement> - <requirement type="package" version="2.13.0">blast</requirement> + <requirement type="package" version="2.14.1">blast</requirement> <!--<requirement type="package" version="5.0.0">tpp</requirement>--> <!-- for realpath (used e.g. in LuciphorAdapter) --> <!--<requirement type="package" version="8.25">coreutils</requirement>--> - <requirement type="package" version="1.4">ctdopts</requirement> + <requirement type="package" version="1.5">ctdopts</requirement> <yield/> </requirements> </xml> @@ -26,6 +26,8 @@ <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"/> + <regex match="OMSSA ran out of RAM" level="fatal_oom" description="Could not allocate memory"/> + <regex match="comet' crashed hard (segfault-like). Please check the log." level="fatal_oom" description="Could not allocate memory"/> </stdio> </xml> <xml name="references"> @@ -113,11 +115,11 @@ </token> <token name="@EXT_FOO@"><![CDATA[#def oms2gxyext(o) - #set m={'txt': 'txt', 'tsv': 'tabular', 'bioml': 'xml', 'consensusXML': 'consensusxml', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fa': 'fasta', 'fas': 'fasta', 'fasta': 'fasta', 'FASTA': 'fasta', 'featureXML': 'featurexml', 'featurexml': 'featurexml', 'html': 'html', 'HTML': 'html', 'idXML': 'idxml', 'json': 'json', 'kroenik': 'kroenik', 'mascotXML': 'mascotxml', 'mgf': 'mgf', 'mrm': 'mrm', 'ms': 'sirius.ms', 'ms2': 'ms2', 'msp': 'msp', 'mzData': 'mzdata', 'mzid': 'mzid', 'mzML': 'mzml', 'mzml': 'mzml', 'mzq': 'mzq', 'mzQC': 'mzqc', 'mzTab': 'mztab', 'mzXML': 'mzxml', 'novor': 'txt', 'obo': 'obo', 'oms': 'sqlite', 'omssaXML': 'idxml', 'osw': 'osw', 'OSW': 'osw', 'params': 'txt', 'paramXML': 'paramxml', 'peplist': 'peplist', 'pep.xml': 'pepxml', 'pepXML': 'pepxml', 'png': 'png', 'PNG': 'png', 'protXML': 'protxml', 'psms': 'psms', 'pqp': 'pqp', 'qcML': 'qcml', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqMass': 'sqmass', 'tandem.xml': 'tandem', 'trafoXML': 'trafoxml', 'traML': 'traml', 'TraML': 'traml', 'tab': 'tabular', 'raw': 'thermo.raw', 'xls': 'tsv', 'XML': 'xml', 'xml': 'xml', 'xquest.xml': 'xquest.xml', 'xsd': 'xml'} + #set m={'txt': 'txt', 'tsv': 'tabular', 'bioml': 'xml', 'consensusXML': 'consensusxml', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fa': 'fasta', 'fas': 'fasta', 'fasta': 'fasta', 'FASTA': 'fasta', 'featureXML': 'featurexml', 'featurexml': 'featurexml', 'html': 'html', 'HTML': 'html', 'idXML': 'idxml', 'json': 'json', 'kroenik': 'kroenik', 'mascotXML': 'mascotxml', 'mgf': 'mgf', 'mrm': 'mrm', 'ms': 'sirius.ms', 'ms2': 'ms2', 'msp': 'msp', 'mzData': 'mzdata', 'mzid': 'mzid', 'mzML': 'mzml', 'mzml': 'mzml', 'mzq': 'mzq', 'mzQC': 'mzqc', 'mzTab': 'mztab', 'mzXML': 'mzxml', 'novor': 'txt', 'obo': 'obo', 'oms': 'sqlite', 'omssaXML': 'idxml', 'osw': 'osw', 'OSW': 'osw', 'params': 'txt', 'paramXML': 'paramxml', 'peplist': 'peplist', 'pep.xml': 'pepxml', 'pepXML': 'pepxml', 'png': 'png', 'PNG': 'png', 'protXML': 'protxml', 'psms': 'psms', 'pqp': 'pqp', 'qcML': 'qcml', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqMass': 'sqmass', 'tandem.xml': 'tandem', 'trafoXML': 'trafoxml', 'traML': 'traml', 'TraML': 'traml', 'tab': 'tabular', 'raw': 'thermo.raw', 'xls': 'tsv', 'XML': 'xml', 'xml': 'xml', 'xquest.xml': 'xquest.xml', 'xsd': 'xsd', 'zip': 'zip'} #return m[o] #end def #def gxy2omsext(g) - #set m={'txt': 'txt', 'tabular': 'tsv', 'xml': 'bioml', 'consensusxml': 'consensusXML', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fasta': 'fa', 'featurexml': 'featureXML', 'html': 'html', 'idxml': 'idXML', 'json': 'json', 'kroenik': 'kroenik', 'mascotxml': 'mascotXML', 'mgf': 'mgf', 'mrm': 'mrm', 'sirius.ms': 'ms', 'ms2': 'ms2', 'msp': 'msp', 'mzdata': 'mzData', 'mzid': 'mzid', 'mzml': 'mzML', 'mzq': 'mzq', 'mzqc': 'mzQC', 'mztab': 'mzTab', 'mzxml': 'mzXML', 'obo': 'obo', 'sqlite': 'oms', 'osw': 'osw', 'paramxml': 'paramXML', 'peff': 'fasta', 'peplist': 'peplist', 'pepxml': 'pep.xml', 'png': 'png', 'protxml': 'protXML', 'psms': 'psms', 'pqp': 'pqp', 'qcml': 'qcML', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqmass': 'sqMass', 'tandem': 'tandem.xml', 'trafoxml': 'trafoXML', 'traml': 'traML', 'thermo.raw': 'raw', 'tsv': 'xls', 'xquest.xml': 'xquest.xml'} + #set m={'txt': 'txt', 'tabular': 'tsv', 'xml': 'bioml', 'consensusxml': 'consensusXML', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fasta': 'fa', 'featurexml': 'featureXML', 'html': 'html', 'idxml': 'idXML', 'json': 'json', 'kroenik': 'kroenik', 'mascotxml': 'mascotXML', 'mgf': 'mgf', 'mrm': 'mrm', 'sirius.ms': 'ms', 'ms2': 'ms2', 'msp': 'msp', 'mzdata': 'mzData', 'mzid': 'mzid', 'mzml': 'mzML', 'mzq': 'mzq', 'mzqc': 'mzQC', 'mztab': 'mzTab', 'mzxml': 'mzXML', 'obo': 'obo', 'sqlite': 'oms', 'osw': 'osw', 'paramxml': 'paramXML', 'peff': 'fasta', 'peplist': 'peplist', 'pepxml': 'pep.xml', 'png': 'png', 'protxml': 'protXML', 'psms': 'psms', 'pqp': 'pqp', 'qcml': 'qcML', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqmass': 'sqMass', 'tandem': 'tandem.xml', 'trafoxml': 'trafoXML', 'traml': 'traML', 'thermo.raw': 'raw', 'tsv': 'xls', 'xquest.xml': 'xquest.xml', 'xsd': 'xsd', 'zip': 'zip'} #return m[g] #end def ]]></token></macros>
--- a/prepare_test_data_manual.sh Thu Dec 01 19:19:49 2022 +0000 +++ b/prepare_test_data_manual.sh Fri Jun 14 21:44:45 2024 +0000 @@ -1,8 +1,3 @@ -MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible > MSSimulator_1.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - -MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator_MALDI.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible -algorithm:MSSim:Global:ionization_type MALDI > MSSimulator_2.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi ClusterMassTracesByPrecursor -test -in_ms1 ConsensusMapNormalizer_input.consensusXML -in_swath ConsensusMapNormalizer_input.consensusXML -out ClusterMassTracesByPrecursor.mzml > ClusterMassTracesByPrecursor.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'ClusterMassTracesByPrecursor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi @@ -13,8 +8,7 @@ CVInspector -test -cv_files CHEMISTRY/XLMOD.obo -cv_names XLMOD -mapping_file MAPPING/ms-mapping.xml -html CVInspector.html > CVInspector.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'CVInspector failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -DeMeanderize -test -in MSsimulator_MALDI.mzml -out DeMeanderize.mzml > DeMeanderize.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'DeMeanderize failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi +# TODO DeMeanderize # TODO DigestorMotif @@ -30,26 +24,17 @@ if [[ "$?" -ne "0" ]]; then >&2 echo 'FeatureFinderIsotopeWavelet failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -FFEval -test -in FeatureFinderCentroided_1_output.featureXML -truth FeatureFinderCentroided_1_output.featureXML -out FFEval.featureXML -out_roc FFEval_roc.csv > FFEval.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'FFEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - # TODO? deprecated IDDecoyProbability IDExtractor -test -in MSGFPlusAdapter_1_out.idXML -best_hits -number_of_peptides 1 -out IDExtractor.idXML > IDExtractor.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'IDExtractor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -LabeledEval -test -in FeatureLinkerLabeled_1_input.featureXML -truth FeatureLinkerLabeled_1_output.consensusXML> LabeledEval.txt > LabeledEval.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'LabeledEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - MapStatistics -test -in SiriusAdapter_3_input.featureXML -out MapStatistics.txt > MapStatistics_1.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi MapStatistics -test -in ConsensusXMLFile_1.consensusXML -out MapStatistics2.txt > MapStatistics_2.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -MetaboliteAdductDecharger -test -in Decharger_input.featureXML -out_cm MetaboliteAdductDecharger_cm.consensusXML -out_fm MetaboliteAdductDecharger_fm.featureXML -outpairs MetaboliteAdductDecharger_pairs.consensusXML > MetaboliteAdductDecharger.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteAdductDecharger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - MetaboliteSpectralMatcher -test -in spectra.mzML -database MetaboliteSpectralDB.mzML -out MetaboliteSpectralMatcher.mzTab > MetaboliteSpectralMatcher.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteSpectralMatcher failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi @@ -68,20 +53,6 @@ OpenSwathRewriteToFeatureXML -featureXML OpenSwathFeatureXMLToTSV_input.featureXML -out OpenSwathRewriteToFeatureXML.featureXML > OpenSwathRewriteToFeatureXML.stdout 2> stderr # if [[ "$?" -ne "0" ]]; then >&2 echo 'OpenSwathRewriteToFeatureXML failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -# adapted from the commented tests in OpenMS TODO may be removed later https://github.com/OpenMS/OpenMS/issues/4719 -FileConverter -in PepNovo.mzXML -out PepNovo_1.mzML > /dev/null 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - -PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_1.mzML -out PepNovoAdapter_3_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - -FileConverter -in PepNovo.mzData -out PepNovo_4.mzML > /dev/null 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_4.mzML -out PepNovoAdapter_4_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - -#PepNovoAdapter -ini PepNovoAdapter_5_parameters.ini -in PepNovoAdapter_5_output.pepnovo_out -out PepNovoAdapter_5_output.idXML -model_directory pepnovo_models/ - # TODO PhosphoScoring 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 @@ -118,9 +89,6 @@ RNPxlXICFilter -test -control FileFilter_1_input.mzML -treatment FileFilter_1_input.mzML -out RNPxlXICFilter.mzML > RNPxlXICFilter.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'RNPxlXICFilter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -RTEvaluation -in PeptideIndexer_1.idXML -out RTEvaluation.tsv > RTEvaluation.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'RTEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - SemanticValidator -test -in FileFilter_1_input.mzML -mapping_file MAPPING/ms-mapping.xml > SemanticValidator.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'SemanticValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi @@ -152,13 +120,8 @@ SpectraFilterThresholdMower -test -in SpectraFilterSqrtMower_1_input.mzML -out SpectraFilterThresholdMower.mzML > SpectraFilterThresholdMower.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterThresholdMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -SpectraMerger -test -in NovorAdapter_in.mzML -out SpectraMerger_1.mzML > SpectraMerger.stdout 2> stderr +SpectraMerger -test -in NovorAdapter_in.mzML -out SpectraMerger_1.mzML -algorithm:average_gaussian:ms_level 2 > SpectraMerger.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraMerger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi -# TODO SvmTheoreticalSpectrumGeneratorTrainer - -TransformationEvaluation -test -in FileInfo_16_input.trafoXML -out TransformationEvaluation.trafoXML > TransformationEvaluation.stdout 2> stderr -if [[ "$?" -ne "0" ]]; then >&2 echo 'TransformationEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi - XMLValidator -test -in FileFilter_1_input.mzML > XMLValidator.stdout 2> stderr if [[ "$?" -ne "0" ]]; then >&2 echo 'XMLValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/ /')"; fi
--- a/readme.md Thu Dec 01 19:19:49 2022 +0000 +++ b/readme.md Fri Jun 14 21:44:45 2024 +0000 @@ -11,7 +11,7 @@ * https://www.openms.de/ The wrappers for these tools and most of their tests are automatically -generated using the `generate.sh` script. The generation of the tools is +generated using the `./aux/generate.sh` script. The generation of the tools is based on the CTDConverter (https://github.com/WorkflowConversion/CTDConverter) which can be fine tuned via the `hardcoded_params.json` file. This file allows to blacklist and hardcode parameters and to modify or set arbitrary @@ -129,15 +129,6 @@ Open problems ============= -Some tools stall in CI testing using `--biocontainers` which is why the OpenMS -tools are currently listed in `.tt_biocontainer_skip`. This is - -- AssayGeneratorMetabo and SiriusAdapter (both depend on sirius) -- OMSSAAdapter - -Using `docker -t` seems to solve the problem (see -https://github.com/galaxyproject/galaxy/issues/10153). - Licence (MIT) =============
--- a/test-data.sh Thu Dec 01 19:19:49 2022 +0000 +++ b/test-data.sh Fri Jun 14 21:44:45 2024 +0000 @@ -1,11 +1,10 @@ #!/usr/bin/env bash -VERSION=2.8 +# set -x + +VERSION=3.1 FILETYPES="aux/filetypes.txt" -CONDAPKG="https://anaconda.org/bioconda/openms/2.8.0/download/linux-64/openms-2.8.0-h7ca0330_0.tar.bz2" - -# import the magic -. ./generate-foo.sh +CONDAPKG="https://anaconda.org/bioconda/openms/3.1.0/download/linux-64/openms-3.1.0-h8964181_1.tar.bz2" # install conda if [ -z "$tmp" ]; then @@ -45,17 +44,20 @@ echo "Clone OpenMS $VERSION sources" if [[ ! -d $OPENMSGIT ]]; then - # TODO >2.8 reenable original release branch .. also in else branch - # the plus branch contains commits from https://github.com/OpenMS/OpenMS/pull/5920 and https://github.com/OpenMS/OpenMS/pull/5917 - # git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git $OPENMSGIT - git clone -b release/$VERSION.0-plus https://github.com/bernt-matthias/OpenMS.git $OPENMSGIT - cd $OPENMSGIT - git submodule init - git submodule update - cd - + if [[ "$created" == "yes" ]]; then + GIT_DIR=$(mktemp -d --dry-run) + GIT_EXTRA_OPTS="--separate-git-dir=$GIT_DIR" + fi + git clone -b release/$VERSION.0 --depth 1 --recurse-submodules=THIRDPARTY --shallow-submodules $GIT_EXTRA_OPTS https://github.com/OpenMS/OpenMS.git $OPENMSGIT + ## save some space by just keeping the needed binaries + find $OPENMSGIT/THIRDPARTY/ -type f -not \( -name maracluster -o -name spectrast \) -delete + find $OPENMSGIT/THIRDPARTY/ -empty -type d -delete + if [[ "$created" == "yes" ]]; then + rm -rf $GIT_DIR + fi else cd $OPENMSGIT - git pull origin release/$VERSION.0-plus + git pull origin release/$VERSION.0 cd - fi @@ -65,7 +67,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 -n $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION omssa=2.1.9 ctdopts=1.5 lxml + conda create -y --quiet --solver libmamba --override-channels --strict-channel-priority --channel conda-forge --channel bioconda -n $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION ctdopts=1.5 lxml # chmod -R u-w $OPENMSENV fi ############################################################################### @@ -101,33 +103,34 @@ conda deactivate -# ############################################################################### -# ## copy all the test data files to test-data -# ## most of it (outputs) will be overwritten later, but its needed for -# ## prepare_test_data -# ############################################################################### +# # ############################################################################### +# # ## copy all the test data files to test-data +# # ## most of it (outputs) will be overwritten later, but its needed for +# # ## prepare_test_data +# # ############################################################################### echo "Get test data" -find test-data -type f,l,d ! -name "*fa" ! -name "*loc" ! -name "test-data" -delete +find test-data -type f,l,d ! -name "*fa" ! -name "*loc" ! -name "test-data" ! -name MetaboliteSpectralDB.mzML -delete cp $(find $OPENMSGIT/src/tests/topp/ -type f | grep -Ev "third_party_tests.cmake|CMakeLists.txt|check_ini") test-data/ cp -r $OPENMSGIT/share/OpenMS/MAPPING/ test-data/ cp -r $OPENMSGIT/share/OpenMS/CHEMISTRY test-data/ cp -r $OPENMSGIT/share/OpenMS/examples/ test-data/ if [ ! -f test-data/MetaboliteSpectralDB.mzML ]; then - wget -nc https://abibuilder.cs.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML + wget -nc https://raw.githubusercontent.com/sneumann/OpenMS/master/share/OpenMS/CHEMISTRY/MetaboliteSpectralDB.mzML + # wget -nc https://abibuilder.cs.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML mv MetaboliteSpectralDB.mzML test-data/ fi ln -fs TOFCalibration_ref_masses test-data/TOFCalibration_ref_masses.txt ln -fs TOFCalibration_const test-data/TOFCalibration_const.csv -if [ ! -d test-data/pepnovo_models/ ]; then - mkdir -p /tmp/pepnovo - wget -nc http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip - unzip PepNovo.20120423.zip -d /tmp/pepnovo/ - mv /tmp/pepnovo/Models test-data/pepnovo_models/ - rm PepNovo.20120423.zip - rm -rf /tmp/pepnovo -fi +# if [ ! -d test-data/pepnovo_models/ ]; then +# mkdir -p /tmp/pepnovo +# wget -nc http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip +# unzip PepNovo.20120423.zip -d /tmp/pepnovo/ +# mv /tmp/pepnovo/Models test-data/pepnovo_models/ +# rm PepNovo.20120423.zip +# rm -rf /tmp/pepnovo +# fi ############################################################################### ## generate ctd files using the binaries in the conda package ############################################################################### @@ -170,6 +173,47 @@ ############################################################################### ## create script to create results for the tests and run it ############################################################################### +# parse data preparation calls from OpenMS sources for a tool with a given id +function prepare_test_data { +# id=$1 +# | egrep -i "$id\_.*[0-9]+(_prepare\"|_convert)?" + + OLD_OSW_PARAM=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt |sed 's/#.*$//'| sed 's/^\s*//; s/\s*$//' |awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep OLD_OSW_PARAM | head -n 1 | sed 's/^[^"]\+//; s/)$//; s/"//g') + # TODO SiriusAdapter depends on online service which may timeout .. so keep disabled https://github.com/OpenMS/OpenMS/pull/5010 + cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | + sed "s/\${OLD_OSW_PARAM}/$OLD_OSW_PARAM/" | + grep -v "\.ini\.json" | + sed 's/.ini.json /ini /' | + sed 's/#.*$//'| + sed 's/^\s*//; s/\s*$//' | + grep -v "^$" | + awk '{printf("%s@NEWLINE@", $0)}' | + sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | + sed 's/degenerate_cases\///' | + egrep -v "WRITEINI|WRITECTD|INVALIDVALUE|DIFF" | + grep add_test | + egrep "TOPP|UTILS" | + sed 's@${DATA_DIR_SHARE}/@@g;'| + sed 's@${TMP_RIP_PATH}@./@g'| + sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @'| + sed 's/\("TOPP_SiriusAdapter_4".*\)-sirius:database all\(.*\)/\1-sirius:database pubchem\2/' | + while read line + do + test_id=$(echo "$line" | sed 's/add_test(//; s/"//g; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f1) + + if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then + >&2 echo " skip failing "$test_id + continue + fi + + line=$(echo "$line" | sed 's/add_test("//; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f2-) + # line="$(fix_tmp_files $line)" + echo 'echo executing "'$test_id'"' + echo "$line > $test_id.stdout 2> $test_id.stderr" + echo "if [[ \"\$?\" -ne \"0\" ]]; then >&2 echo '$test_id failed'; >&2 echo -e \"stderr:\n\$(cat $test_id.stderr | sed 's/^/ /')\"; echo -e \"stdout:\n\$(cat $test_id.stdout)\";fi" + done +} + echo "Create test shell script" echo -n "" > prepare_test_data.sh @@ -180,31 +224,19 @@ echo 'export LUCIPHOR_BINARY="$(dirname $(realpath $(which luciphor2)))/luciphor2.jar"' >> prepare_test_data.sh echo 'export MARACLUSTER_BINARY="'"$OPENMSGIT"'/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"'>> prepare_test_data.sh -echo 'export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar"'>> prepare_test_data.sh +echo 'export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-3.5/MSFragger-3.5.jar"'>> prepare_test_data.sh echo 'export MSGFPLUS_BINARY="$(msgf_plus -get_jar_path)"' >> prepare_test_data.sh echo 'export MYRIMATCH_BINARY="myrimatch"'>> prepare_test_data.sh echo 'export NOVOR_BINARY="/home/berntm/Downloads/novor/lib/novor.jar"' >> prepare_test_data.sh -echo 'export OMSSA_BINARY="$(dirname $(realpath $(which omssacl)))/omssacl"'>> prepare_test_data.sh echo 'export PERCOLATOR_BINARY="percolator"'>> prepare_test_data.sh echo 'export SIRIUS_BINARY="$(which sirius)"' >> prepare_test_data.sh echo 'export SPECTRAST_BINARY="'"$OPENMSGIT"'/THIRDPARTY/Linux/64bit/SpectraST/spectrast"' >> prepare_test_data.sh echo 'export XTANDEM_BINARY="xtandem"' >> prepare_test_data.sh echo 'export THERMORAWFILEPARSER_BINARY="ThermoRawFileParser.exe"' >> prepare_test_data.sh +echo 'export SAGE_BINARY=sage' >> prepare_test_data.sh 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 - echo "Execute test shell script" chmod u+x prepare_test_data.sh cd ./test-data || exit @@ -234,14 +266,11 @@ for i in $(ls ctd/*ctd) do b=$(basename "$i" .ctd) - get_tests2 "$b" >> "$autotests" + ./get_tests.py --id "$b" --cmake "$OPENMSGIT"/src/tests/topp/CMakeLists.txt "$OPENMSGIT"/src/tests/topp/THIRDPARTY/third_party_tests.cmake >> "$autotests" + wc -l "$autotests" done echo "</macros>" >> "$autotests" -# echo "Create test data links" -# Breaks DecoyDatabase -# link_tmp_files - # tests for tools using output_prefix parameters can not be auto generated # hence we output the tests for manual curation in macros_test.xml # and remove them from the autotests @@ -255,6 +284,7 @@ # # not able to specify composite test data # -> SpectraSTSearchAdapter +echo "Discard some tests" if [[ ! -z "$1" ]]; then echo "" > macros_discarded_auto.xml for i in OpenSwathFileSplitter IDRipper MzMLSplitter SeedListGenerator MSFraggerAdapter MaRaClusterAdapter NovorAdapter SpectraSTSearchAdapter @@ -272,7 +302,7 @@ ## remove broken symlinks in test-data find test-data/ -xtype l -delete -if [ ! -z "$created" ]; then +if [[ "$created" == "yes" ]]; then echo "Removing temporary directory" rm -rf "$tmp" fi