Mercurial > repos > iuc > data_manager_snpeff
annotate data_manager/data_manager_snpEff_download.py @ 11:def511e8e005 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 00d1775d87af54665ec1871f021bcec6b4b7a15a"
author | iuc |
---|---|
date | Tue, 24 Nov 2020 07:27:28 +0000 |
parents | c6fbc5421697 |
children |
rev | line source |
---|---|
0 | 1 #!/usr/bin/env python |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
2 import json |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
3 import optparse |
0 | 4 import os |
5 import re | |
6 import subprocess | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
7 import sys |
0 | 8 |
9 | |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
10 def fetch_databases(genome_list=None): |
0 | 11 snpDBs = dict() |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
12 databases_path = 'databases.out' |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
13 args = ['snpEff', 'databases'] |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
14 with open(databases_path, 'w') as databases_output: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
15 return_code = subprocess.call(args=args, shell=False, stdout=databases_output.fileno()) |
0 | 16 if return_code: |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
17 sys.exit(return_code) |
0 | 18 try: |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
19 with open(databases_path, 'r') as fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
20 for line in fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
21 fields = line.split('\t') |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
22 if len(fields) >= 2: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
23 genome_version = fields[0].strip() |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
24 if genome_list and genome_version not in genome_list: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
25 continue |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
26 if genome_version.startswith("Genome") or genome_version.startswith("-"): |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
27 continue |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
28 description = fields[1].strip() |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
29 snpDBs[genome_version] = description |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
30 except Exception as e: |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
31 sys.exit('Error parsing %s %s\n' % (databases_path, str(e))) |
0 | 32 return snpDBs |
33 | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
34 |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
35 def getOrganismNames(genomes, organisms): |
0 | 36 genome_list = genomes.split(',') |
37 organism_list = organisms.split(',') if organisms else [] | |
38 if len(genome_list) != len(organism_list): | |
39 descriptions = [] | |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
40 snpDBdict = fetch_databases(genome_list=genome_list) |
0 | 41 for genome in snpDBdict: |
42 descriptions.append(snpDBdict[genome] if genome in snpDBdict else genome) | |
43 return ','.join(descriptions) | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
44 return organisms |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
45 |
0 | 46 |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
47 def getSnpeffVersion(): |
0 | 48 snpeff_version = 'SnpEff ?.?' |
49 stderr_path = 'snpeff.err' | |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
50 args = ['snpEff', '-h'] |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
51 with open(stderr_path, 'w') as stderr_fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
52 return_code = subprocess.call(args=args, shell=False, stderr=stderr_fh.fileno()) |
0 | 53 if return_code != 255: |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
54 sys.exit(return_code) |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
55 with open(stderr_path) as fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
56 for line in fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
57 m = re.match(r'^[Ss]npEff version (SnpEff)\s*(\d+\.\d+).*$', line) |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
58 if m: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
59 snpeff_version = m.groups()[0] + m.groups()[1] |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
60 break |
0 | 61 return snpeff_version |
62 | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
63 |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
64 # Download human database 'hg19' |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
65 # java -jar snpEff.jar download -v hg19 |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
66 # |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
67 # <command>java -jar \$SNPEFF_JAR_PATH/snpEff.jar download -c \$JAVA_JAR_PATH/snpEff.config $genomeVersion > $logfile </command> |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
68 # |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
69 # snpEffectPredictor.bin |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
70 # regulation_HeLa-S3.bin |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
71 # regulation_pattern = 'regulation_(.+).bin' |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
72 def download_database(data_manager_dict, target_directory, genome_version, organism): |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
73 # get data_dir from config |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
74 # --- |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
75 # Databases are stored here |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
76 # E.g.: Information for 'hg19' is stored in data_dir/hg19/ |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
77 # |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
78 # Note: Since version 2.1 you can use tilde ('~') as first character to refer to your home directory |
0 | 79 data_dir = target_directory |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
80 args = ['snpEff', 'download', '-dataDir', data_dir, '-v', genome_version] |
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
81 return_code = subprocess.call(args=args, shell=False) |
0 | 82 if return_code: |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
83 sys.exit(return_code) |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
84 # search data_dir/genome_version for files |
0 | 85 regulation_pattern = 'regulation_(.+).bin' |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
86 genome_path = os.path.join(data_dir, genome_version) |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
87 snpeff_version = getSnpeffVersion() |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
88 key = snpeff_version + '_' + genome_version |
0 | 89 if os.path.isdir(genome_path): |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
90 for _, _, files in os.walk(genome_path): |
0 | 91 for fname in files: |
92 if fname.startswith('snpEffectPredictor'): | |
93 # if snpEffectPredictor.bin download succeeded | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
94 name = genome_version + (' : ' + organism if organism else '') |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
95 data_table_entry = dict(key=key, version=snpeff_version, value=genome_version, name=name, path=data_dir) |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
96 _add_data_table_entry(data_manager_dict, 'snpeffv_genomedb', data_table_entry) |
0 | 97 else: |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
98 m = re.match(regulation_pattern, fname) |
0 | 99 if m: |
100 name = m.groups()[0] | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
101 data_table_entry = dict(key=key, version=snpeff_version, genome=genome_version, value=name, name=name) |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
102 _add_data_table_entry(data_manager_dict, 'snpeffv_regulationdb', data_table_entry) |
0 | 103 return data_manager_dict |
104 | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
105 |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
106 def _add_data_table_entry(data_manager_dict, data_table, data_table_entry): |
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
107 data_manager_dict['data_tables'] = data_manager_dict.get('data_tables', {}) |
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
108 data_manager_dict['data_tables'][data_table] = data_manager_dict['data_tables'].get(data_table, []) |
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
109 data_manager_dict['data_tables'][data_table].append(data_table_entry) |
0 | 110 return data_manager_dict |
111 | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
112 |
0 | 113 def main(): |
114 parser = optparse.OptionParser() | |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
115 parser.add_option('-g', '--genome_version', dest='genome_version', action='store', type="string", default=None, help='genome_version') |
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
116 parser.add_option('-o', '--organism', dest='organism', action='store', type="string", default=None, help='organism name') |
0 | 117 (options, args) = parser.parse_args() |
118 | |
119 filename = args[0] | |
120 | |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
121 with open(filename) as fh: |
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
122 params = json.load(fh) |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
123 target_directory = params['output_data'][0]['extra_files_path'] |
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
124 os.mkdir(target_directory) |
0 | 125 data_manager_dict = {} |
126 | |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
127 # Create SnpEff Reference Data |
5
3d9dd4b9fb09
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 5c6d595ecbf2e4e39c25662a165c9e475e01ecd1-dirty
iuc
parents:
4
diff
changeset
|
128 for genome_version, organism in zip(options.genome_version.split(','), getOrganismNames(options.genome_version, options.organism).split(',')): |
9
08d7998c3afb
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 036feef4f46b5aedabc5080c8fa4bc00d9c30d95"
iuc
parents:
8
diff
changeset
|
129 download_database(data_manager_dict, target_directory, genome_version, organism) |
0 | 130 |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
131 # save info to json file |
11
def511e8e005
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 00d1775d87af54665ec1871f021bcec6b4b7a15a"
iuc
parents:
10
diff
changeset
|
132 with open(filename, 'w') as fh: |
10
c6fbc5421697
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 02d2967f77e3fa5a18aea63dc84aa9ab418dc165"
iuc
parents:
9
diff
changeset
|
133 json.dump(data_manager_dict, fh, sort_keys=True) |
0 | 134 |
4
847b0f43c0e5
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_snpeff commit 8652f36a3a3838dca989426961561e81432acf4f
iuc
parents:
1
diff
changeset
|
135 |
1
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
136 if __name__ == "__main__": |
85a23e2dd92b
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/data_managers/data_manager_snpeff commit 88c982c5adcd32b11d98428fc554a4fdfcc19584
iuc
parents:
0
diff
changeset
|
137 main() |