Mercurial > repos > rplanel > data_manager_defense_finder
changeset 3:46528ab18f85 draft
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit 3fd15f07b1a8750245e5748aedf33d5d407f2ae5-dirty
| author | pasteur |
|---|---|
| date | Fri, 02 May 2025 11:11:35 +0000 |
| parents | 6dd2220e0a1c |
| children | 502208b90cfe |
| files | data_manager/data_manager_defense_finder.xml data_manager/defense_finder_models_fetcher.py data_manager_conf.xml test-data/defense_finder_test_data_manager.json tool_data_table_conf.xml.sample tool_data_table_conf.xml.test |
| diffstat | 6 files changed, 68 insertions(+), 104 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/data_manager_defense_finder.xml Thu Feb 13 14:36:45 2025 +0000 +++ b/data_manager/data_manager_defense_finder.xml Fri May 02 11:11:35 2025 +0000 @@ -1,29 +1,48 @@ -<tool id="defense_finder_models_fetcher_data_manager" name="DefenseFinder" tool_type="manage_data" version="@TOOL_VERSION@+galaxy0"> - <description>genotype data fetcher</description> - <macros> - <token name="@TOOL_VERSION@">2.0.0</token> - </macros> - <requirements> - <requirement type="package" version="@TOOL_VERSION@">defense-finder</requirement> - </requirements> - <command detect_errors="exit_code"><![CDATA[ - python '$__tool_directory__/defense_finder_models_fetcher.py' --out '${out_file}' --version '${model_version}' +<tool id="defense_finder_models_fetcher_data_manager" name="DefenseFinder" tool_type="manage_data" version="@TOOL_VERSION@+galaxy1" profile="21.05"> + <description>DefenseFinder models fetcher</description> + <macros> + <token name="@TOOL_VERSION@">2.0.0</token> + </macros> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">defense-finder</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + mkdir -p '$out_file.extra_files_path' && + defense-finder update --models-dir '$out_file.extra_files_path'/'defense-finder-models_$model_version' && + cp '$dmjson' '$out_file' ]]></command> - <inputs> - <param name="model_version" type="text" label="Defense finder models version" help="The available versions can be found at : https://github.com/mdmparis/defense-finder-models/releases"/> - <param name="software_compatibility" type="text" label="List of defenseFinder versions compatibility" help="Enter the list of defenseFinder software versions that are compatible with the current model (e.g., 1.2.0,1.3.0,2.0.0). Separate multiple versions with commas if required."/> - </inputs> - <outputs> - <data name="out_file" format="data_manager_json"/> - </outputs> - <tests> - <test> - <param name="model_version" value="2.0.2"/> - <param name="software_compatibility" value="2.0.0"/> - <output name="out_file" value="defense_finder_test_data_manager.json"/> - </test> - </tests> - <help><![CDATA[ + <configfiles> + <configfile name="dmjson">{ + "data_tables": { + "defense-finder-2": [ + { + "value": "defense-finder-models_$model_version", + "dbkey": "defense-finder-models", + "version": "$model_version", + "name": "version $model_version", + "description": "MacSyFinder models allowing for a systematic search of anti-phage systems", + "path": "defense-finder-models_$model_version", + "compatibility_version": "$software_compatibility" + } + ] + } +}</configfile> + </configfiles> + <inputs> + <param name="model_version" type="text" label="Defense finder models version" help="The available versions can be found at : https://github.com/mdmparis/defense-finder-models/releases"/> + <param name="software_compatibility" type="text" label="List of defenseFinder versions compatibility" help="Enter the list of defenseFinder software versions that are compatible with the current model (e.g., 1.2.0,1.3.0,2.0.0). Separate multiple versions with commas if required."/> + </inputs> + <outputs> + <data name="out_file" format="data_manager_json"/> + </outputs> + <tests> + <test> + <param name="model_version" value="2.0.2"/> + <param name="software_compatibility" value="2.0.0"/> + <output name="out_file" value="defense_finder_test_data_manager.json"/> + </test> + </tests> + <help><![CDATA[ Download Defense Finder models : https://github.com/mdmparis/defense-finder-models/ check out the defense finder models versions from https://github.com/mdmparis/defense-finder-models/releases @@ -31,9 +50,9 @@ Starting from models version 2.0.0, only DefenseFinder version 2.0.0 is comaptible. - ]]></help> - <citations> - <citation type="doi">10.1038/s41467-022-30269-9</citation> - <citation type="doi">10.24072/pcjournal.250</citation> - </citations> + ]]> </help> + <citations> + <citation type="doi">10.1038/s41467-022-30269-9</citation> + <citation type="doi">10.24072/pcjournal.250</citation> + </citations> </tool>
--- a/data_manager/defense_finder_models_fetcher.py Thu Feb 13 14:36:45 2025 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -#!/usr/bin/env python - -import argparse -import json - -import subprocess -import sys -from pathlib import Path - - -def main(args): - dataset_basename = "defense-finder-models" - models_version = args.version - output_file = args.output - compat_version = args.compat_version - dataset_value = f"{dataset_basename}_{models_version}" - with open(output_file) as fh: - params = json.load(fh) - target_directory = Path(params["output_data"][0]["extra_files_path"]) - target_directory.mkdir(parents=True, exist_ok=True) - # download models with macsydata - args = [ - "defense-finder", - "update", - "--models-dir", - dataset_value, - ] - - proc = subprocess.Popen(args=args, shell=False, cwd=target_directory) - return_code = proc.wait() - if return_code: - print("Error building index.", file=sys.stderr) - sys.exit(return_code) - - data_table_entry = dict( - value=dataset_value, - dbkey=dataset_basename, - version=models_version, - name=f"version {models_version}", - description="MacSyFinder models allowing for a systematic search of anti-phage systems", - path=dataset_value, - compatibility_version=compat_version, - ) - - data_manager_json = dict(data_tables={"defense-finder": data_table_entry}) - - # move dir to final target dir - # shutil.move(workdir / dataset_name, target_directory_tax) - # data_manager_json = dict(data_tables=dict(pasteurqtl=data_table_entry)) - with open(output_file, "w") as fh: - json.dump(data_manager_json, fh, sort_keys=True) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description="Create data manager json.") - parser.add_argument("--out", dest="output", action="store", help="JSON filename") - parser.add_argument( - "--version", dest="version", action="store", default="1", help="model version" - ) - parser.add_argument( - "--soft-compat-version", - dest="compat_version", - action="store", - default="2.0.0", - help="Which version of DefenseFinder is compatible with these models", - ) - - args = parser.parse_args() - main(args)
--- a/data_manager_conf.xml Thu Feb 13 14:36:45 2025 +0000 +++ b/data_manager_conf.xml Fri May 02 11:11:35 2025 +0000 @@ -2,7 +2,7 @@ <data_managers> <data_manager tool_file="data_manager/data_manager_defense_finder.xml" id="defense_finder_models_fetcher"> - <data_table name="defense-finder"> + <data_table name="defense-finder-2"> <output> <column name="value" /> <column name="dbkey" />
--- a/test-data/defense_finder_test_data_manager.json Thu Feb 13 14:36:45 2025 +0000 +++ b/test-data/defense_finder_test_data_manager.json Fri May 02 11:11:35 2025 +0000 @@ -1,1 +1,15 @@ -{"data_tables": {"defense-finder": {"compatibility_version": "2.0.0", "dbkey": "defense-finder-models", "description": "MacSyFinder models allowing for a systematic search of anti-phage systems", "name": "version 2.0.2", "path": "defense-finder-models_2.0.2", "value": "defense-finder-models_2.0.2", "version": "2.0.2"}}} \ No newline at end of file +{ + "data_tables": { + "defense-finder-2": [ + { + "value": "defense-finder-models_2.0.2", + "dbkey": "defense-finder-models", + "version": "2.0.2", + "name": "version 2.0.2", + "description": "MacSyFinder models allowing for a systematic search of anti-phage systems", + "path": "defense-finder-models_2.0.2", + "compatibility_version": "2.0.0" + } + ] + } +} \ No newline at end of file
--- a/tool_data_table_conf.xml.sample Thu Feb 13 14:36:45 2025 +0000 +++ b/tool_data_table_conf.xml.sample Fri May 02 11:11:35 2025 +0000 @@ -1,6 +1,6 @@ <tables> - <table name="defense-finder" comment_char="#" allow_duplicate_entries="False"> + <table name="defense-finder-2" comment_char="#" allow_duplicate_entries="False"> <columns>value, dbkey, name, version, soft compatibility version, description, path</columns> - <file path="tool-data/defense-finder.2.loc.sample" /> + <file path="tool-data/defense-finder.2.loc" /> </table> </tables> \ No newline at end of file
--- a/tool_data_table_conf.xml.test Thu Feb 13 14:36:45 2025 +0000 +++ b/tool_data_table_conf.xml.test Fri May 02 11:11:35 2025 +0000 @@ -1,5 +1,5 @@ <tables> - <table name="defense-finder" comment_char="#" allow_duplicate_entries="False"> + <table name="defense-finder-2" comment_char="#" allow_duplicate_entries="False"> <columns>value, dbkey, name, version, soft compatibility version, description, path</columns> <file path="${__HERE__}/test-data/defense-finder.2.loc" /> </table>
