Mercurial > repos > iuc > data_manager_funannotate
annotate data_manager/extract.py @ 5:5459ec34767a draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
| author | iuc | 
|---|---|
| date | Fri, 07 Mar 2025 22:33:29 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 5 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 1 import json | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 2 import os | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 3 import sys | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 4 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 5 fun_db = sys.argv[1] | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 6 fun_db_value = sys.argv[2] | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 7 dmjson = sys.argv[3] | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 8 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 9 content = [] | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 10 # get options for parameter --busco_db | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 11 # which are just the subfolders of the db dir (minus outgroups/ and trained_species/) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 12 # https://github.com/nextgenusfs/funannotate/blob/8cc40728fee61566fdf736c1f2292e14cc117660/funannotate/predict.py#L319 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 13 for d in os.scandir(fun_db): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 14 if not d.is_dir(): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 15 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 16 if d.name in ['outgroups', 'trained_species']: | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 17 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 18 if not os.path.exists(os.path.join(d, "dataset.cfg")): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 19 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 20 name = d.name.replace("_", " ").capitalize() | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 21 content.append({'value': d.name, 'name': name, 'select': 'busco_db', 'db_value': fun_db_value}) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 22 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 23 # --busco_seed_species | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 24 # trained_species | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 25 for d in os.scandir(os.path.join(fun_db, "trained_species")): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 26 if not d.is_dir(): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 27 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 28 if not os.path.exists(os.path.join(d, "info.json")): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 29 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 30 name = d.name.replace("_", " ").capitalize() | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 31 content.append({'value': d.name, 'name': name, 'select': 'trained_species', 'db_value': fun_db_value}) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 32 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 33 # --busco_seed_species | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 34 # outgroups | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 35 for f in os.scandir(os.path.join(fun_db, "outgroups")): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 36 if f.is_dir(): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 37 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 38 if not f.name.endswith("_buscos.fa"): | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 39 continue | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 40 value = f.name[:-10] | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 41 name = ' - '.join([x.replace("_", " ").capitalize() for x in value.split('.')]) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 42 content.append({'value': value, 'name': name, 'select': 'outgroup', 'db_value': fun_db_value}) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 43 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 44 with open(dmjson, "w") as fh: | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 45 json.dump({"data_tables": {"funannotate_options": content}}, fh) | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 46 | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 47 print(f'{len([c for c in content if c["select"]=="busco_db"])} x busco_db\n') | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 48 print(f'{len([c for c in content if c["select"]=="trained_species"])} x trained_species\n') | 
| 
5459ec34767a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
 iuc parents: diff
changeset | 49 print(f'{len([c for c in content if c["select"]=="outgroup"])} x outgroup\n') | 
