# HG changeset patch
# User dfornika
# Date 1564171208 14400
# Node ID a391d55f928a44149465d369fd9ff711cf50404e
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_bracken_database/ commit 423cf96266f6ac433052ff72edb1397502313010-dirty
diff -r 000000000000 -r a391d55f928a data_manager/bracken_build_database.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/bracken_build_database.py Fri Jul 26 16:00:08 2019 -0400
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+
+from __future__ import print_function
+
+import argparse
+import datetime
+import errno
+import json
+import os
+import shutil
+import string
+import subprocess
+import sys
+import uuid
+
+
+DATA_TABLE_NAME = "bracken_databases"
+
+
+def bracken_build_database(target_directory, bracken_args, database_name, data_table_name=DATA_TABLE_NAME):
+
+ now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ")
+
+ database_value = str(uuid.uuid4())
+
+ database_name = database_name
+
+ database_path = database_value
+
+ try:
+ os.mkdir( os.path.join(target_directory, database_path) )
+ except OSError as exc:
+ if exc.errno == errno.EEXIST and os.path.isdir( os.path.join(target_directory, database_path) ):
+ pass
+ else:
+ raise
+
+
+
+ bracken_build_args_list = [
+ '-t', bracken_build_args['threads'],
+ '-k', bracken_build_args['kmer_len'],
+ '-l', bracken_build_args['read_len'],
+ '-d', bracken_build_args['kraken_database'],
+ ]
+
+ subprocess.check_call(['bracken-build'] + bracken_build_args_list,
+ cwd=os.path.join(target_directory, database_path))
+
+ bagit_args_list = [
+ database_path,
+ ]
+
+ subprocess.call(['bagit.py'] + bagit_args_list, cwd=target_directory)
+
+ data_table_entry = {
+ "data_tables": {
+ data_table_name: [
+ {
+ "value": database_value,
+ "name": database_name,
+ "path": os.path.join(database_path, 'data'),
+ }
+ ]
+ }
+ }
+
+ return data_table_entry
+
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('data_manager_json')
+ parser.add_argument('--threads', dest='threads', default=1, help='threads' )
+ parser.add_argument('--kmer-len', dest='kmer_len', help='K-mer length' )
+ parser.add_argument('--read-len', dest='read_len', help='Read length' )
+ parser.add_argument('--kraken-db', dest='kraken_database', help='Kraken Database' )
+ parser.add_argument('--database-name', dest='database_name', help='Database Name')
+ args = parser.parse_args()
+
+ data_manager_input = json.loads(open(args.data_manager_json).read())
+
+ target_directory = data_manager_input['output_data'][0]['extra_files_path']
+
+ bracken_build_args = {
+ 'threads': args.threads,
+ 'kmer_len': args.kmer_size,
+ 'read_len': args.kmer_size,
+ 'kraken_database': args.kraken_database,
+ }
+
+ try:
+ os.mkdir( target_directory )
+ except OSError as exc:
+ if exc.errno == errno.EEXIST and os.path.isdir( target_directory ):
+ pass
+ else:
+ raise
+
+ data_manager_output = {}
+
+ data_manager_output = bracken_build_database(
+ target_directory,
+ bracken_build_args,
+ args.database_name,
+ )
+
+ open(args.data_manager_json, 'wb').write(json.dumps(data_manager_output))
+
+
+if __name__ == "__main__":
+ main()
diff -r 000000000000 -r a391d55f928a data_manager/bracken_build_database.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager/bracken_build_database.xml Fri Jul 26 16:00:08 2019 -0400
@@ -0,0 +1,39 @@
+
+
+ bracken database builder
+
+ bracken
+ kraken2
+ bagit
+
+ bracken --version
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10.7717/peerj-cs.104
+
+
diff -r 000000000000 -r a391d55f928a data_manager_conf.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data_manager_conf.xml Fri Jul 26 16:00:08 2019 -0400
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff -r 000000000000 -r a391d55f928a tool-data/bracken_databases.loc.sample
diff -r 000000000000 -r a391d55f928a tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Fri Jul 26 16:00:08 2019 -0400
@@ -0,0 +1,8 @@
+
+
+
+
+