Mercurial > repos > rnateam > aresite2
annotate aresite2.py @ 2:bbb027389a54 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit 7684f3ec344aadd7a90332e5598a9756855aa177-dirty
author | rnateam |
---|---|
date | Fri, 15 Sep 2017 14:53:30 -0400 |
parents | ed3a79e21230 |
children |
rev | line source |
---|---|
0
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
1 # A simple tool to connect to the AREsite server and retrieve feature |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
2 # information using the AREsite REST Interface. |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
3 # Parts of this code are from https://toolshed.g2.bx.psu.edu/repos/earlhaminst/ensembl_get_feature_info |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
4 import json |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
5 import optparse |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
6 import sys |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
7 import urllib.request, urllib.parse, urllib.error |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
8 import urllib.request, urllib.error, urllib.parse |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
9 import time |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
10 import requests |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
11 from six.moves.urllib.parse import urljoin |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
12 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
13 usage = "usage: %prog [options] arg1 arg2" |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
14 parser = optparse.OptionParser(usage=usage) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
15 parser.add_option('-g', '--gene', help='Gene ID to search for') |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
16 parser.add_option('-m', '--motif', help='Motif to look for', default='ATTTA', type=str) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
17 parser.add_option('-s', '--species', type='choice', |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
18 choices=['Homo_sapiens', 'Mus_musculus', 'Danio_rerio', 'Drosophila_melanogaster', 'Caenorhabditis_elegans'], default='Homo_sapiens', |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
19 help='Specify the species to investigate') |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
20 options, args = parser.parse_args() |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
21 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
22 if options.gene is None: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
23 raise Exception('- Specify the gene you want to look for!') |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
24 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
25 if "," in options.motif : |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
26 raise Exception('- Please only search for single motifs at once') |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
27 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
28 class AREsiteRestClient(object): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
29 def __init__(self, server='http://rna.tbi.univie.ac.at/AREsite2/api/', reqs_per_sec=1): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
30 self.server = server |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
31 self.reqs_per_sec = reqs_per_sec |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
32 self.req_count = 0 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
33 self.last_req = 0 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
34 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
35 def perform_rest_action(self, endpoint, hdrs=None, params=None): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
36 if hdrs is None: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
37 hdrs = {} |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
38 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
39 if 'Content-Type' not in hdrs: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
40 hdrs['Content-Type'] = 'application/json' |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
41 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
42 if params: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
43 endpoint += '?' + urllib.parse.urlencode(params) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
44 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
45 data = None |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
46 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
47 # check if we need to rate limit ourselves |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
48 if self.req_count >= self.reqs_per_sec: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
49 delta = time.time() - self.last_req |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
50 if delta < 1: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
51 time.sleep(1 - delta) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
52 self.last_req = time.time() |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
53 self.req_count = 0 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
54 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
55 try: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
56 request = urllib.request.Request(self.server + endpoint, headers=hdrs) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
57 response = urllib.request.urlopen(request) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
58 content = response.read().decode('utf-8') |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
59 if content: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
60 data = json.loads(content) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
61 self.req_count += 1 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
62 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
63 except urllib2.HTTPError as e: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
64 # check if we are being rate limited by the server |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
65 if e.code == 429: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
66 if 'Retry-After' in e.headers: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
67 retry = e.headers['Retry-After'] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
68 time.sleep(float(retry)) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
69 self.perform_rest_action(endpoint, hdrs, params) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
70 else: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
71 sys.stderr.write('Request failed for {0}: Status code: {1.code} Reason: {1.reason}\n'.format(endpoint, e)) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
72 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
73 return data |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
74 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
75 def get_motifs(self, species, gene, motifs): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
76 query = str('?query={0}&species={1}&list={2}'.format(gene, species, motifs)) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
77 if query: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
78 aresite = self.perform_rest_action( |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
79 query |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
80 ) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
81 return aresite |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
82 return None |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
83 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
84 def run(species, gene, motifs): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
85 client = AREsiteRestClient() |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
86 aresite = client.get_motifs(species, gene, motifs) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
87 if aresite: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
88 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
89 mots = aresite["exact_motifs"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
90 starts = aresite["motif_starts"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
91 ends = aresite["motif_ends"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
92 chrs = aresite["chromosomes"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
93 strands = aresite["strands"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
94 transcripts = aresite["transcripts"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
95 genes = aresite["genes"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
96 evh = aresite["hur_evidence"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
97 evt = aresite["ttp_evidence"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
98 eva = aresite["auf_evidence"] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
99 anno = aresite["annotation"] |
1
ed3a79e21230
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit 4897e30d01fe0ef4742bd58636269fdba5c09603
rnateam
parents:
0
diff
changeset
|
100 meanaccs = ['{:.4e}'.format(x) for x in aresite["meanacshort"]] |
ed3a79e21230
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit 4897e30d01fe0ef4742bd58636269fdba5c09603
rnateam
parents:
0
diff
changeset
|
101 meanaccl = ['{:.4e}'.format(x) for x in aresite["meanaclong"]] |
0
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
102 |
1
ed3a79e21230
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit 4897e30d01fe0ef4742bd58636269fdba5c09603
rnateam
parents:
0
diff
changeset
|
103 aresite = zip(chrs,starts,ends,mots,anno,strands,genes,transcripts,meanaccs,meanaccl,evh,evt,eva) |
0
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
104 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
105 def getKey(item): |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
106 return item[1] |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
107 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
108 aresite = sorted(aresite, key=getKey) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
109 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
110 for site in aresite: |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
111 print("\t".join(site)) |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
112 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
113 |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
114 if __name__ == '__main__': |
a203c4ed9166
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/aresite2 commit f437f5e8c6c856c6f0bb8d8ea6e34f5441ee088f
rnateam
parents:
diff
changeset
|
115 run(options.species, options.gene, options.motif) |