Mercurial > repos > dfornika > data_manager_build_kraken2_database
changeset 28:b400ae4d47cc draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_build_kraken2_database/ commit c8f2b96ddc843364a398179740cca5218b0d26f6-dirty
author | dfornika |
---|---|
date | Wed, 27 Mar 2019 19:54:12 -0400 |
parents | e5ce69466699 |
children | 65cbfb5e6f65 |
files | data_manager/kraken2_build_custom.py data_manager/kraken2_build_minikraken.py data_manager/kraken2_build_special.py data_manager/kraken2_build_standard.py |
diffstat | 4 files changed, 40 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/data_manager/kraken2_build_custom.py Tue Mar 05 16:45:10 2019 -0500 +++ b/data_manager/kraken2_build_custom.py Wed Mar 27 19:54:12 2019 -0400 @@ -3,44 +3,33 @@ from __future__ import print_function import argparse -import datetime import errno import json import os -import string import subprocess import sys -from pprint import pprint DATA_TABLE_NAME = "kraken2_databases" -def run(args, cwd): - proc = subprocess.Popen(args=args, shell=False, cwd=cwd) - return_code = proc.wait() - if return_code: - print("Error building database.", file=sys.stderr) - sys.exit( return_code ) - def kraken2_build(data_manager_dict, kraken2_args, database_name, params, target_directory, data_table_name=DATA_TABLE_NAME): - today = datetime.date.today().isoformat() - + args = [ '--threads', str(kraken2_args["threads"]), '--download-taxonomy', '--db', database_name ] - - run(['kraken2-build'] + args, target_directory) - + + subprocess.check_call(['kraken2-build'] + args, cwd=target_directory) + args = [ '--threads', str(kraken2_args["threads"]), '--add-to-library', kraken2_args["fasta"], '--db', database_name ] - - run(['kraken2-build'] + args, target_directory) + + subprocess.check_call(['kraken2-build'] + args, cwd=target_directory) args = [ '--threads', str(kraken2_args["threads"]), @@ -50,23 +39,23 @@ '--minimizer-spaces', str(kraken2_args["minimizer_spaces"]), '--db', database_name ] - - run(['kraken2-build'] + args, target_directory) - + + subprocess.check_call(['kraken2-build'] + args, cwd=target_directory) + args = [ '--threads', str(kraken2_args["threads"]), '--clean', '--db', database_name ] - run(['kraken2-build'] + args, target_directory) - + subprocess.check_call(['kraken2-build'] + args, target_directory) + data_table_entry = { "value": database_name, "name": database_name, "path": database_name } - + _add_data_table_entry(data_manager_dict, data_table_name, data_table_entry) @@ -95,9 +84,8 @@ "fasta": args.fasta, "threads": args.threads, } - + params = json.loads(open(args.params).read()) - pprint(params) target_directory = params['output_data'][0]['extra_files_path'] try:
--- a/data_manager/kraken2_build_minikraken.py Tue Mar 05 16:45:10 2019 -0500 +++ b/data_manager/kraken2_build_minikraken.py Wed Mar 27 19:54:12 2019 -0400 @@ -7,13 +7,13 @@ import errno import json import os -import string import subprocess import sys DATA_TABLE_NAME = "kraken2_databases" + def run(args, cwd): proc = subprocess.Popen(args=args, shell=False, cwd=cwd) return_code = proc.wait() @@ -21,10 +21,11 @@ print("Error building database.", file=sys.stderr) sys.exit( return_code ) + def kraken2_build_minikraken(data_manager_dict, minikraken2_version, target_directory, data_table_name=DATA_TABLE_NAME): - + now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ") - + database_value = "_".join([ now, "minikraken2", @@ -40,20 +41,20 @@ ]) database_path = database_value - + args = [ 'https://ccb.jhu.edu/software/kraken2/dl/minikraken2_' + minikraken2_version + '_8GB.tgz' ] - run(['wget'] + args, target_directory) + subprocess.check_call(['wget'] + args, cwd=target_directory) args = [ '-p', database_path, ] - run(['mkdir'] + args, target_directory) - + subprocess.check_call(['mkdir'] + args, cwd=target_directory) + args = [ '-xvzf', 'minikraken2_' + minikraken2_version + '_8GB.tgz', @@ -61,14 +62,14 @@ database_path, ] - run(['tar'] + args, target_directory) + subprocess.check_call(['tar'] + args, cwd=target_directory) data_table_entry = { "value": database_value, "name": database_name, "path": database_path, } - + _add_data_table_entry(data_manager_dict, data_table_entry) @@ -86,7 +87,7 @@ parser.add_argument( '-t', '--threads', dest='threads', default=1, help='threads' ) 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'] @@ -100,7 +101,7 @@ raise data_manager_output = {} - + kraken2_build_minikraken( data_manager_output, args.minikraken2_version,
--- a/data_manager/kraken2_build_special.py Tue Mar 05 16:45:10 2019 -0500 +++ b/data_manager/kraken2_build_special.py Wed Mar 27 19:54:12 2019 -0400 @@ -7,13 +7,13 @@ import errno import json import os -import string import subprocess import sys DATA_TABLE_NAME = "kraken2_databases" + def run(args, cwd): proc = subprocess.Popen(args=args, shell=False, cwd=cwd) return_code = proc.wait() @@ -21,8 +21,9 @@ print("Error building database.", file=sys.stderr) sys.exit( return_code ) + def kraken2_build_standard(data_manager_dict, kraken2_args, target_directory, data_table_name=DATA_TABLE_NAME): - + now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ") special_database_names = { @@ -30,7 +31,7 @@ "greengenes": "Greengenes", "silva": "Silva", } - + database_value = "_".join([ now, kraken2_args["special"], @@ -49,7 +50,7 @@ ]) database_path = database_value - + args = [ '--threads', str(kraken2_args["threads"]), '--special', kraken2_args["special"], @@ -74,7 +75,7 @@ "name": database_name, "path": database_path, } - + _add_data_table_entry(data_manager_dict, data_table_entry) @@ -102,7 +103,7 @@ "minimizer_spaces": args.minimizer_spaces, "threads": args.threads, } - + data_manager_input = json.loads(open(args.data_manager_json).read()) target_directory = data_manager_input['output_data'][0]['extra_files_path'] @@ -116,7 +117,7 @@ raise data_manager_output = {} - + kraken2_build_standard( data_manager_output, kraken2_args,
--- a/data_manager/kraken2_build_standard.py Tue Mar 05 16:45:10 2019 -0500 +++ b/data_manager/kraken2_build_standard.py Wed Mar 27 19:54:12 2019 -0400 @@ -7,13 +7,13 @@ import errno import json import os -import string import subprocess import sys DATA_TABLE_NAME = "kraken2_databases" + def run(args, cwd): proc = subprocess.Popen(args=args, shell=False, cwd=cwd) return_code = proc.wait() @@ -21,9 +21,10 @@ print("Error building database.", file=sys.stderr) sys.exit( return_code ) + def kraken2_build_standard(data_manager_dict, kraken2_args, target_directory, data_table_name=DATA_TABLE_NAME): now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ") - + database_value = "_".join([ now, "standard", @@ -42,7 +43,7 @@ ]) database_path = database_value - + args = [ '--threads', str(kraken2_args["threads"]), '--standard', @@ -67,7 +68,7 @@ "name": database_name, "path": database_path, } - + _add_data_table_entry(data_manager_dict, data_table_entry) @@ -93,7 +94,7 @@ "minimizer_spaces": args.minimizer_spaces, "threads": args.threads, } - + data_manager_input = json.loads(open(args.data_manager_json).read()) target_directory = data_manager_input['output_data'][0]['extra_files_path'] @@ -107,7 +108,7 @@ raise data_manager_output = {} - + kraken2_build_standard( data_manager_output, kraken2_args,