Mercurial > repos > bgruening > uniprot_rest_interface
annotate uniprot.py @ 0:ddcc8591ddfb draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
| author | bgruening | 
|---|---|
| date | Fri, 09 Oct 2015 16:39:30 -0400 | 
| parents | |
| children | 357dc1f016f5 | 
| rev | line source | 
|---|---|
| 
0
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
2 """ | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
3 uniprot python interface | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
4 to access the uniprot database | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
5 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
6 Based on work from Jan Rudolph: https://github.com/jdrudolph/uniprot | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
7 available services: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
8 map | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
9 retrieve | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
10 """ | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
11 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
12 import requests | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
13 import sys, argparse | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
14 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
15 url = 'http://www.uniprot.org/' | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
16 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
17 def _retrieve(query, format='txt'): | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
18 """_retrieve is not meant for use with the python interface, use `retrieve` | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
19 instead""" | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
20 tool = 'batch/' | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
21 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
22 query = list(set(query.split('\n'))) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
23 queries = [query[i:i+100] for i in range(0, len(query), 100)] | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
24 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
25 data = {'format':format} | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
26 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
27 responses = [requests.post(url + tool, data=data, files={'file':' '.join(query)}) for query in queries] | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
28 page = ''.join([response.text for response in responses]) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
29 return page | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
30 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
31 def retrieve(ids, format='txt'): | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
32 """ request entries by uniprot acc using batch retrieval | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
33 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
34 Args: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
35 query: list of ids to retrieve | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
36 format: txt by default | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
37 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
38 Help: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
39 possible formats: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
40 txt, xml, rdf, fasta, gff""" | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
41 if type(ids) is not list: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
42 ids = [ids] | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
43 return _retrieve(' '.join(ids), format) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
44 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
45 def _map(query, f, t, format='tab'): | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
46 """ _map is not meant for use with the python interface, use `map` instead | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
47 """ | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
48 tool = 'mapping/' | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
49 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
50 data = { | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
51 'from':f, | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
52 'to':t, | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
53 'format':format, | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
54 'query': query | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
55 } | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
56 response = requests.post(url + tool, data=data) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
57 page = response.text | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
58 return page | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
59 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
60 def map(ids, f, t, format='tab'): | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
61 """ map a list of ids from one format onto another using uniprots mapping api | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
62 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
63 Args: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
64 query: id or list of ids to be mapped | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
65 f: from ACC | P_ENTREZGENEID | ... | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
66 t: to ... | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
67 format: tab by default | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
68 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
69 Help: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
70 for a list of all possible mappings visit | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
71 'http://www.uniprot.org/faq/28' | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
72 """ | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
73 if type(ids) is not list: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
74 ids = [ids] | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
75 page = _map(' '.join(ids), f, t, format) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
76 result = dict() | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
77 for row in page.splitlines()[1:]: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
78 key, value = row.split('\t') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
79 if key in result: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
80 result[key].add(value) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
81 else: | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
82 result[key] = set([value]) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
83 return result | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
84 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
85 if __name__ == '__main__': | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
86 import argparse | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
87 import sys | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
88 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
89 parser = argparse.ArgumentParser(description='retrieve uniprot mapping') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
90 subparsers = parser.add_subparsers(dest='tool') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
91 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
92 mapping = subparsers.add_parser('map') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
93 mapping.add_argument('f', help='from') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
94 mapping.add_argument('t', help='to') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
95 mapping.add_argument('inp', nargs='?', type=argparse.FileType('r'), | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
96 default=sys.stdin, help='input file (default: stdin)') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
97 mapping.add_argument('out', nargs='?', type=argparse.FileType('w'), | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
98 default=sys.stdout, help='output file (default: stdout)') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
99 mapping.add_argument('--format', default='tab', help='output format') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
100 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
101 retrieve = subparsers.add_parser('retrieve') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
102 retrieve.add_argument('inp', metavar = 'in', nargs='?', type=argparse.FileType('r'), | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
103 default=sys.stdin, help='input file (default: stdin)') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
104 retrieve.add_argument('out', nargs='?', type=argparse.FileType('w'), | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
105 default=sys.stdout, help='output file (default: stdout)') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
106 retrieve.add_argument('-f', '--format', help='specify output format', default='txt') | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
107 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
108 args = parser.parse_args() | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
109 query = args.inp.read() | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
110 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
111 if args.tool == 'map': | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
112 args.out.write(_map(query, args.f, args.t, args.format)) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
113 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
114 elif args.tool == 'retrieve': | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
115 args.out.write(_retrieve(query, format=args.format)) | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
116 | 
| 
 
ddcc8591ddfb
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 2b8ad1bbfe098129ae32cd8311a755dff58ae97b-dirty
 
bgruening 
parents:  
diff
changeset
 | 
117 | 
