Mercurial > repos > siwaa > gama_desc
annotate desc.py @ 0:23b15c0eabff draft default tip
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
author | siwaa |
---|---|
date | Mon, 18 Nov 2024 13:57:51 +0000 |
parents | |
children |
rev | line source |
---|---|
0
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
1 #!/usr/bin/env python |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
2 # coding: utf-8 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
3 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
4 #----------------------------------------------------------------- |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
5 __author__ = "Nathalie Rousse (nathalie.rousse@inrae.fr)" |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
6 __copyright__ = "Copyright (C) 2024, Inrae (https://www.inrae.fr)" |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
7 __license__ = "MIT" |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
8 #----------------------------------------------------------------- |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
9 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
10 import json |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
11 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
12 # Produces a description JSON data from a GAML model file |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
13 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
14 ############################################################################### |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
15 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
16 def make_json_experiments_by_types(gaml_file_path): |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
17 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
18 # experiments contains lists of experiment names, by type |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
19 experiments = { "gui": [], "batch": [], "test": [], "memorize": [] } |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
20 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
21 with open(gaml_file_path, 'r') as f: |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
22 lines = f.readlines() |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
23 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
24 for line in lines: |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
25 experiment_name, type = None, None # default |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
26 line_kept = True # default |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
27 if "experiment" not in line : line_kept = False |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
28 if ("type " not in line and "type:" not in line) : line_kept = False |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
29 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
30 if line_kept : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
31 words = line.split() |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
32 if words[0] == 'experiment' : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
33 experiment_name = words[1] |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
34 else: |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
35 line_kept = False |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
36 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
37 if line_kept : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
38 while " :" in line: |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
39 line = line.replace(" :", ":") |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
40 line = line.replace(":", ": ") |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
41 words = line.split() |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
42 for i,word in enumerate(words) : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
43 if word == "type:" : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
44 if words[i+1] in ("gui", "batch", "test", "memorize"): |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
45 type = words[i+1] |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
46 if line_kept and (experiment_name is not None) and (type is not None): |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
47 experiments[type].append(experiment_name) |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
48 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
49 return experiments |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
50 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
51 ############################################################################### |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
52 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
53 GAML_FILE_PATH = "model.gaml" |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
54 DESC_JSON_FILE_PATH = "desc.json" |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
55 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
56 try : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
57 desc = dict() |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
58 experiments = make_json_experiments_by_types(gaml_file_path=GAML_FILE_PATH) |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
59 desc['experiments_by_types'] = experiments |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
60 print(desc) |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
61 with open(DESC_JSON_FILE_PATH, "w") as json_file: |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
62 json_file.write(json.dumps(desc)) |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
63 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
64 except Exception as e : |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
65 errortype = type(e).__name__ |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
66 errordetails = e.args |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
67 print("ERROR:", errortype, errordetails) |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
68 |
23b15c0eabff
planemo upload for repository https://forgemia.inra.fr/nathalie.rousse/use/-/tree/gama/GAMA_DESC/galaxy-tools commit 6b9b95de1fe709f27a28d83797f81e91469edf79-dirty
siwaa
parents:
diff
changeset
|
69 ############################################################################### |