comparison set_path.py @ 1:90d60c9da21e draft default tip

planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/mzmine/ commit 889d26f1e96edf1f2608ce0dba2d66e8ee60e313
author iuc
date Fri, 10 Nov 2023 14:20:45 +0000
parents
children
comparison
equal deleted inserted replaced
0:02e802817d48 1:90d60c9da21e
1 import argparse
2 import re
3 import sys
4 from xml.etree import ElementTree
5
6 parser = argparse.ArgumentParser(
7 prog="set_path.py", description="update paths in mzmine batch XML"
8 )
9 parser.add_argument("--input", help="input XML")
10 parser.add_argument("--output", help="output XML")
11 parser.add_argument("--localdb", required=False, help="Local CVS DB for Search")
12 args = parser.parse_args()
13
14 PATHSEP = re.compile(r"[/\\]")
15 tree = ElementTree.parse(args.input)
16
17 for batchstep in tree.findall(".//batchstep"):
18 method = batchstep.attrib.get("method")
19 for current_file in batchstep.findall(".//current_file"):
20 if (
21 method
22 == "io.github.mzmine.modules.dataprocessing.id_localcsvsearch.LocalCSVDatabaseSearchModule"
23 ):
24 if args.localdb:
25 current_file.text = args.localdb
26 else:
27 sys.exit("Batch file contains LocalCSVDatabaseSearchModule but no local DB CSV file given")
28 else:
29 current_file.text = f"./output/{PATHSEP.split(current_file.text)[-1]}"
30
31 tree.write(args.output)