annotate data_manager/data_manager_mlst.py @ 0:a9ff6184213f draft default tip

planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
author estrain
date Thu, 12 Mar 2026 20:06:31 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
1 #!/usr/bin/env python3
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
2 """
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
3 Galaxy Data Manager for PubMLST.
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
4 Downloads all PubMLST databases, creates a combined BLAST database,
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
5 and writes a Galaxy-compatible data table JSON.
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
6 """
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
7
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
8 import argparse
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
9 import json
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
10 import os
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
11 import shutil
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
12 import subprocess
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
13 import sys
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
14 import datetime
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
15 from urllib.request import urlopen
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
16
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
17
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
18 class MLSTDataManager:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
19 def __init__(self, json_path: str):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
20 self.json_path = json_path
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
21 self.extra_files_path = None
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
22 self.output_dir = None
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
23 self.timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
24 self.db_name = f"mlst_database_{self.timestamp}"
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
25
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
26 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
27 # Galaxy JSON I/O
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
28 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
29
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
30 def read_input_json(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
31 """Read Galaxy input JSON and create the output directory."""
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
32 with open(self.json_path) as fh:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
33 params = json.load(fh)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
34 self.extra_files_path = params["output_data"][0]["extra_files_path"]
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
35 os.makedirs(self.extra_files_path, exist_ok=True)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
36 self.output_dir = os.path.abspath(self.extra_files_path)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
37
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
38 def write_output_json(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
39 """Write the final Galaxy data manager JSON."""
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
40 entry = {
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
41 "data_tables": {
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
42 "mlst": [
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
43 {
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
44 "value": self.db_name,
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
45 "name": self.db_name,
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
46 "path": "mlst-db"
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
47 }
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
48 ]
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
49 }
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
50 }
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
51
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
52 with open(self.json_path, "w") as fh:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
53 json.dump(entry, fh, indent=2, sort_keys=True)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
54 fh.flush()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
55 os.fsync(fh.fileno())
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
56
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
57 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
58 # Database steps
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
59 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
60
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
61 def download_pubmlst_databases(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
62 """Download all PubMLST databases."""
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
63 print("Downloading PubMLST databases...")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
64 try:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
65 subprocess.run(["mlst-download_pub_mlst", "-d", "pubmlst"], check=True)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
66 except subprocess.CalledProcessError as e:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
67 print(f"Error downloading databases: {e}")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
68 sys.exit(1)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
69
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
70 def make_blast_database(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
71 """Build a BLAST database from the downloaded data."""
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
72 cwd = os.getcwd()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
73 src_dir = os.path.join(cwd, "pubmlst")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
74 dst_dir = os.path.join(self.output_dir, "pubmlst")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
75
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
76 if os.path.exists(dst_dir):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
77 shutil.rmtree(dst_dir)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
78 shutil.move(src_dir, dst_dir)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
79
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
80 blast_dir = os.path.join(self.output_dir, "blast")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
81 os.makedirs(blast_dir, exist_ok=True)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
82 blast_file = os.path.join(blast_dir, "mlst.fa")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
83
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
84 print("Building combined FASTA for BLAST database...")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
85 with open(blast_file, "a") as outfile:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
86 for scheme in os.listdir(dst_dir):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
87 scheme_path = os.path.join(dst_dir, scheme)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
88 if os.path.isdir(scheme_path):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
89 for f in os.listdir(scheme_path):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
90 if f.endswith(".tfa"):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
91 with open(os.path.join(scheme_path, f)) as infile:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
92 for line in infile:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
93 if "not a locus" not in line:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
94 if line.startswith(">"):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
95 outfile.write(f">{scheme}.{line[1:]}")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
96 else:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
97 outfile.write(line)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
98
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
99 print("Running makeblastdb...")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
100 subprocess.run([
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
101 "makeblastdb", "-hash_index",
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
102 "-in", blast_file, "-dbtype", "nucl",
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
103 "-title", "PubMLST", "-parse_seqids"
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
104 ], check=True)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
105
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
106 def download_scheme_species_map(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
107 """Fetch the scheme_species_map.tab file from GitHub."""
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
108 url = "https://raw.githubusercontent.com/tseemann/mlst/master/db/scheme_species_map.tab"
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
109 dst_file = os.path.join(self.output_dir, "scheme_species_map.tab")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
110 print("Downloading scheme_species_map.tab...")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
111 try:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
112 with urlopen(url) as response, open(dst_file, "w") as out:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
113 out.write(response.read().decode("utf-8"))
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
114 print("scheme_species_map.tab downloaded successfully")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
115 except Exception as e:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
116 print(f"Failed to retrieve scheme_species_map.tab: {e}")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
117
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
118 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
119 # Run
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
120 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
121
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
122 def run(self):
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
123 try:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
124 self.read_input_json()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
125 self.download_pubmlst_databases()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
126 self.make_blast_database()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
127 self.download_scheme_species_map()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
128 except Exception as e:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
129 print(f"MLST Data Manager failed: {e}")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
130 finally:
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
131 self.write_output_json()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
132
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
133
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
134 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
135 # CLI
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
136 # ----------------------------------------------------------------------
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
137
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
138 def parse_args():
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
139 parser = argparse.ArgumentParser(description="Galaxy Data Manager for PubMLST")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
140 parser.add_argument("data_manager_json", help="Galaxy data manager JSON file")
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
141 return parser.parse_args()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
142
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
143
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
144 def main():
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
145 args = parse_args()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
146 mgr = MLSTDataManager(args.data_manager_json)
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
147 mgr.run()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
148
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
149
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
150 if __name__ == "__main__":
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
151 main()
a9ff6184213f planemo upload commit bdb45cf3a98e21f5002866b6789a1457f521bf5d
estrain
parents:
diff changeset
152