Mercurial > repos > rplanel > data_manager_defense_finder
annotate data_manager/defense_finder_models_fetcher.py @ 2:6dd2220e0a1c draft
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
| author | pasteur |
|---|---|
| date | Thu, 13 Feb 2025 14:36:45 +0000 |
| parents | a04c5659aac3 |
| children |
| rev | line source |
|---|---|
|
0
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
2 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
3 import argparse |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
4 import json |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
5 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
6 import subprocess |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
7 import sys |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
8 from pathlib import Path |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
9 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
10 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
11 def main(args): |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
12 dataset_basename = "defense-finder-models" |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
13 models_version = args.version |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
14 output_file = args.output |
|
2
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
15 compat_version = args.compat_version |
|
0
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
16 dataset_value = f"{dataset_basename}_{models_version}" |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
17 with open(output_file) as fh: |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
18 params = json.load(fh) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
19 target_directory = Path(params["output_data"][0]["extra_files_path"]) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
20 target_directory.mkdir(parents=True, exist_ok=True) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
21 # download models with macsydata |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
22 args = [ |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
23 "defense-finder", |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
24 "update", |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
25 "--models-dir", |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
26 dataset_value, |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
27 ] |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
28 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
29 proc = subprocess.Popen(args=args, shell=False, cwd=target_directory) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
30 return_code = proc.wait() |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
31 if return_code: |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
32 print("Error building index.", file=sys.stderr) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
33 sys.exit(return_code) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
34 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
35 data_table_entry = dict( |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
36 value=dataset_value, |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
37 dbkey=dataset_basename, |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
38 version=models_version, |
|
2
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
39 name=f"version {models_version}", |
|
0
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
40 description="MacSyFinder models allowing for a systematic search of anti-phage systems", |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
41 path=dataset_value, |
|
2
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
42 compatibility_version=compat_version, |
|
0
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
43 ) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
44 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
45 data_manager_json = dict(data_tables={"defense-finder": data_table_entry}) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
46 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
47 # move dir to final target dir |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
48 # shutil.move(workdir / dataset_name, target_directory_tax) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
49 # data_manager_json = dict(data_tables=dict(pasteurqtl=data_table_entry)) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
50 with open(output_file, "w") as fh: |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
51 json.dump(data_manager_json, fh, sort_keys=True) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
52 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
53 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
54 if __name__ == "__main__": |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
55 parser = argparse.ArgumentParser(description="Create data manager json.") |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
56 parser.add_argument("--out", dest="output", action="store", help="JSON filename") |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
57 parser.add_argument( |
|
2
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
58 "--version", dest="version", action="store", default="1", help="model version" |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
59 ) |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
60 parser.add_argument( |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
61 "--soft-compat-version", |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
62 dest="compat_version", |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
63 action="store", |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
64 default="2.0.0", |
|
6dd2220e0a1c
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit b563c99a584471da6fe88c080f9bf8cdb219409f
pasteur
parents:
0
diff
changeset
|
65 help="Which version of DefenseFinder is compatible with these models", |
|
0
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
66 ) |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
67 |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
68 args = parser.parse_args() |
|
a04c5659aac3
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
rplanel
parents:
diff
changeset
|
69 main(args) |
