Repository 'data_manager_funannotate'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/data_manager_funannotate

Changeset 4:1c81a82b5b8e (2025-03-07)
Previous changeset 3:0cadd0a04412 (2021-11-19) Next changeset 5:5459ec34767a (2025-03-07)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/data_managers/data_manager_funannotate commit 8341270dd36185ebf59d15282bc79f1215e936a4
modified:
data_manager/funannotate.xml
test-data/funannotate.loc
removed:
data_manager/funannotate.py
b
diff -r 0cadd0a04412 -r 1c81a82b5b8e data_manager/funannotate.py
--- a/data_manager/funannotate.py Fri Nov 19 15:43:06 2021 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,286 +0,0 @@\n-#!/usr/bin/env python\n-\n-import argparse\n-import json\n-import operator\n-import os\n-import subprocess\n-import sys\n-import tarfile\n-from datetime import datetime\n-\n-import requests\n-\n-# Some additional busco/orthodb10 datasets that can be added to funannotate db\n-# Will probably not be needed anymore in future versions of funannotate when it\n-# will use a recent busco version\n-BUSCO_10_DATASETS_URL = "https://busco-data.ezlab.org/v5/data/lineages/{dataset}"\n-BUSCO_10_DATASETS = [\n-    "acidobacteria_odb10.2020-03-06.tar.gz",\n-    "aconoidasida_odb10.2020-08-05.tar.gz",\n-    "actinobacteria_class_odb10.2021-02-23.tar.gz",\n-    "actinobacteria_phylum_odb10.2021-02-23.tar.gz",\n-    "actinopterygii_odb10.2021-02-19.tar.gz",\n-    "agaricales_odb10.2020-08-05.tar.gz",\n-    "agaricomycetes_odb10.2020-08-05.tar.gz",\n-    "alphabaculovirus_odb10.2020-11-26.tar.gz",\n-    "alphaherpesvirinae_odb10.2020-11-26.tar.gz",\n-    "alphaproteobacteria_odb10.2021-02-23.tar.gz",\n-    "alteromonadales_odb10.2021-02-23.tar.gz",\n-    "alveolata_odb10.2020-09-10.tar.gz",\n-    "apicomplexa_odb10.2020-09-10.tar.gz",\n-    "aquificae_odb10.2021-02-23.tar.gz",\n-    "arachnida_odb10.2020-08-05.tar.gz",\n-    "archaea_odb10.2021-02-23.tar.gz",\n-    "arthropoda_odb10.2020-09-10.tar.gz",\n-    "ascomycota_odb10.2020-09-10.tar.gz",\n-    "aves_odb10.2021-02-19.tar.gz",\n-    "aviadenovirus_odb10.2020-11-26.tar.gz",\n-    "bacillales_odb10.2021-02-23.tar.gz",\n-    "bacilli_odb10.2021-02-23.tar.gz",\n-    "bacteria_odb10.2020-03-06.tar.gz",\n-    "bacteroidales_odb10.2021-02-23.tar.gz",\n-    "bacteroidetes-chlorobi_group_odb10.2021-02-23.tar.gz",\n-    "bacteroidetes_odb10.2021-02-23.tar.gz",\n-    "bacteroidia_odb10.2021-02-23.tar.gz",\n-    "baculoviridae_odb10.2020-11-26.tar.gz",\n-    "basidiomycota_odb10.2020-09-10.tar.gz",\n-    "bclasvirinae_odb10.2020-11-26.tar.gz",\n-    "betabaculovirus_odb10.2020-11-26.tar.gz",\n-    "betaherpesvirinae_odb10.2020-11-26.tar.gz",\n-    "betaproteobacteria_odb10.2021-02-23.tar.gz",\n-    "boletales_odb10.2020-08-05.tar.gz",\n-    "brassicales_odb10.2020-08-05.tar.gz",\n-    "burkholderiales_odb10.2021-02-23.tar.gz",\n-    "campylobacterales_odb10.2020-03-06.tar.gz",\n-    "capnodiales_odb10.2020-08-05.tar.gz",\n-    "carnivora_odb10.2021-02-19.tar.gz",\n-    "cellvibrionales_odb10.2020-03-06.tar.gz",\n-    "cetartiodactyla_odb10.2021-02-19.tar.gz",\n-    "chaetothyriales_odb10.2020-08-05.tar.gz",\n-    "cheoctovirus_odb10.2020-11-26.tar.gz",\n-    "chlamydiae_odb10.2020-03-06.tar.gz",\n-    "chlorobi_odb10.2020-03-06.tar.gz",\n-    "chloroflexi_odb10.2020-03-06.tar.gz",\n-    "chlorophyta_odb10.2020-08-05.tar.gz",\n-    "chordopoxvirinae_odb10.2020-11-26.tar.gz",\n-    "chromatiales_odb10.2020-03-06.tar.gz",\n-    "chroococcales_odb10.2020-03-06.tar.gz",\n-    "clostridia_odb10.2020-03-06.tar.gz",\n-    "clostridiales_odb10.2020-03-06.tar.gz",\n-    "coccidia_odb10.2020-08-05.tar.gz",\n-    "coriobacteriales_odb10.2020-03-06.tar.gz",\n-    "coriobacteriia_odb10.2020-03-06.tar.gz",\n-    "corynebacteriales_odb10.2020-03-06.tar.gz",\n-    "cyanobacteria_odb10.2021-02-23.tar.gz",\n-    "cyprinodontiformes_odb10.2021-02-19.tar.gz",\n-    "cytophagales_odb10.2021-02-23.tar.gz",\n-    "cytophagia_odb10.2021-02-23.tar.gz",\n-    "delta-epsilon-subdivisions_odb10.2021-02-23.tar.gz",\n-    "deltaproteobacteria_odb10.2021-02-23.tar.gz",\n-    "desulfobacterales_odb10.2020-03-06.tar.gz",\n-    "desulfovibrionales_odb10.2021-02-23.tar.gz",\n-    "desulfurococcales_odb10.2021-02-23.tar.gz",\n-    "desulfuromonadales_odb10.2020-03-06.tar.gz",\n-    "diptera_odb10.2020-08-05.tar.gz",\n-    "dothideomycetes_odb10.2020-08-05.tar.gz",\n-    "embryophyta_odb10.2020-09-10.tar.gz",\n-    "endopterygota_odb10.2020-09-10.tar.gz",\n-    "enquatrovirus_odb10.2021-05-05.tar.gz",\n-    "enterobacterales_odb10.2021-02-23.tar.gz",\n-    "entomoplasmatales_odb10.2020-03-06.tar.gz",\n-    "epsilonproteobacteria_odb10.2020-03-06.tar.gz",\n-    "euarchontoglires_odb10.2021-02-19.tar.gz",\n-    '..b'sulfolobales_odb10.2021-02-23.tar.gz",\n-    "synechococcales_odb10.2020-03-06.tar.gz",\n-    "synergistetes_odb10.2020-03-06.tar.gz",\n-    "tenericutes_odb10.2020-03-06.tar.gz",\n-    "tequatrovirus_odb10.2020-11-26.tar.gz",\n-    "teseptimavirus_odb10.2020-11-26.tar.gz",\n-    "tetrapoda_odb10.2021-02-19.tar.gz",\n-    "tevenvirinae_odb10.2021-02-23.tar.gz",\n-    "thaumarchaeota_odb10.2021-02-23.tar.gz",\n-    "thermoanaerobacterales_odb10.2020-03-06.tar.gz",\n-    "thermoplasmata_odb10.2021-02-23.tar.gz",\n-    "thermoproteales_odb10.2021-02-23.tar.gz",\n-    "thermoprotei_odb10.2021-02-23.tar.gz",\n-    "thermotogae_odb10.2020-03-06.tar.gz",\n-    "thiotrichales_odb10.2020-03-06.tar.gz",\n-    "tissierellales_odb10.2020-03-06.tar.gz",\n-    "tissierellia_odb10.2020-03-06.tar.gz",\n-    "tremellomycetes_odb10.2020-08-05.tar.gz",\n-    "tunavirinae_odb10.2020-11-26.tar.gz",\n-    "varicellovirus_odb10.2020-11-26.tar.gz",\n-    "verrucomicrobia_odb10.2020-03-06.tar.gz",\n-    "vertebrata_odb10.2021-02-19.tar.gz",\n-    "vibrionales_odb10.2020-03-06.tar.gz",\n-    "viridiplantae_odb10.2020-09-10.tar.gz",\n-    "xanthomonadales_odb10.2020-03-06.tar.gz",\n-]\n-\n-\n-def download_file(url, dest):\n-    with requests.get(url, stream=True) as r:\n-        r.raise_for_status()\n-        with open(dest, \'wb\') as f:\n-            for chunk in r.iter_content(chunk_size=8192):\n-                f.write(chunk)\n-\n-\n-if __name__ == "__main__":\n-\n-    parser = argparse.ArgumentParser()\n-    parser.add_argument(\'--partial\', dest=\'partial\', action=\'store_true\', help=\'Only download a small subset of data (for testing)\')\n-    parser.add_argument(\'--wget\', dest=\'wget\', action=\'store_true\', help=\'Download using wget (instead of urllib)\')\n-    parser.add_argument("version_id")\n-    parser.add_argument("datatable_name")\n-    parser.add_argument("galaxy_datamanager_filename")\n-    args = parser.parse_args()\n-\n-    with open(args.galaxy_datamanager_filename) as fh:\n-        config = json.load(fh)\n-\n-    output_directory = config.get("output_data", [{}])[0].get("extra_files_path", None)\n-    data_manager_dict = {}\n-    data_manager_dict["data_tables"] = config.get("data_tables", {})\n-    data_manager_dict["data_tables"][args.datatable_name] = data_manager_dict[\n-        "data_tables"\n-    ].get(args.datatable_name, [])\n-\n-    os.mkdir(output_directory)\n-    cmd_args = [\'funannotate\', \'setup\', \'-d\', output_directory, \'-b\', \'all\']\n-    if args.partial:\n-        cmd_args += [\'-i\', \'merops\', \'-b\', \'eukaryota\']\n-    if args.wget:\n-        cmd_args += [\'--wget\']\n-    proc = subprocess.Popen(args=cmd_args, shell=False, cwd=output_directory)\n-    return_code = proc.wait()\n-    if return_code:\n-        print("Error downloading Funannotate database.", file=sys.stderr)\n-        sys.exit(return_code)\n-\n-    # Download newer busco datasets from orthodb 10\n-    if args.partial:\n-        BUSCO_10_DATASETS = BUSCO_10_DATASETS[:1]\n-\n-    for busco_dataset in BUSCO_10_DATASETS:\n-        print("Downloading additional busco orthodb10 dataset %s" % busco_dataset)\n-        dest_tar = os.path.join(output_directory, busco_dataset)\n-        download_file(BUSCO_10_DATASETS_URL.format(dataset=busco_dataset), dest_tar)\n-        print("Extracting %s" % busco_dataset)\n-        tar = tarfile.open(dest_tar, "r:gz")\n-        tar.extractall(output_directory)\n-        tar.close()\n-        os.remove(dest_tar)\n-\n-    version_id = datetime.today().strftime(\'%Y-%m-%d-%H%M%S\')\n-\n-    version = \'1.0\'\n-\n-    data_manager_dict["data_tables"][args.datatable_name].append(\n-        dict(\n-            value=version_id,\n-            description="Funannotate database %s" % version_id,\n-            format_version=version,\n-            path=output_directory,\n-        )\n-    )\n-\n-    data_manager_dict["data_tables"][args.datatable_name].sort(\n-        key=operator.itemgetter("value"), reverse=True\n-    )\n-    with open(args.galaxy_datamanager_filename, "w") as fh:\n-        json.dump(data_manager_dict, fh, indent=2, sort_keys=True)\n'
b
diff -r 0cadd0a04412 -r 1c81a82b5b8e data_manager/funannotate.xml
--- a/data_manager/funannotate.xml Fri Nov 19 15:43:06 2021 +0000
+++ b/data_manager/funannotate.xml Fri Mar 07 22:33:21 2025 +0000
[
@@ -1,23 +1,47 @@
-<tool id="data_manager_funannotate" name="Funannotate data manager" version="0.0.3" tool_type="manage_data" profile="20.01">
+<tool id="data_manager_funannotate" name="Funannotate data manager" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" tool_type="manage_data" profile="20.01">
+    <macros>
+        <token name="@TOOL_VERSION@">1.8.15</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
     <requirements>
-        <requirement type="package" version="1.8.9">funannotate</requirement>
-        <requirement type="package" version="2.26.0">requests</requirement>
+        <requirement type="package" version="@TOOL_VERSION@">funannotate</requirement>
     </requirements>
     <version_command>funannotate check --show-versions</version_command>
     <command detect_errors="exit_code"><![CDATA[
-#if $wget:
-    ## Asked for wget, we assume there's a certificate problem on (at least) one
-    ## of the many requested servers, force disable of all checks
-    echo "check_certificate = off" > \$HOME/.wgetrc &&
-#end if
+        #if $wget:
+            ## Asked for wget, we assume there's a certificate problem on (at least) one
+            ## of the many requested servers, force disable of all checks
+            echo "check_certificate = off" > \$HOME/.wgetrc &&
+        #end if
 
-python -u '$__tool_directory__/funannotate.py'
-$partial_data
-$wget
-\$(date +'%Y-%m-%d-%H%M%S')
-'funannotate'
-'${output_file}'
+        funannotate setup
+            -d '$output_file.extra_files_path'
+        #if $partial_data
+            -i merops -b eukaryota
+        #else
+            -b all
+        #end if
+            $wget
+        &&
+        cp '$dmjson' '$output_file'
     ]]></command>
+    <configfiles>
+        <configfile name="dmjson"><![CDATA[
+#from datetime import datetime
+#set version_id=datetime.now().strftime("%Y-%m-%d-%H%M%S")
+    {
+      "data_tables":{
+        "funannotate":[
+          {
+            "value":"$version_id",
+            "description":"Funannotate database $version_id",
+            "format_version":"1.0",
+            "path":"$output_file.extra_files_path"
+          }
+        ]
+      }
+    }]]></configfile>
+    </configfiles>
     <inputs>
         <param name="partial_data" type="hidden" value="" help="Used for testing"/>
         <param name="wget" type="boolean" truevalue="--wget" falsevalue="" checked="False" label="Download using wget" help="Try this if you get certificate errors"/>
@@ -31,7 +55,7 @@
             <output name="output_file">
                 <assert_contents>
                     <has_text text="Funannotate database "/>
-                    <has_text text='"format_version": "1.0"'/>
+                    <has_text text='"format_version":"1.0"'/>
                 </assert_contents>
             </output>
         </test>
@@ -41,7 +65,7 @@
             <output name="output_file">
                 <assert_contents>
                     <has_text text="Funannotate database "/>
-                    <has_text text='"format_version": "1.0"'/>
+                    <has_text text='"format_version":"1.0"'/>
                 </assert_contents>
             </output>
         </test>
b
diff -r 0cadd0a04412 -r 1c81a82b5b8e test-data/funannotate.loc
--- a/test-data/funannotate.loc Fri Nov 19 15:43:06 2021 +0000
+++ b/test-data/funannotate.loc Fri Mar 07 22:33:21 2025 +0000
b
@@ -7,3 +7,10 @@
 # for example
 # 2021-07-20-120000 Funannotate database 2021-07-20-120000 1.0 /tmp/database/funannotate/2021-07-20-120000
 # 2021-05-27-120000 Funannotate database 2021-05-27-120000 3.0 /tmp/database/funannotate/2021-05-27-120000
+2025-02-17-000000 Funannotate database 2025-02-17-000000 /tmp/tmpm1ezjinx/galaxy-dev/tool-data/funannotate/2025-02-17-000000
+2025-02-17-210445 Funannotate database 2025-02-17-210445 /tmp/tmpg0tuguj6/galaxy-dev/tool-data/funannotate/2025-02-17-210445
+2025-02-17-210504 Funannotate database 2025-02-17-210504 /tmp/tmpg0tuguj6/galaxy-dev/tool-data/funannotate/2025-02-17-210504
+2025-02-17-210714 Funannotate database 2025-02-17-210714 1.0 /tmp/tmpdtjxf3c7/galaxy-dev/tool-data/funannotate/2025-02-17-210714
+2025-02-17-210732 Funannotate database 2025-02-17-210732 1.0 /tmp/tmpdtjxf3c7/galaxy-dev/tool-data/funannotate/2025-02-17-210732
+2025-02-17-211010 Funannotate database 2025-02-17-211010 1.0 /tmp/tmp07fm9fgh/galaxy-dev/tool-data/funannotate/2025-02-17-211010
+2025-02-17-211028 Funannotate database 2025-02-17-211028 1.0 /tmp/tmp07fm9fgh/galaxy-dev/tool-data/funannotate/2025-02-17-211028