comparison data_manager/bracken_build_database.py @ 3:66055e6b3cdf draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_build_bracken_database/ commit 798f4c97da10258a9ab6c16903b169ce69a05523"
author iuc
date Mon, 08 Nov 2021 15:51:15 +0000
parents 9ddc95bb2220
children
comparison
equal deleted inserted replaced
2:9ddc95bb2220 3:66055e6b3cdf
11 11
12 12
13 DATA_TABLE_NAME = "bracken_databases" 13 DATA_TABLE_NAME = "bracken_databases"
14 14
15 15
16 def bracken_build_database(target_directory, bracken_build_args, database_name, data_table_name=DATA_TABLE_NAME): 16 def bracken_build_database(target_directory, bracken_build_args, database_name, prebuilt=False, data_table_name=DATA_TABLE_NAME):
17 17
18 database_value = str(uuid.uuid4()) 18 database_value = str(uuid.uuid4())
19 19
20 database_name = database_name 20 database_name = database_name
21 21
22 database_path = os.path.join(bracken_build_args['kraken_database'], 'database' + str(bracken_build_args['read_len']) + 'mers.kmer_distrib') 22 database_path = os.path.join(bracken_build_args['kraken_database'], 'database' + str(bracken_build_args['read_len']) + 'mers.kmer_distrib')
23 23
24 bracken_build_args_list = [ 24 if not prebuilt:
25 '-t', bracken_build_args['threads'], 25 bracken_build_args_list = [
26 '-k', bracken_build_args['kmer_len'], 26 '-t', bracken_build_args['threads'],
27 '-l', bracken_build_args['read_len'], 27 '-k', bracken_build_args['kmer_len'],
28 '-d', bracken_build_args['kraken_database'], 28 '-l', bracken_build_args['read_len'],
29 ] 29 '-d', bracken_build_args['kraken_database'],
30 ]
30 31
31 subprocess.check_call(['bracken-build'] + bracken_build_args_list) 32 subprocess.check_call(['bracken-build'] + bracken_build_args_list)
32 33
33 data_table_entry = { 34 data_table_entry = {
34 "data_tables": { 35 "data_tables": {
35 data_table_name: [ 36 data_table_name: [
36 { 37 {
51 parser.add_argument('--threads', dest='threads', default=1, help='threads') 52 parser.add_argument('--threads', dest='threads', default=1, help='threads')
52 parser.add_argument('--kmer-len', dest='kmer_len', help='K-mer length') 53 parser.add_argument('--kmer-len', dest='kmer_len', help='K-mer length')
53 parser.add_argument('--read-len', dest='read_len', help='Read length') 54 parser.add_argument('--read-len', dest='read_len', help='Read length')
54 parser.add_argument('--kraken-db', dest='kraken_database', help='Kraken Database') 55 parser.add_argument('--kraken-db', dest='kraken_database', help='Kraken Database')
55 parser.add_argument('--database-name', dest='database_name', help='Database Name') 56 parser.add_argument('--database-name', dest='database_name', help='Database Name')
57 parser.add_argument('--prebuilt', action='store_true', dest='prebuilt', help='Use pre-built DB')
56 args = parser.parse_args() 58 args = parser.parse_args()
57 59
58 with open(args.data_manager_json) as fh: 60 with open(args.data_manager_json) as fh:
59 data_manager_input = json.load(fh) 61 data_manager_input = json.load(fh)
60 62
61 target_directory = data_manager_input['output_data'][0]['extra_files_path'] 63 target_directory = data_manager_input['output_data'][0]['extra_files_path']
62 64
63 bracken_build_args = { 65 if args.prebuilt:
64 'threads': args.threads, 66 bracken_build_args = {
65 'kmer_len': args.kmer_len, 67 'threads': args.threads,
66 'read_len': args.read_len, 68 'read_len': args.read_len,
67 'kraken_database': args.kraken_database, 69 'kraken_database': args.kraken_database,
68 } 70 }
71 else:
72 bracken_build_args = {
73 'threads': args.threads,
74 'kmer_len': args.kmer_len,
75 'read_len': args.read_len,
76 'kraken_database': args.kraken_database,
77 }
69 78
70 try: 79 try:
71 os.mkdir(target_directory) 80 os.mkdir(target_directory)
72 except OSError as exc: 81 except OSError as exc:
73 if exc.errno == errno.EEXIST and os.path.isdir(target_directory): 82 if exc.errno == errno.EEXIST and os.path.isdir(target_directory):
79 88
80 data_manager_output = bracken_build_database( 89 data_manager_output = bracken_build_database(
81 target_directory, 90 target_directory,
82 bracken_build_args, 91 bracken_build_args,
83 args.database_name, 92 args.database_name,
93 args.prebuilt,
84 ) 94 )
85 95
86 with open(args.data_manager_json, 'w') as fh: 96 with open(args.data_manager_json, 'w') as fh:
87 json.dump(data_manager_output, fh, sort_keys=True) 97 json.dump(data_manager_output, fh, sort_keys=True)
88 98