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