Mercurial > repos > galaxyp > openms_peakpickerhires
annotate get_tests.py @ 11:401f500aae50 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:35:28 +0000 |
parents | |
children |
rev | line source |
---|---|
11
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
1 #!/usr/bin/env python |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
2 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
3 import argparse |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
4 import os.path |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
5 import re |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
6 import shlex |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
7 import sys |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
8 import tempfile |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
9 from typing import ( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
10 Dict, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
11 List, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
12 Optional, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
13 TextIO, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
14 Tuple, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
15 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
16 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
17 from ctdconverter.common.utils import ( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
18 ParameterHardcoder, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
19 parse_hardcoded_parameters, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
20 parse_input_ctds, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
21 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
22 from ctdconverter.galaxy.converter import convert_models |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
23 from CTDopts.CTDopts import ( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
24 CTDModel, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
25 ModelTypeError, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
26 Parameters, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
27 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
28 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
29 SKIP_LIST = [ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
30 r"_prepare\"", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
31 r"_convert", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
32 r"WRITEINI", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
33 r"WRITECTD", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
34 r"INVALIDVALUE", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
35 r"\.ini\.json", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
36 r"OpenSwathMzMLFileCacher .*-convert_back", # - OpenSwathMzMLFileCacher with -convert_back argument https://github.com/OpenMS/OpenMS/issues/4399 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
37 r"MaRaClusterAdapter.*-consensus_out", # - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
38 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) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
39 r'^(TOPP_OpenSwathAnalyzer_test_3|TOPP_OpenSwathAnalyzer_test_4)$', # no suppert for cached mzML |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
40 r'TOPP_SiriusAdapter_[0-9]+$', # Do not test SiriusAdapter https://github.com/OpenMS/OpenMS/issues/7000 .. will be removed anyway |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
41 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) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
42 ] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
43 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
44 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
45 def get_failing_tests(cmake: List[str]) -> List[str]: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
46 failing_tests = [] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
47 re_fail = re.compile(r"set_tests_properties\(\"([^\"]+)\" PROPERTIES WILL_FAIL 1\)") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
48 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
49 for cmake in args.cmake: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
50 with open(cmake) as cmake_fh: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
51 for line in cmake_fh: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
52 match = re_fail.search(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
53 if match: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
54 failing_tests.append(match.group(1)) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
55 return failing_tests |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
56 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
57 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
58 def fix_tmp_files(line: str, diff_pairs: Dict[str, str]) -> str: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
59 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
60 OpenMS tests output to tmp files and compare with FuzzyDiff to the expected file. |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
61 problem: the extension of the tmp files is unusable for test generation. |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
62 unfortunately the extensions used in the DIFF lines are not always usable for the CLI |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
63 (e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
64 this function replaces the tmp file by the expected file. |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
65 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
66 cmd = shlex.split(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
67 for i, e in enumerate(cmd): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
68 if e in diff_pairs: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
69 dst = os.path.join("test-data", diff_pairs[e]) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
70 if os.path.exists(dst): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
71 os.unlink(dst) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
72 sys.stderr.write(f"symlink {e} {dst}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
73 os.symlink(e, dst) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
74 cmd[i] = diff_pairs[e] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
75 return shlex.join(cmd) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
76 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
77 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
78 def get_ini(line: str, tool_id: str) -> Tuple[str, str]: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
79 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
80 if there is an ini file then we use this to generate the test |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
81 otherwise the ctd file is used |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
82 other command line parameters are inserted later into this xml |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
83 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
84 cmd = shlex.split(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
85 ini = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
86 for i, e in enumerate(cmd): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
87 if e == "-ini": |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
88 ini = cmd[i + 1] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
89 cmd = cmd[:i] + cmd[i + 2:] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
90 if ini: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
91 return os.path.join("test-data", ini), shlex.join(cmd) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
92 else: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
93 return os.path.join("ctd", f"{tool_id}.ctd"), line |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
94 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
95 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
96 def unique_files(line: str): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
97 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
98 some tests use the same file twice which does not work in planemo tests |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
99 hence we create symlinks for each file used twice |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
100 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
101 cmd = shlex.split(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
102 # print(f"{cmd}") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
103 files = {} |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
104 # determine the list of indexes where each file argument (anything appearing in test-data/) appears |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
105 for idx, e in enumerate(cmd): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
106 p = os.path.join("test-data", e) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
107 if not os.path.exists(p) and not os.path.islink(p): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
108 continue |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
109 try: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
110 files[e].append(idx) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
111 except KeyError: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
112 files[e] = [idx] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
113 # print(f"{files=}") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
114 for f in files: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
115 if len(files[f]) < 2: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
116 continue |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
117 for i, idx in enumerate(files[f]): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
118 f_parts = f.split(".") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
119 f_parts[0] = f"{f_parts[0]}_{i}" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
120 new_f = ".".join(f_parts) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
121 # if os.path.exists(os.path.join("test-data", new_f)): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
122 # os.unlink(os.path.join("test-data", new_f)) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
123 sys.stderr.write( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
124 f'\tsymlink {os.path.join("test-data", new_f)} {f}\n' |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
125 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
126 try: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
127 os.symlink(f, os.path.join("test-data", new_f)) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
128 except FileExistsError: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
129 pass |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
130 cmd[idx] = new_f |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
131 return shlex.join(cmd) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
132 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
133 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
134 def fill_ctd_clargs(ini: str, line: str, ctd_tmp: TextIO) -> None: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
135 cmd = shlex.split(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
136 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
137 # load CTDModel |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
138 ini_model = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
139 try: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
140 ini_model = CTDModel(from_file=ini) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
141 except ModelTypeError: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
142 pass |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
143 try: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
144 ini_model = Parameters(from_file=ini) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
145 except ModelTypeError: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
146 pass |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
147 assert ini_model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % ( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
148 args.ini_file |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
149 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
150 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
151 # get a dictionary of the ctd arguments where the values of the parameters |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
152 # given on the command line are overwritten |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
153 ini_values = ini_model.parse_cl_args(cl_args=cmd, ignore_required=True) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
154 ini_model.write_ctd(ctd_tmp, ini_values) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
155 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
156 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
157 def process_test_line( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
158 id: str, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
159 line: str, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
160 failing_tests: List[str], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
161 skip_list: List[str], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
162 diff_pairs: Dict[str, str], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
163 ) -> Optional[str]: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
164 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
165 re_test_id = re.compile(r"add_test\(\"([^\"]+)\" ([^ ]+) (.*)") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
166 re_id_out_test = re.compile(r"_out_?[0-9]?") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
167 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
168 # TODO auto extract from set(OLD_OSW_PARAM ... lin |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
169 line = line.replace( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
170 "${OLD_OSW_PARAM}", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
171 " -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", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
172 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
173 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
174 line = line.replace("${TOPP_BIN_PATH}/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
175 line = line.replace("${DATA_DIR_TOPP}/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
176 line = line.replace("THIRDPARTY/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
177 line = line.replace("${DATA_DIR_SHARE}/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
178 # IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differently |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
179 line = line.replace("${TMP_RIP_PATH}/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
180 # some input files are originally in a subdir (degenerated cases/), but not in test-data |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
181 line = line.replace("degenerate_cases/", "") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
182 # determine the test and tool ids and remove the 1) add_test("TESTID" 2) trailing ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
183 match = re_test_id.match(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
184 if not match: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
185 sys.exit(f"Ill formated test line {line}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
186 test_id = match.group(1) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
187 tool_id = match.group(2) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
188 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
189 line = f"{match.group(2)} {match.group(3)}" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
190 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
191 if test_id in failing_tests: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
192 sys.stderr.write(f" skip failing {test_id} {line}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
193 return |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
194 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
195 if id != tool_id: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
196 sys.stderr.write(f" skip {test_id} ({id} != {tool_id}) {line}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
197 return |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
198 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
199 if re_id_out_test.search(test_id): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
200 sys.stderr.write(f" skip {test_id} {line}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
201 return |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
202 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
203 for skip in skip_list: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
204 if re.search(skip, line): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
205 return |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
206 if re.search(skip, test_id): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
207 return |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
208 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
209 line = fix_tmp_files(line, diff_pairs) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
210 # print(f"fix {line=}") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
211 line = unique_files(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
212 # print(f"unq {line=}") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
213 ini, line = get_ini(line, tool_id) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
214 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
215 from dataclasses import dataclass, field |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
216 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
217 @dataclass |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
218 class CTDConverterArgs: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
219 input_files: list |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
220 output_destination: str |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
221 default_executable_path: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
222 hardcoded_parameters: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
223 parameter_hardcoder: Optional[ParameterHardcoder] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
224 xsd_location: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
225 formats_file: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
226 add_to_command_line: str = "" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
227 required_tools_file: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
228 skip_tools_file: Optional[str] = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
229 macros_files: Optional[List[str]] = field(default_factory=list) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
230 test_macros_files: Optional[List[str]] = field(default_factory=list) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
231 test_macros_prefix: Optional[List[str]] = field(default_factory=list) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
232 test_test: bool = False |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
233 test_only: bool = False |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
234 test_unsniffable: Optional[List[str]] = field(default_factory=list) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
235 test_condition: Optional[List[str]] = ("compare=sim_size", "delta_frac=0.05") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
236 tool_version: str = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
237 tool_profile: str = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
238 bump_file: str = None |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
239 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
240 # create an ini/ctd file where the values are equal to the arguments from the command line |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
241 # and transform it to xml |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
242 test = [f"<!-- {test_id} -->\n"] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
243 with tempfile.NamedTemporaryFile( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
244 mode="w+", delete_on_close=False |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
245 ) as ctd_tmp, tempfile.NamedTemporaryFile( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
246 mode="w+", delete_on_close=False |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
247 ) as xml_tmp: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
248 fill_ctd_clargs(ini, line, ctd_tmp) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
249 ctd_tmp.close() |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
250 xml_tmp.close() |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
251 parsed_ctd = parse_input_ctds(None, [ctd_tmp.name], xml_tmp.name, "xml") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
252 ctd_args = CTDConverterArgs( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
253 input_files=[ctd_tmp.name], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
254 output_destination=xml_tmp.name, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
255 macros_files=["macros.xml"], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
256 skip_tools_file="aux/tools_blacklist.txt", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
257 formats_file="aux/filetypes.txt", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
258 # tool_conf_destination = "tool.conf", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
259 hardcoded_parameters="aux/hardcoded_params.json", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
260 tool_version="3.1", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
261 test_only=True, |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
262 test_unsniffable=[ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
263 "csv", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
264 "tsv", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
265 "txt", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
266 "dta", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
267 "dta2d", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
268 "edta", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
269 "mrm", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
270 "splib", |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
271 ], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
272 test_condition=["compare=sim_size", "delta_frac=0.7"], |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
273 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
274 ctd_args.parameter_hardcoder = parse_hardcoded_parameters( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
275 ctd_args.hardcoded_parameters |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
276 ) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
277 convert_models(ctd_args, parsed_ctd) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
278 xml_tmp = open(xml_tmp.name, "r") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
279 for l in xml_tmp: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
280 test.append(l) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
281 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
282 return "".join(test) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
283 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
284 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
285 parser = argparse.ArgumentParser(description="Create Galaxy tests for a OpenMS tools") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
286 parser.add_argument("--id", dest="id", help="tool id") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
287 parser.add_argument("--cmake", nargs="+", help="OpenMS test CMake files") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
288 args = parser.parse_args() |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
289 sys.stderr.write(f"generate tests for {args.id}\n") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
290 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
291 re_comment = re.compile("#.*") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
292 re_empty_prefix = re.compile(r"^\s*") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
293 re_empty_suffix = re.compile(r"\s*$") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
294 re_add_test = re.compile(r"add_test\(\"(TOPP|UTILS)_.*/" + args.id) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
295 re_diff = re.compile(r"\$\{DIFF\}.* -in1 ([^ ]+) -in2 ([^ ]+)") |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
296 failing_tests = get_failing_tests(args.cmake) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
297 tests = [] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
298 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
299 # process the given CMake files and compile lists of |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
300 # - test lines .. essentially add_test(...) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
301 # - and pairs of files that are diffed |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
302 jline = "" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
303 test_lines = [] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
304 diff_pairs = {} |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
305 for cmake in args.cmake: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
306 with open(cmake) as cmake_fh: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
307 for line in cmake_fh: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
308 # remove comments, empty prefixes and suffixes |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
309 line = re_comment.sub("", line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
310 line = re_empty_prefix.sub("", line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
311 line = re_empty_suffix.sub("", line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
312 # skip empty lines |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
313 if line == "": |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
314 continue |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
315 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
316 # join test statements that are split over multiple lines |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
317 if line.endswith(")"): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
318 jline += " " + line[:-1] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
319 else: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
320 jline = line |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
321 continue |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
322 line, jline = jline.strip(), "" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
323 match = re_diff.search(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
324 if match: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
325 in1 = match.group(1).split("/")[-1] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
326 in2 = match.group(2).split("/")[-1] |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
327 if in1 != in2: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
328 diff_pairs[in1] = in2 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
329 elif re_add_test.match(line): |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
330 test_lines.append(line) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
331 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
332 for line in test_lines: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
333 test = process_test_line(args.id, line, failing_tests, SKIP_LIST, diff_pairs) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
334 if test: |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
335 tests.append(test) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
336 |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
337 tests = "\n".join(tests) |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
338 print( |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
339 f""" |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
340 <xml name="autotest_{args.id}"> |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
341 {tests} |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
342 </xml> |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
343 """ |
401f500aae50
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
galaxyp
parents:
diff
changeset
|
344 ) |