Mercurial > repos > iuc > data_manager_primer_scheme_bedfiles
annotate data_manager/install_primer_scheme_bedfiles.py @ 6:dd451e45681c draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
author | iuc |
---|---|
date | Tue, 16 Nov 2021 08:22:08 +0000 |
parents | 157a5c9ea72a |
children |
rev | line source |
---|---|
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
2 |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
3 from __future__ import division, print_function |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
4 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
5 import argparse |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
6 try: |
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
7 from io import StringIO |
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
8 except ImportError: |
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
9 from StringIO import StringIO |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
10 import json |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
11 import os |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
12 import os.path |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
13 import re |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
14 import sys |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
15 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
16 import requests |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
17 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
18 DATA_TABLE_NAME = "primer_scheme_bedfiles" |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
19 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
20 |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
21 def convert_and_write_bed(input_file, bed_output_filename, scheme_name, force_string=True): |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
22 with open(bed_output_filename, "w") as bed_output_file: |
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
23 for line in input_file: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
24 fields = line.strip().split("\t") |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
25 if "Midnight" in scheme_name: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
26 # Midnight primers are distributed in a tabular file, not a BED file |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
27 if line.startswith("Primer Name"): |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
28 continue |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
29 if len(fields) != 8: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
30 exit("Unexpected format in Midnight primer file: {}".format(line.rstrip())) |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
31 (primer_name, _, pool, _, _, _, start, end) = fields |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
32 strand = '+' if primer_name.endswith('LEFT') else '-' |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
33 if strand == '-': |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
34 start, end = end, start |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
35 fields = ["MN908947.3", start, end, primer_name, pool, strand] |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
36 else: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
37 if len(fields) < 5: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
38 # too short to encode the "ARTIC style BED" format |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
39 exit("invalid format in BED file: {}".format(line.rstrip())) |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
40 # 'BED' format used by ARTIC pipeline uses |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
41 # chrom start end primer_name pool_name |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
42 # see this: https://github.com/artic-network/fieldbioinformatics/blob/master/artic/vcftagprimersites.py#L76 |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
43 # for ARTIC minion and |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
44 # this: https://github.com/andersen-lab/ivar/blob/master/src/primer_bed.cpp#L125 |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
45 # for ivar trim (ivar trim treats the file as BED following the standard but also allows the ARTIC format) |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
46 try: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
47 float(fields[4]) |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
48 except ValueError: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
49 # this is a string, we can leave it as is |
3
a2953ef09fe1
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 1e0936cb95a0318809b3306fad43ce444d7682b0"
iuc
parents:
2
diff
changeset
|
50 pass |
a2953ef09fe1
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 1e0936cb95a0318809b3306fad43ce444d7682b0"
iuc
parents:
2
diff
changeset
|
51 else: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
52 # ensure that it is forced to be a string |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
53 fields[4] = '_{0}'.format(fields[4]) |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
54 print('\t'.join(fields), file=bed_output_file) |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
55 |
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
56 |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
57 def fetch_primers(output_directory, primers): |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
58 primer_sets = { |
1
cce5d9327cd6
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit c78a20041ead5aa639003db5311d7a0d88e204b6"
iuc
parents:
0
diff
changeset
|
59 "SARS-CoV-2-ARTICv1": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V1/nCoV-2019.bed", |
cce5d9327cd6
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit c78a20041ead5aa639003db5311d7a0d88e204b6"
iuc
parents:
0
diff
changeset
|
60 "SARS-CoV-2-ARTICv2": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V2/nCoV-2019.bed", |
cce5d9327cd6
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit c78a20041ead5aa639003db5311d7a0d88e204b6"
iuc
parents:
0
diff
changeset
|
61 "SARS-CoV-2-ARTICv3": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V3/nCoV-2019.bed", |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
62 "SARS-CoV-2-ARTICv4": "https://raw.githubusercontent.com/artic-network/artic-ncov2019/master/primer_schemes/nCoV-2019/V4/SARS-CoV-2.scheme.bed", |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
63 "VarSkip-V1a": "https://raw.githubusercontent.com/nebiolabs/VarSkip/main/schemes/NEB_VarSkip/V1a/NEB_VarSkip.scheme.bed", |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
64 "Midnight-v1": "https://zenodo.org/record/3897530/files/SARS-CoV-2_primer_sets_RBK004_nanopore_sequencing.tab?download=1" |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
65 } |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
66 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
67 data = [] |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
68 for name, url in primer_sets.items(): |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
69 if name not in primers: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
70 continue |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
71 response = requests.get(url) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
72 if response.status_code != 200: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
73 print( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
74 "Error: download of", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
75 url, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
76 "failed with code", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
77 response.status_code, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
78 file=sys.stderr, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
79 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
80 exit(response.status_code) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
81 bed_output_filename = os.path.join(output_directory, name + ".bed") |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
82 convert_and_write_bed(StringIO(response.text), bed_output_filename, name) |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
83 if 'ARTIC' in name: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
84 # split the vX from the rest of the name in ARTIC primer set description |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
85 description = name[:-2] + " " + name[-2:] + " primer set" |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
86 else: |
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
87 description = name + " primer set" |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
88 data.append(dict(value=name, path=bed_output_filename, description=description)) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
89 return data |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
90 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
91 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
92 def install_primer_file( |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
93 output_directory, input_filename, scheme_name, primer_description |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
94 ): |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
95 name = re.sub(r"[^\w-]", "", str(scheme_name).replace(" ", "_")) |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
96 output_filename = os.path.join(output_directory, name + ".bed") |
2
b3710e492ee4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 61b727022bd1b24a8843830a9c5f34ef66835694"
iuc
parents:
1
diff
changeset
|
97 with open(input_filename) as input_file: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
98 convert_and_write_bed(input_file, output_filename, scheme_name) |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
99 data = [dict(value=name, description=primer_description, path=output_filename)] |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
100 return data |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
101 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
102 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
103 class SplitArgs(argparse.Action): |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
104 def __call__(self, parser, namespace, values, option_string=None): |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
105 setattr(namespace, self.dest, values.split(",")) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
106 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
107 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
108 if __name__ == "__main__": |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
109 parser = argparse.ArgumentParser( |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
110 description="Fetch ARTIC, VarSkip and Midnight SARS-CoV-2 primer files for Galaxy/IRIDA use" |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
111 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
112 parser.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
113 "--output_directory", default="tmp", help="Directory to write output to" |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
114 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
115 primer_file = parser.add_argument_group() |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
116 primer_file.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
117 "--primer_file", help="BED format file containing primer scheme" |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
118 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
119 primer_file.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
120 "--primer_name", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
121 help="Name of primer scheme (one word). Required if --primer_file is used", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
122 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
123 primer_file.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
124 "--primer_description", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
125 help="Description of primer scheme. Required if --primer_file is used", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
126 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
127 artic = parser.add_argument_group() |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
128 artic.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
129 "--artic_primers", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
130 action=SplitArgs, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
131 help="Comma separated list of primers to fetch", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
132 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
133 parser.add_argument( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
134 "galaxy_datamanager_filename", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
135 help="Galaxy JSON format file describing data manager inputs", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
136 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
137 args = parser.parse_args() |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
138 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
139 if args.artic_primers is None and args.primer_file is None: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
140 print( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
141 "One of --artic_primers or --primer_file + --primer_name + --primer_description is required.", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
142 file=sys.stderr, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
143 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
144 exit(1) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
145 elif args.primer_file is not None and ( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
146 args.primer_name is None or args.primer_description is None |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
147 ): |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
148 print( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
149 "If --primer_file is used --primer_name and --primer_description is also required", |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
150 file=sys.stderr, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
151 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
152 exit(1) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
153 elif args.primer_file is not None and args.artic_primers is not None: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
154 print( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
155 "Only one of --artic_primers or --primer_file + --primer_name + --primer_description can be chosen" |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
156 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
157 exit(1) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
158 |
4
157a5c9ea72a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
3
diff
changeset
|
159 with open(args.galaxy_datamanager_filename) as fh: |
157a5c9ea72a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
3
diff
changeset
|
160 config = json.load(fh) |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
161 output_directory = config.get("output_data", [{}])[0].get("extra_files_path", None) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
162 if output_directory is None: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
163 output_directory = args.output_directory |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
164 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
165 if not os.path.isdir(output_directory): |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
166 os.makedirs(output_directory) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
167 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
168 data_manager_dict = {} |
4
157a5c9ea72a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
3
diff
changeset
|
169 data_manager_dict["data_tables"] = config.get("data_tables", {}) |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
170 data_manager_dict["data_tables"][DATA_TABLE_NAME] = [] |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
171 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
172 if args.artic_primers: |
6
dd451e45681c
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 4880dcfcdddd9ed8415ccde01b2f8e2c28dab5c3"
iuc
parents:
4
diff
changeset
|
173 data = fetch_primers(output_directory, args.artic_primers) |
0
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
174 else: |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
175 data = install_primer_file( |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
176 output_directory, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
177 args.primer_file, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
178 args.primer_name, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
179 args.primer_description, |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
180 ) |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
181 |
ae730ecdc7e7
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit f78536f45aa5ce801251a9725e468a47de1be44a"
iuc
parents:
diff
changeset
|
182 data_manager_dict["data_tables"][DATA_TABLE_NAME].extend(data) |
4
157a5c9ea72a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
3
diff
changeset
|
183 with open(args.galaxy_datamanager_filename, "w") as fh: |
157a5c9ea72a
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_primer_scheme_bedfiles commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
3
diff
changeset
|
184 json.dump(data_manager_dict, fh, sort_keys=True) |