Mercurial > repos > iuc > data_manager_genomic_super_signature_ravmodels
comparison data_manager/data_manager_genomic_super_signature_ravmodels.py @ 0:b5bca6d58e4c draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_genomic_super_signature_ravmodels commit 1aadd5dce3b254e7714c2fdd39413029fd4b9b7a"
author | iuc |
---|---|
date | Wed, 12 Jan 2022 19:07:19 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:b5bca6d58e4c |
---|---|
1 #!/usr/bin/env python | |
2 # Dan Blankenberg | |
3 | |
4 | |
5 import argparse | |
6 import json | |
7 import os | |
8 import re | |
9 import shutil | |
10 import urllib.request | |
11 | |
12 | |
13 OUTPUT_BASE_NAME = 'RAVmodel.rds' | |
14 | |
15 BUCKET_NAME = "genomic_super_signature" | |
16 RAVMODEL_NAME = "RAVmodel_{prior}.rds" | |
17 PRIOR_URL = "https://storage.googleapis.com/{bucket_name}/{prior_filename}" | |
18 | |
19 | |
20 def get_prior_url(prior): | |
21 return PRIOR_URL.format(bucket_name=BUCKET_NAME, prior_filename=RAVMODEL_NAME.format(prior=prior)) | |
22 | |
23 | |
24 def clean(text): | |
25 return re.sub(r'[^\w\-_\.]', '-', text) | |
26 | |
27 | |
28 def main(): | |
29 parser = argparse.ArgumentParser() | |
30 parser.add_argument('--output', dest='output', action='store', type=str, default=None) | |
31 parser.add_argument('--json', dest='json', action='store', type=str, default=None) | |
32 parser.add_argument('--dbkey', dest='dbkey', action='store', type=str, default=None, help='dbkey') | |
33 parser.add_argument('--name', dest='name', action='store', type=str, default=None) | |
34 parser.add_argument('--id', dest='id', action='store', type=str, default=None) | |
35 parser.add_argument('--prior', dest='prior', action='store', type=str, default=None) | |
36 parser.add_argument('--url', dest='url', action='store', type=str, default=None) | |
37 parser.add_argument('--input', dest='input', action='store', type=str, default=None) | |
38 parser.add_argument('--symlink', dest='symlink', action='store_true', default=False) | |
39 parser.add_argument('--version', dest='version', action='store', type=str, default="0") | |
40 parser.add_argument('--tablename', dest='tablename', action='store', type=str, default="genomic_super_signature_ravmodels") | |
41 args = parser.parse_args() | |
42 | |
43 os.makedirs(args.output, exist_ok=True) | |
44 output_filename = os.path.join(args.output, OUTPUT_BASE_NAME) | |
45 if args.symlink: | |
46 assert args.input, "You must provide a filename when using symlink functionality." | |
47 os.symlink(args.input, output_filename) | |
48 else: | |
49 url = args.url | |
50 if args.prior: | |
51 url = get_prior_url(args.prior) | |
52 if url: | |
53 urllib.request.urlretrieve(url, output_filename) | |
54 else: | |
55 assert args.input, "You must provide a filename, prior, or URL." | |
56 shutil.copyfile(args.input, output_filename) | |
57 data_manager_dict = {'data_tables': {args.tablename: [dict(value=clean(args.id), dbkey=args.dbkey, version=args.version, name=args.name, path=OUTPUT_BASE_NAME)]}} | |
58 | |
59 with open(args.json, 'w') as fh: | |
60 json.dump(data_manager_dict, fh, sort_keys=True) | |
61 | |
62 | |
63 if __name__ == "__main__": | |
64 main() |