Mercurial > repos > rplanel > data_manager_defense_finder
changeset 0:a04c5659aac3 draft
planemo upload for repository https://gitlab.pasteur.fr/galaxy-team/galaxy-tools/-/tree/master/data_managers/data_manager_defense_finder commit cd90d22094f1128738ca4614b51d81af00a83d50
| author | rplanel |
|---|---|
| date | Tue, 12 Sep 2023 09:06:45 +0000 |
| parents | |
| children | e661b9ac3223 |
| 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/defense-finder.loc.sample tool_data_table_conf.xml.sample tool_data_table_conf.xml.test |
| diffstat | 7 files changed, 135 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager/data_manager_defense_finder.xml Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,32 @@ +<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@">1.1.1</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}' + ]]></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"/> + </inputs> + <outputs> + <data name="out_file" format="data_manager_json"/> + </outputs> + <tests> + <test> + <param name="model_version" value="1.2.2"/> + <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 + ]]></help> + <citations> + <citation type="doi">10.1038/s41467-022-30269-9</citation> + <citation type="doi">10.24072/pcjournal.250</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager/defense_finder_models_fetcher.py Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,60 @@ +#!/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 + 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"Defense Finder models (version {models_version})", + description="MacSyFinder models allowing for a systematic search of anti-phage systems", + path=dataset_value, + ) + + 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="dataset version" + ) + + args = parser.parse_args() + main(args)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data_manager_conf.xml Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<data_managers> + <data_manager tool_file="data_manager/data_manager_defense_finder.xml" + id="defense_finder_models_fetcher"> + <data_table name="defense-finder"> + <output> + <column name="value" /> + <column name="dbkey" /> + <column name="name" /> + <column name="version" /> + <column name="description" /> + <column name="path" output_ref="out_file"> + <move type="directory" relativize_symlinks="True"> + <source>${path}</source> + <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">defense-finder/${value}/</target> + </move> + <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/defense-finder/${value}</value_translation> + <value_translation type="function">abspath</value_translation> + </column> + </output> + </data_table> + </data_manager> +</data_managers> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/defense_finder_test_data_manager.json Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,1 @@ +{"data_tables": {"defense-finder": {"dbkey": "defense-finder-models", "description": "MacSyFinder models allowing for a systematic search of anti-phage systems", "name": "Defense Finder models (version 1.2.2)", "path": "defense-finder-models_1.2.2", "value": "defense-finder-models_1.2.2", "version": "1.2.2"}}} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/defense-finder.loc.sample Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,7 @@ +# this is a tab separated file describing the location of defense finder models +# +# the columns are: +# value, dbkey, name, version, description, path +# +# for example +# defense-finder-models_1.2.2 defense-finder-models Defense Finder models (version 1.2.2) 1.2.2 MacSyFinder models allowing for a systematic search of anti-phage systems /depot/data/galaxy/defense-finder/defense-finder-models_1.2.2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.sample Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,6 @@ +<tables> + <table name="defense-finder" comment_char="#" allow_duplicate_entries="False"> + <columns>value, dbkey, name, version, description, path</columns> + <file path="tool-data/defense-finder.loc.sample" /> + </table> +</tables> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.test Tue Sep 12 09:06:45 2023 +0000 @@ -0,0 +1,6 @@ +<tables> + <table name="defense-finder" comment_char="#" allow_duplicate_entries="False"> + <columns>value, dbkey, name, version, description, path</columns> + <file path="${__HERE__}/test-data/defense-finder.loc" /> + </table> +</tables> \ No newline at end of file
