Mercurial > repos > dfornika > data_manager_build_kraken2_database
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 |
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() |