Mercurial > repos > iuc > data_manager_fetch_busco
changeset 3:304873c2530b draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_busco/ commit 688b85175eeaf9b7790d4d7f337cbfb7d3dfde30
author | iuc |
---|---|
date | Thu, 20 Feb 2025 20:14:38 +0000 |
parents | 2b4526fdf7fb |
children | |
files | data_manager/busco_fetcher.xml data_manager/data_manager.py |
diffstat | 2 files changed, 22 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/busco_fetcher.xml Mon Apr 24 12:26:46 2023 +0000 +++ b/data_manager/busco_fetcher.xml Thu Feb 20 20:14:38 2025 +0000 @@ -1,19 +1,34 @@ <tool id="busco_fetcher" name="Busco" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" tool_type="manage_data" profile="20.01"> <description>dataset dowloader</description> <macros> - <token name="@TOOL_VERSION@">5.4.6</token> + <token name="@TOOL_VERSION@">5.8.0</token> <token name="@VERSION_SUFFIX@">0</token> </macros> <requirements> <requirement type="package" version="@TOOL_VERSION@">busco</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ - python '$__tool_directory__/data_manager.py' - --database '$lineage' - --name $lineage+\$(date +'%Y-%m-%d-%H%M%S') - --json '$out_file' - --version '@TOOL_VERSION@' + mkdir '$out_file.extra_files_path' && + busco --download_path '$out_file.extra_files_path' --download '$lineage' && + cp '$dmjson' '$out_file' ]]></command> + <configfiles> + <configfile name="dmjson"><![CDATA[ +#from datetime import datetime + { + "data_tables":{ + "busco_database":[ + { + "value":"$lineage #echo datetime.now().strftime('%Y-%m-%d-%H%M%S')#", + "name":"$lineage #echo datetime.now().strftime('%Y-%m-%d-%H%M%S')#", + "version":"@TOOL_VERSION@", + "path":"$out_file.extra_files_path" + } + ] + } + }]]> + </configfile> + </configfiles> <inputs> <param name="lineage" type="select" label="Select the lineage to be downloaded"> <option value="all">All</option> @@ -31,7 +46,7 @@ <output name="out_file"> <assert_contents> <has_text text="virus"/> - <has_text text="5.4.6"/> + <has_text text="5.8.0"/> </assert_contents> </output> </test>
--- a/data_manager/data_manager.py Mon Apr 24 12:26:46 2023 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -# Data manager for reference data for the 'BUSCO' Galaxy tools -import argparse -import datetime -import json -import os -import shutil -import subprocess -from pathlib import Path - - -def main(args): - workdir = os.path.join(os.getcwd(), "busco_downloads") - cmd = "busco --download %s" % args.database - subprocess.check_call(cmd, shell=True) - with open(args.json) as fh: - params = json.load(fh) - target_directory = params["output_data"][0]["extra_files_path"] - data_manager_entry = {} - data_manager_entry["value"] = args.name.lower() - data_manager_entry["name"] = args.name - data_manager_entry["version"] = args.version - data_manager_entry["path"] = str(Path(target_directory)) - data_manager_json = dict(data_tables=dict(busco_database=data_manager_entry)) - - os.mkdir(target_directory) - output_path = os.path.abspath(os.path.join(os.getcwd(), "busco_downloads")) - for filename in os.listdir(workdir): - shutil.move(os.path.join(output_path, filename), target_directory) - with open(args.json, "w") as fh: - json.dump(data_manager_json, fh, sort_keys=True) - - -if __name__ == "__main__": - - # Read command line - parser = argparse.ArgumentParser(description="Download BUSCO database") - parser.add_argument("--database", help="Database name") - parser.add_argument( - "--name", default=str(datetime.date.today()), help="Data table entry unique ID" - ) - parser.add_argument("--version", help="BUSCO version") - parser.add_argument("--json", help="Path to JSON file") - args = parser.parse_args() - - main(args)