Mercurial > repos > dfornika > data_manager_build_kraken2_database
annotate data_manager/kraken2_build_custom.py @ 14:512c57d5d277 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:41:19 -0500 |
parents | 1f6fe9dc5490 |
children |
rev | line source |
---|---|
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
1 #!/usr/bin/env python |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
2 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
3 from __future__ import print_function |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
4 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
5 import argparse |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
6 import datetime |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
7 import errno |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
8 import json |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
9 import os |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
10 import string |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
11 import subprocess |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
12 import sys |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
13 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
14 from pprint import pprint |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
15 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
16 DATA_TABLE_NAME = "kraken2_databases" |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
17 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
18 def run(args, cwd): |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
19 proc = subprocess.Popen(args=args, shell=False, cwd=cwd) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
20 return_code = proc.wait() |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
21 if return_code: |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
22 print("Error building database.", file=sys.stderr) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
23 sys.exit( return_code ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
24 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
25 |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
26 def kraken2_build(data_manager_dict, kraken2_args, database_name, params, target_directory, data_table_name=DATA_TABLE_NAME): |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
27 today = datetime.date.today().isoformat() |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
28 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
29 args = [ |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
30 '--threads', str(kraken2_args["threads"]), |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
31 '--download-taxonomy', |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
32 '--db', database_name |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
33 ] |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
34 |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
35 run(['kraken2-build'] + args, target_directory) |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
36 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
37 args = [ |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
38 '--threads', str(kraken2_args["threads"]), |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
39 '--add-to-library', kraken2_args["fasta"], |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
40 '--db', database_name |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
41 ] |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
42 |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
43 run(['kraken2-build'] + args, target_directory) |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
44 |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
45 args = [ |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
46 '--threads', str(kraken2_args["threads"]), |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
47 '--build', |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
48 '--kmer-len', str(kraken2_args["kmer_len"]), |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
49 '--minimizer-len', str(kraken2_args["minimizer_len"]), |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
50 '--minimizer-spaces', str(kraken2_args["minimizer_spaces"]), |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
51 '--db', database_name |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
52 ] |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
53 |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
54 run(['kraken2-build'] + args, target_directory) |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
55 |
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
56 args = [ |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
57 '--threads', str(kraken2_args["threads"]), |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
58 '--clean', |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
59 '--db', database_name |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
60 ] |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
61 |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
62 run(['kraken2-build'] + args, target_directory) |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
63 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
64 data_table_entry = { |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
65 "value": database_name, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
66 "name": database_name, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
67 "path": database_name |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
68 } |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
69 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
70 _add_data_table_entry(data_manager_dict, data_table_name, data_table_entry) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
71 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
72 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
73 def _add_data_table_entry(data_manager_dict, data_table_name, data_table_entry): |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
74 data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
75 data_manager_dict['data_tables'][ data_table_name ] = data_manager_dict['data_tables'].get( data_table_name, [] ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
76 data_manager_dict['data_tables'][ data_table_name ].append( data_table_entry ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
77 return data_manager_dict |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
78 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
79 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
80 def main(): |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
81 parser = argparse.ArgumentParser() |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
82 parser.add_argument('params') |
5
1f6fe9dc5490
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit 47bcc8467200adee842a5574b67bc6ef46c0be71-dirty
dfornika
parents:
4
diff
changeset
|
83 parser.add_argument( '-d', '--db', dest='database_name', help='database name' ) |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
84 parser.add_argument( '-k', '--kmer-len', dest='kmer_len', type=int, default=35, help='kmer length' ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
85 parser.add_argument( '-m', '--minimizer-len', dest='minimizer_len', type=int, default=31, help='minimizer length' ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
86 parser.add_argument( '-s', '--minimizer-spaces', dest='minimizer_spaces', default=6, help='minimizer spaces' ) |
3
b03007bc0f05
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
2
diff
changeset
|
87 parser.add_argument( '-f', '--fasta', dest='fasta', help='fasta' ) |
2
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
88 parser.add_argument( '-t', '--threads', dest='threads', default=1, help='threads' ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
89 args = parser.parse_args() |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
90 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
91 kraken2_args = { |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
92 "kmer_len": args.kmer_len, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
93 "minimizer_len": args.minimizer_len, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
94 "minimizer_spaces": args.minimizer_spaces, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
95 "fasta": args.fasta, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
96 "threads": args.threads, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
97 } |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
98 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
99 params = json.loads(open(args.params).read()) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
100 pprint(params) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
101 target_directory = params['output_data'][0]['extra_files_path'] |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
102 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
103 try: |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
104 os.mkdir( target_directory ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
105 except OSError as exc: |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
106 if exc.errno == errno.EEXIST and os.path.isdir( target_directory ): |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
107 pass |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
108 else: |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
109 raise |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
110 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
111 data_manager_dict = {} |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
112 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
113 # build the index |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
114 kraken2_build( |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
115 data_manager_dict, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
116 kraken2_args, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
117 params, |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
118 target_directory |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
119 ) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
120 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
121 # save info to json file |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
122 open(args.params, 'wb').write(json.dumps(data_manager_dict)) |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
123 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
124 |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
125 if __name__ == "__main__": |
cf0cda80b659
planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/data_managers/data_manager_build_kraken2_database/ commit f05f93ee024df8b38efa1c92db9785d52c726f85-dirty
dfornika
parents:
diff
changeset
|
126 main() |