Mercurial > repos > galaxyp > dbbuilder
comparison uniprotkb.py @ 11:8e637098a8ab draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/dbbuilder commit 16ba4570b04301b774ee0420694f379cc640744b
author | galaxyp |
---|---|
date | Tue, 27 Sep 2022 13:22:04 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
10:e9df53a75f3c | 11:8e637098a8ab |
---|---|
1 #!/usr/bin/env python | |
2 | |
3 import argparse | |
4 import sys | |
5 | |
6 import requests | |
7 | |
8 uniprotkb_url = 'https://rest.uniprot.org/uniprotkb/stream?compressed=true&format=fasta&query=' | |
9 | |
10 | |
11 def __main__(): | |
12 parser = argparse.ArgumentParser( | |
13 description='Retrieve Uniprot data using streaming') | |
14 parser.add_argument('-u', '--url', help="Uniprot rest api URL") | |
15 parser.add_argument('-q', '--query', help="UniprotKB Query") | |
16 parser.add_argument('-o', '--output', type=argparse.FileType('wb'), default=sys.stdout, help='data') | |
17 parser.add_argument('-d', '--debug', action='store_true', help='Debug') | |
18 args = parser.parse_args() | |
19 if args.url: | |
20 url = args.url | |
21 else: | |
22 url = uniprotkb_url + args.query | |
23 with requests.get(url, stream=True) as request: | |
24 request.raise_for_status() | |
25 for chunk in request.iter_content(chunk_size=2**20): | |
26 args.output.write(chunk) | |
27 | |
28 | |
29 if __name__ == "__main__": | |
30 __main__() |