Previous changeset 3:9d09724f2bf1 (2020-11-22) Next changeset 5:f21e77139fb5 (2023-12-18) |
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_mothur_toolsuite/ commit f845716f6ac93500f143a30abef97eaba406344e" |
modified:
data_manager/data_manager_fetch_mothur_reference_data.xml data_manager/fetch_mothur_reference_data.py |
b |
diff -r 9d09724f2bf1 -r 0db22932bc39 data_manager/data_manager_fetch_mothur_reference_data.xml --- a/data_manager/data_manager_fetch_mothur_reference_data.xml Sun Nov 22 12:51:44 2020 +0000 +++ b/data_manager/data_manager_fetch_mothur_reference_data.xml Fri Jun 25 09:37:05 2021 +0000 |
[ |
@@ -1,8 +1,8 @@ <?xml version="1.0"?> -<tool id="data_manager_fetch_mothur_reference_data" name="Fetch Mothur toolsuite reference data" version="0.1.5" tool_type="manage_data" profile="19.05"> +<tool id="data_manager_fetch_mothur_reference_data" name="Fetch Mothur toolsuite reference data" version="0.2.1" tool_type="manage_data" profile="19.05"> <description>Fetch and install reference data for Mothur</description> <requirements> - <requirement type="package" version="2.7">python</requirement> + <requirement type="package" version="3.8">python</requirement> </requirements> <command><![CDATA[ python '$__tool_directory__/fetch_mothur_reference_data.py' @@ -31,12 +31,14 @@ <option value="lookup_titanium">GS FLX Titanium lookup files</option> <option value="lookup_gsflx">GSFLX lookup files</option> <option value="lookup_gs20">GS20 lookup files</option> + <option value="RDP_v18">RDP reference files (training set version 18)</option> <option value="RDP_v16">RDP reference files (training set version 16)</option> <option value="RDP_v14">RDP reference files (training set version 14)</option> <option value="RDP_v10">RDP reference files (training set version 10)</option> <option value="RDP_v9">RDP reference files (training set version 9)</option> <option value="RDP_v7">RDP reference files (training set version 7)</option> <option value="RDP_v6">RDP reference files (training set version 6)</option> + <option value="silva_release_138.1">SILVA reference files (release 138.1)</option> <option value="silva_release_128">SILVA reference files (release 128)</option> <option value="silva_release_123">SILVA reference files (release 123)</option> <option value="silva_release_119">SILVA reference files (release 119)</option> @@ -93,6 +95,18 @@ </output> </test> <test> + <param name="data_source|ref_data" value="RDP_v18"/> + <output name="out_file"> + <assert_contents> + <has_text text="16S rRNA RDP training set 18" /> + <has_text text="trainset18_062020.rdp.fasta" /> + <has_text text="trainset18_062020.rdp.tax" /> + <has_text text="trainset18_062020.pds.fasta" /> + <has_text text="trainset18_062020.pds.tax" /> + </assert_contents> + </output> + </test> + <test> <param name="data_source|ref_data" value="RDP_v16"/> <output name="out_file"> <assert_contents> |
b |
diff -r 9d09724f2bf1 -r 0db22932bc39 data_manager/fetch_mothur_reference_data.py --- a/data_manager/fetch_mothur_reference_data.py Sun Nov 22 12:51:44 2020 +0000 +++ b/data_manager/fetch_mothur_reference_data.py Fri Jun 25 09:37:05 2021 +0000 |
[ |
b'@@ -1,6 +1,7 @@\n-#!/usr/bin/env python\n+#!/usr/bin/env python3\n #\n # Data manager for reference data for the \'mothur_toolsuite\' Galaxy tools\n+import io\n import json\n import optparse\n import os\n@@ -8,7 +9,9 @@\n import sys\n import tarfile\n import tempfile\n-import urllib2\n+import urllib.error\n+import urllib.parse\n+import urllib.request\n import zipfile\n from functools import reduce\n \n@@ -38,6 +41,14 @@\n },\n # RDP reference files\n # http://www.mothur.org/wiki/RDP_reference_files\n+ "RDP_v18": {\n+ "16S rRNA RDP training set 18":\n+ [\n+ "https://mothur.s3.us-east-2.amazonaws.com/wiki/trainset18_062020.rdp.tgz", ],\n+ "16S rRNA PDS training set 18":\n+ [\n+ "https://mothur.s3.us-east-2.amazonaws.com/wiki/trainset18_062020.pds.tgz", ],\n+ },\n "RDP_v16": {\n "16S rRNA RDP training set 16":\n ["https://mothur.s3.us-east-2.amazonaws.com/wiki/trainset16_022016.rdp.tgz", ],\n@@ -76,6 +87,12 @@\n },\n # Silva reference files\n # http://www.mothur.org/wiki/Silva_reference_files\n+ "silva_release_138.1": {\n+ "SILVA release 138.1":\n+ [\n+ "https://mothur.s3.us-east-2.amazonaws.com/wiki/silva.nr_v138_1.tgz",\n+ "https://mothur.s3.us-east-2.amazonaws.com/wiki/silva.seed_v138_1.tgz", ],\n+ },\n "silva_release_128": {\n "SILVA release 128":\n ["https://mothur.s3.us-east-2.amazonaws.com/wiki/silva.nr_v128.tgz",\n@@ -230,14 +247,19 @@\n Returns the name that the file is saved with.\n \n """\n- print("Downloading %s" % url)\n+ print(f"Downloading {url}")\n if not target:\n target = os.path.basename(url)\n if wd:\n target = os.path.join(wd, target)\n- print("Saving to %s" % target)\n+ print(f"Saving to {target}")\n with open(target, \'wb\') as fh:\n- fh.write(urllib2.urlopen(url).read())\n+ url_h = urllib.request.urlopen(url)\n+ while True:\n+ buffer = url_h.read(io.DEFAULT_BUFFER_SIZE)\n+ if buffer == b"":\n+ break\n+ fh.write(buffer)\n return target\n \n \n@@ -257,13 +279,13 @@\n \n """\n if not zipfile.is_zipfile(filen):\n- print("%s: not ZIP formatted file")\n+ print(f"{filen}: not ZIP formatted file")\n return [filen]\n file_list = []\n with zipfile.ZipFile(filen) as z:\n for name in z.namelist():\n if reduce(lambda x, y: x or name.startswith(y), IGNORE_PATHS, False):\n- print("Ignoring %s" % name)\n+ print(f"Ignoring {name}")\n continue\n if wd:\n target = os.path.join(wd, name)\n@@ -271,14 +293,14 @@\n target = name\n if name.endswith(\'/\'):\n # Make directory\n- print("Creating dir %s" % target)\n+ print(f"Creating dir {target}")\n try:\n os.makedirs(target)\n except OSError:\n pass\n else:\n # Extract file\n- print("Extracting %s" % name)\n+ print("Extracting {target}")\n try:\n os.makedirs(os.path.dirname(target))\n except OSError:\n@@ -286,7 +308,7 @@\n with open(target, \'wb\') as fh:\n fh.write(z.read(name))\n file_list.append(target)\n- print("Removing %s" % filen)\n+ print(f"Removing {filen}")\n os.remove(filen)\n return file_list\n \n@@ -309,23 +331,23 @@\n """\n file_list = []\n if not tarfile.is_tarfile(filen):\n- print("%s: not TAR file")\n+ print(f"{filen}: not TAR file")\n return [filen]\n with tarfile.open(filen) as t:\n for name in t.getnames():\n # Check for unwanted files\n if reduce(lambda x, y: x or name.startswith(y), IGNORE_PATHS, False):\n- print("Ignoring %s" % name)\n+ pr'..b')\n if ext == ".zip":\n return unpack_zip_archive(filen, wd=wd)\n elif ext == ".tgz":\n@@ -386,7 +408,7 @@\n try:\n return MOTHUR_FILE_TYPES[ext]\n except KeyError:\n- print("WARNING: unknown file type for " + filen + ", skipping")\n+ print(f"WARNING: unknown file type for {filen}, skipping")\n return None\n \n \n@@ -419,26 +441,27 @@\n """\n # Make working dir\n wd = tempfile.mkdtemp(suffix=".mothur", dir=os.getcwd())\n- print("Working dir %s" % wd)\n+ print(f"Working dir {wd}")\n # Iterate over all requested reference data URLs\n for dataset in datasets:\n- print("Handling dataset \'%s\'" % dataset)\n+ print(f"Handling dataset \'{dataset}\'")\n for name in MOTHUR_REFERENCE_DATA[dataset]:\n for f in fetch_files(MOTHUR_REFERENCE_DATA[dataset][name], wd=wd):\n type_ = identify_type(f)\n- entry_name = "%s (%s)" % (os.path.splitext(os.path.basename(f))[0], name)\n- print("%s\\t\\\'%s\'\\t.../%s" % (type_, entry_name, os.path.basename(f)))\n+ name_from_file = os.path.splitext(os.path.basename(f))[0]\n+ entry_name = f"{name_from_file} ({name})"\n+ print(f"{type_}\\t\\\'{entry_name}\'\\t.../{os.path.basename(f)}")\n if type_ is not None:\n # Move to target dir\n ref_data_file = os.path.basename(f)\n f1 = os.path.join(target_dir, ref_data_file)\n- print("Moving %s to %s" % (f, f1))\n- os.rename(f, f1)\n+ print(f"Moving {f} to {f1}")\n+ shutil.move(f, f1)\n # Add entry to data table\n- table_name = "mothur_%s" % type_\n+ table_name = f"mothur_{type_}"\n add_data_table_entry(data_tables, table_name, dict(name=entry_name, value=ref_data_file))\n # Remove working dir\n- print("Removing %s" % wd)\n+ print(f"Removing {wd}")\n shutil.rmtree(wd)\n \n \n@@ -454,7 +477,7 @@\n files = []\n for path in paths:\n path = os.path.abspath(path)\n- print("Examining \'%s\'..." % path)\n+ print(f"Examining \'{path}\'...")\n if os.path.isfile(path):\n # Store full path for file\n files.append(path)\n@@ -493,21 +516,21 @@\n for f in files:\n type_ = identify_type(f)\n if type_ is None:\n- print("%s: unrecognised type, skipped" % f)\n+ print(f"{f}: unrecognised type, skipped")\n continue\n ref_data_file = os.path.basename(f)\n target_file = os.path.join(target_dir, ref_data_file)\n entry_name = "%s" % os.path.splitext(ref_data_file)[0]\n if description:\n entry_name += " (%s)" % description\n- print("%s\\t\\\'%s\'\\t.../%s" % (type_, entry_name, ref_data_file))\n+ print(f"{type_}\\t\\\'{entry_name}\'\\t.../{ref_data_file}")\n # Link to or copy the data\n if link_to_data:\n os.symlink(f, target_file)\n else:\n shutil.copyfile(f, target_file)\n # Add entry to data table\n- table_name = "mothur_%s" % type_\n+ table_name = f"mothur_{type_}"\n add_data_table_entry(data_tables, table_name, dict(name=entry_name, value=ref_data_file))\n \n \n@@ -522,8 +545,8 @@\n parser.add_option(\'--description\', action=\'store\', dest=\'description\', default=\'\')\n parser.add_option(\'--link\', action=\'store_true\', dest=\'link_to_data\')\n options, args = parser.parse_args()\n- print("options: %s" % options)\n- print("args : %s" % args)\n+ print(f"options: {options}")\n+ print(f"args : {args}")\n \n # Check for JSON file\n if len(args) != 1:\n@@ -536,7 +559,7 @@\n params, target_dir = read_input_json(jsonfile)\n \n # Make the target directory\n- print("Making %s" % target_dir)\n+ print(f"Making {target_dir}")\n os.mkdir(target_dir)\n \n # Set up data tables dictionary\n' |