Mercurial > repos > sanbi-uwc > data_manager_novocraft_index_builder
annotate data_manager/novocraft_index_builder.py @ 1:d9f0b710e097 draft
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 42f37282c19c7d1bacfdb5d366e589e51c770af0
author | sanbi-uwc |
---|---|
date | Fri, 04 Mar 2016 08:31:15 -0500 |
parents | 6cddc1a6e282 |
children | c276a826fc4b |
rev | line source |
---|---|
0
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
2 # Z. Mashologu (SANBI-UWC) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
3 # import dict as dict |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
4 from __future__ import print_function |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
5 import os |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
6 import sys |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
7 import urllib2 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
8 import logging |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
9 import argparse |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
10 import shlex |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
11 from subprocess import check_call, CalledProcessError |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
12 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
13 log = logging.getLogger(__name__) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
14 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
15 from json import loads, dumps |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
16 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
17 def get_dbkey_id_name(params, dbkey_description=None): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
18 dbkey = params['param_dict']['dbkey'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
19 # TODO: ensure sequence_id is unique and does not already appear in location file |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
20 sequence_id = params['param_dict']['sequence_id'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
21 if not sequence_id: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
22 sequence_id = dbkey # uuid.uuid4() generate and use an uuid instead? |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
23 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
24 sequence_name = params['param_dict']['sequence_name'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
25 if not sequence_name: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
26 sequence_name = dbkey_description |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
27 if not sequence_name: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
28 sequence_name = dbkey |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
29 return dbkey, sequence_id, sequence_name |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
30 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
31 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
32 def _make_novocraft_index(fasta_filename, target_directory): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
33 if os.path.exists(target_directory) and not os.path.isdir(target_directory): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
34 print("Output directory path already exists but is not a directory: {}".format(target_directory), |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
35 file=sys.stderr) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
36 elif not os.path.exists(target_directory): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
37 os.mkdir(target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
38 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
39 if 'GALAXY_SLOTS' in os.environ: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
40 nslots = os.environ['GALAXY_SLOTS'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
41 else: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
42 nslots = 1 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
43 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
44 #cmdline_str = 'STAR --runMode genomeGenerate --genomeDir {} --genomeFastaFiles {} --runThreadN {}'.format( |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
45 # target_directory, |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
46 # fasta_filename, |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
47 # nslots) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
48 #cmdline = shlex.split(cmdline_str) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
49 cmdline = ('touch', '{}/foo.nix'.format(target_directory)) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
50 try: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
51 check_call(cmdline) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
52 except CalledProcessError: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
53 print("Error building RNA STAR index", file=sys.stderr) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
54 return (target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
55 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
56 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
57 def download_from_url(params, target_directory): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
58 # TODO: we should automatically do decompression here |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
59 urls = filter(bool, map(lambda x: x.strip(), params['param_dict']['reference_source']['user_url'].split('\n'))) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
60 fasta_reader = [urllib2.urlopen(url) for url in urls] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
61 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
62 _make_novocraft_index(fasta_reader, target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
63 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
64 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
65 def download_from_history( params, target_directory): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
66 # TODO: allow multiple FASTA input files |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
67 input_filename = params['param_dict']['reference_source']['input_fasta'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
68 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
69 _make_novocraft_index(input_filename, target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
70 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
71 REFERENCE_SOURCE_TO_DOWNLOAD = dict(url=download_from_url, history=download_from_history) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
72 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
73 def main(): |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
74 parser = argparse.ArgumentParser(description="Generate Novo-align genome index and JSON describing this") |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
75 parser.add_argument('output_filename') |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
76 parser.add_argument('--dbkey_description') |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
77 parser.add_argument('--data_table_name', default='novocraft_index') |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
78 args = parser.parse_args() |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
79 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
80 filename = args.output_filename |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
81 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
82 params = loads(open(filename).read()) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
83 target_directory = params['output_data'][0]['extra_files_path'] |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
84 os.makedirs(target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
85 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
86 dbkey, sequence_id, sequence_name = get_dbkey_id_name(params, dbkey_description=args.dbkey_description) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
87 if dbkey in [None, '', '?']: |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
88 raise Exception('"%s" is not a valid dbkey. You must specify a valid dbkey.' % (dbkey)) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
89 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
90 # Fetch the FASTA |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
91 REFERENCE_SOURCE_TO_DOWNLOAD[params['param_dict']['reference_source']['reference_source_selector']]\ |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
92 (params, target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
93 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
94 data_table_entry = dict(value=sequence_id, dbkey=dbkey, name=sequence_name, path=target_directory) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
95 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
96 output_datatable_dict = dict(data_tables={args.data_table_name: [data_table_entry]}) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
97 open(filename, 'wb').write(dumps(output_datatable_dict)) |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
98 |
6cddc1a6e282
planemo upload for repository https://github.com/zipho/data_manager_novocraft_index_builder commit 3a0b36e3ee66f35f7e2d5e1220cd883a9d528fac
sanbi-uwc
parents:
diff
changeset
|
99 if __name__ == "__main__": main() |