changeset 2:9b1beb18b477 draft

Deleted selected files
author jfallmann
date Wed, 01 Feb 2017 09:57:17 -0500
parents 6e02034384c7
children 755662977150
files aresite2.py aresite2.xml
diffstat 2 files changed, 0 insertions(+), 172 deletions(-) [+]
line wrap: on
line diff
--- a/aresite2.py	Wed Feb 01 09:55:11 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-# A simple tool to connect to the AREsite server and retrieve feature
-# information using the AREsite REST Interface.
-# Parts of this code are from https://toolshed.g2.bx.psu.edu/repos/earlhaminst/ensembl_get_feature_info
-from __future__ import print_function
-
-import json
-import optparse
-import sys
-import urllib
-import urllib2
-import time
-import requests
-from six.moves.urllib.parse import urljoin
-
-usage = "usage: %prog [options] arg1 arg2"
-parser = optparse.OptionParser(usage=usage)
-parser.add_option('-g', '--gene', help='Gene ID to search for')
-parser.add_option('-m', '--motif', help='Motif to look for', default='ATTTA', type=str)
-parser.add_option('-s', '--species', type='choice',
-                  choices=['Homo_sapiens', 'Mus_musculus', 'Danio_rerio', 'Drosophila_melanogaster', 'Caenorhabditis_elegans'], default='Homo_sapiens',
-                  help='Specify the species to investigate')
-options, args = parser.parse_args()
-
-if options.gene is None:
-    raise Exception('- Specify the gene you want to look for!')
-
-if "," in options.motif :
-    raise Exception('- Please only search for single motifs at once')
-
-class AREsiteRestClient(object):
-    def __init__(self, server='http://rna.tbi.univie.ac.at/AREsite2/api/', reqs_per_sec=1):
-        self.server = server
-        self.reqs_per_sec = reqs_per_sec
-        self.req_count = 0
-        self.last_req = 0
-
-    def perform_rest_action(self, endpoint, hdrs=None, params=None):
-        if hdrs is None:
-            hdrs = {}
-
-        if 'Content-Type' not in hdrs:
-            hdrs['Content-Type'] = 'application/json'
-
-        if params:
-            endpoint += '?' + urllib.urlencode(params)
-
-        data = None
-
-        # check if we need to rate limit ourselves
-        if self.req_count >= self.reqs_per_sec:
-            delta = time.time() - self.last_req
-            if delta < 1:
-                time.sleep(1 - delta)
-            self.last_req = time.time()
-            self.req_count = 0
-
-        try:
-            request = urllib2.Request(self.server + endpoint, headers=hdrs)
-            response = urllib2.urlopen(request)
-            content = response.read()
-            if content:
-                data = json.loads(content)
-            self.req_count += 1
-
-        except urllib2.HTTPError, e:
-            # check if we are being rate limited by the server
-            if e.code == 429:
-                if 'Retry-After' in e.headers:
-                    retry = e.headers['Retry-After']
-                    time.sleep(float(retry))
-                    self.perform_rest_action(endpoint, hdrs, params)
-            else:
-                sys.stderr.write('Request failed for {0}: Status code: {1.code} Reason: {1.reason}\n'.format(endpoint, e))
-
-        return data
-
-    def get_motifs(self, species, gene, motifs):
-        query = str('?query={0}&species={1}&list={2}'.format(gene, species, motifs))
-        if query:
-            aresite = self.perform_rest_action(
-                query
-            )
-            return aresite
-        return None
-
-def run(species, gene, motifs):
-    client = AREsiteRestClient()
-    aresite = client.get_motifs(species, gene, motifs)
-    if aresite:
-
-        mots        = aresite["exact_motifs"]
-        starts      = aresite["motif_starts"]
-        ends        = aresite["motif_ends"]
-        chrs        = aresite["chromosomes"]
-        strands     = aresite["strands"]
-        transcripts = aresite["transcripts"]
-        genes       = aresite["genes"]
-        evh         = aresite["hur_evidence"]
-        evt         = aresite["ttp_evidence"]
-        eva         = aresite["auf_evidence"]
-        anno        = aresite["annotation"]
-        
-        aresite = zip(chrs,starts,ends,mots,anno,strands,genes,transcripts,evh,evt,eva)
-
-        def getKey(item):
-            return item[1]
-
-        aresite = sorted(aresite, key=getKey)
-        
-#        outfile = 'AREsite2_Rest_{0}_{1}_{2}.bed'.format(motifs,gene,species)       
-#        f = open(outfile, 'w')
-        
-        for i in range(len(aresite)):
-            #            f.write("\t".join(aresite[i])+"\n")
-            print ("\t".join(aresite[i])+"\n")
-                
-            
-if __name__ == '__main__':
-    run(options.species, options.gene, options.motif)
--- a/aresite2.xml	Wed Feb 01 09:55:11 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<tool id="AREsite2_REST" name="Get motifs from AREsite2" version="0.1.2">
-    <description>AREsite2 REST Interface</description>
-    <requirements>
-        <requirement type="package" version="2.12.4">requests</requirement>
-        <requirement type="package" version="1.10.0">six</requirement>
-    </requirements>
-    <command>
-<![CDATA[
-python $__tool_directory__/aresite2.py
--g $gene
--m "$motif"
--s $species_selector
-> $AREsite2_REST_out
-]]>
-    </command>
-
-    <inputs>
-    <param name="gene" type="text" label="Gene ID to search for" help="Try e.g. cxcl2" />
-    <param name="species_selector" type="select" label="Select species">
-        <option value="Homo_sapiens" selected="true"></option>
-        <option value="Mus_musculus"></option>
-	<option value="Danio_rerio"></option>
-	<option value="Drosophila_melanogaster"></option>
-	<option value="Caenorhabditis_elegans"></option>
-    </param>
-    <param name="motif" type="text" label="Motif to search for" help="Choose a single motif, e.g. ATTTA" />
-    </inputs>
-
-    <outputs>
-        <data name="AREsite2_REST_out" label="AREsite2_Rest_${motif}_${gene}_${species_selector}" type="text" format="bed" />
-    </outputs>
-
-    <tests>
-        <test>
-          <param name="species" value="Homo_sapiens" />
-          <param name="motif" value="ATTTA" />
-	  <param name="gene" value="Cxcl2" />
-          <output name="outputFile" file="AREsite2_Rest_ATTTA_cxcl2_Homo_sapiens.bed" />
-        </test>
-    </tests>
-
-    <help>
-<![CDATA[
-**What it does**
-
-Retrieve motif information in BED format from AREsite2 using its REST API.
-
-]]>
-    </help>
-    <citations>
-      <citation type="doi">10.1093/nar/gkv1238</citation>
-    </citations>
-</tool>