annotate data_manager/kraken2_build_special.py @ 12:039a65ff445d draft

planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
author dfornika
date Tue, 05 Mar 2019 15:11:05 -0500
parents 1dc93ae264e6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
1 #!/usr/bin/env python
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
2
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
3 from __future__ import print_function
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
4
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
5 import argparse
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
6 import datetime
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
7 import errno
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
8 import json
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
9 import os
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
10 import string
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
11 import subprocess
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
12 import sys
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
13
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
14
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
15 DATA_TABLE_NAME = "kraken2_databases"
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
16
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
17 def run(args, cwd):
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
18 proc = subprocess.Popen(args=args, shell=False, cwd=cwd)
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
19 return_code = proc.wait()
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
20 if return_code:
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
21 print("Error building database.", file=sys.stderr)
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
22 sys.exit( return_code )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
23
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
24 def kraken2_build_standard(data_manager_dict, kraken2_args, target_directory, data_table_name=DATA_TABLE_NAME):
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
25
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
26 now = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H%M%SZ")
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
27
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
28 special_database_names = {
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
29 "rdp": "RDP",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
30 "greengenes": "Greengenes",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
31 "silva": "Silva",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
32 }
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
33
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
34 database_value = "_".join([
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
35 now,
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
36 kraken2_args["special"],
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
37 "kmer-len", str(kraken2_args["kmer_len"]),
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
38 "minimizer-len", str(kraken2_args["minimizer_len"]),
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
39 "minimizer-spaces", str(kraken2_args["minimizer_spaces"]),
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
40 ])
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
41
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
42 database_name = " ".join([
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
43 special_database_names[kraken2_args["special"]],
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
44 "(Created:",
12
039a65ff445d planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 11
diff changeset
45 now + ",",
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
46 "kmer-len=" + str(kraken2_args["kmer_len"]) + ",",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
47 "minimizer-len=" + str(kraken2_args["minimizer_len"]) + ",",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
48 "minimizer-spaces=" + str(kraken2_args["minimizer_spaces"]) + ")",
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
49 ])
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
50
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
51 database_path = database_value
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
52
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
53 args = [
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
54 '--threads', str(kraken2_args["threads"]),
8
f53064ca5398 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 7
diff changeset
55 '--special', kraken2_args["special"],
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
56 '--kmer-len', str(kraken2_args["kmer_len"]),
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
57 '--minimizer-len', str(kraken2_args["minimizer_len"]),
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
58 '--minimizer-spaces', str(kraken2_args["minimizer_spaces"]),
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
59 '--db', database_path
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
60 ]
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
61
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
62 run(['kraken2-build'] + args, target_directory)
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
63
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
64 args = [
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
65 '--threads', str(kraken2_args["threads"]),
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
66 '--clean',
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
67 '--db', database_path
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
68 ]
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
69
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
70 run(['kraken2-build'] + args, target_directory)
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
71
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
72 data_table_entry = {
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
73 "value": database_value,
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
74 "name": database_name,
11
1dc93ae264e6 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 9
diff changeset
75 "path": database_path,
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
76 }
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
77
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
78 _add_data_table_entry(data_manager_dict, data_table_entry)
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
79
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
80
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
81 def _add_data_table_entry(data_manager_dict, data_table_entry, data_table_name=DATA_TABLE_NAME):
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
82 data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
83 data_manager_dict['data_tables'][data_table_name] = data_manager_dict['data_tables'].get( data_table_name, [] )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
84 data_manager_dict['data_tables'][data_table_name].append( data_table_entry )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
85 return data_manager_dict
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
86
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
87
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
88 def main():
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
89 parser = argparse.ArgumentParser()
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
90 parser.add_argument('data_manager_json')
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
91 parser.add_argument( '-b', '--db-type', dest='db_type', help='database type (one of: silva, rdp, greengenes)' )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
92 parser.add_argument( '-k', '--kmer-len', dest='kmer_len', type=int, default=35, help='kmer length' )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
93 parser.add_argument( '-m', '--minimizer-len', dest='minimizer_len', type=int, default=31, help='minimizer length' )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
94 parser.add_argument( '-s', '--minimizer-spaces', dest='minimizer_spaces', default=6, help='minimizer spaces' )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
95 parser.add_argument( '-t', '--threads', dest='threads', default=1, help='threads' )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
96 args = parser.parse_args()
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
97
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
98 kraken2_args = {
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
99 "special": args.db_type,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
100 "kmer_len": args.kmer_len,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
101 "minimizer_len": args.minimizer_len,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
102 "minimizer_spaces": args.minimizer_spaces,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
103 "threads": args.threads,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
104 }
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
105
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
106 data_manager_input = json.loads(open(args.data_manager_json).read())
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
107
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
108 target_directory = data_manager_input['output_data'][0]['extra_files_path']
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
109
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
110 try:
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
111 os.mkdir( target_directory )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
112 except OSError as exc:
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
113 if exc.errno == errno.EEXIST and os.path.isdir( target_directory ):
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
114 pass
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
115 else:
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
116 raise
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
117
9
1601703ae511 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 8
diff changeset
118 data_manager_output = {}
1601703ae511 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 8
diff changeset
119
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
120 kraken2_build_standard(
9
1601703ae511 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 8
diff changeset
121 data_manager_output,
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
122 kraken2_args,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
123 target_directory,
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
124 )
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
125
9
1601703ae511 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents: 8
diff changeset
126 open(args.data_manager_json, 'wb').write(json.dumps(data_manager_output))
7
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
127
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
128
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
129 if __name__ == "__main__":
ae6180bdb1e9 planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 70494d589aa1990618ebc7a895e91477d41c3203-dirty
dfornika
parents:
diff changeset
130 main()