Skip to content

Commit b3a6095

Browse files
committed
fixes for gene resolution
1 parent f3e7b54 commit b3a6095

8 files changed

Lines changed: 28 additions & 23 deletions

File tree

api/api/data_ws.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ def _re_detail_linkedGenes(self, j, accession):
738738

739739
def _re_detail_rampage(self, j, accession):
740740
cre = CRE(self.pgSearch, accession, self.cache)
741-
nearbyGenes = cre.nearbyPcGenes()
741+
nearbyGenes = self._re_detail_nearbyGenomic(self, accession)[accession]["nearby_genes"]
742742
nearest = min(nearbyGenes, key=lambda x: x["distance"])
743743
rampage = Rampage(self.assembly, self.pgSearch, self.cache)
744744
ret = rampage.getByGene(nearest)

api/api/geneexp_ws.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ def abort(err):
8282
r = {"assembly": self.assembly,
8383
"gene": gene}
8484
for assay_name in ["total RNA-seq", "polyA RNA-seq", "all"]:
85-
single = cge.computeHorBars(name, compartments, biosample_types_selected, assay_name if assay_name != "all" else None)
86-
mean = cge.computeHorBarsMean(name, compartments, biosample_types_selected, assay_name if assay_name != "all" else None)
85+
single = cge.computeHorBars(gene, compartments, biosample_types_selected, assay_name if assay_name != "all" else None)
86+
mean = cge.computeHorBarsMean(gene, compartments, biosample_types_selected, assay_name if assay_name != "all" else None)
8787
itemsByRID = cge.itemsByRID
8888
r[assay_name] = {"assembly": self.assembly,
89-
"gene": name,
89+
"gene": gene,
9090
"strand": strand,
9191
"ensemblid_ver": gi.ensemblid_ver,
9292
"coords": {"chrom": gi.chrom,

api/common/pg_parse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def _exactGeneMatch(self, s, usetss, tssDist):
6565
ac.chrom, ac.start, ac.stop,
6666
ac.altchrom, ac.altstart, ac.altstop,
6767
similarity(ac.name, %s) AS sm, ac.pointer,
68-
gi.approved_symbol, gi.strand
68+
gi.info->'symbol' AS approved_symbol, gi.strand
6969
FROM {assembly}_gene_search ac
7070
INNER JOIN {assembly}_gene_info gi
7171
ON gi.id = ac.pointer

api/common/pg_search.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ def crePos(self, accession):
135135

136136
def _getGenes(self, accession, chrom, allOrPc):
137137
rows = self.pw.fetchall("_getGenes", """
138-
SELECT gi.approved_symbol, g.distance, gi.ensemblid_ver,
138+
SELECT gi.info->>'symbol' AS approved_symbol, g.distance, gi.ensemblid_ver,
139139
gi.chrom, gi.start, gi.stop
140140
FROM
141141
(SELECT UNNEST(gene_{allOrPc}_id) geneid,
@@ -159,8 +159,9 @@ def geneInfo(self, gene):
159159
WHERE approved_symbol = %s
160160
OR ensemblid = %s
161161
OR ensemblid_ver = %s
162+
OR info->>'symbol' = %s
162163
""".format(gtn=self.assembly + "_gene_info"),
163-
(gene, gene, gene))
164+
(gene, gene, gene, gene))
164165
return r
165166

166167
def intersectingSnps(self, accession, coord, halfWindow):
@@ -405,13 +406,14 @@ def genePos(self, gene):
405406
ensemblid = gene.split('.')[0]
406407

407408
r = self.pw.fetchone("cre_pos", """
408-
SELECT chrom, start, stop, approved_symbol, ensemblid_ver FROM {tn}
409+
SELECT chrom, start, stop, info->>'symbol' AS approved_symbol, ensemblid_ver FROM {tn}
409410
WHERE chrom != ''
410411
AND (approved_symbol = %s
411412
OR ensemblid = %s
412-
OR ensemblid_ver = %s)
413+
OR ensemblid_ver = %s
414+
OR info->>'symbol' = %s)
413415
""".format(tn=self.assembly + "_gene_info"),
414-
(gene, ensemblid, gene))
416+
(gene, ensemblid, gene, gene))
415417
if not r:
416418
print("ERROR: missing", gene)
417419
return None, None
@@ -518,15 +520,15 @@ def datasets(self, assay):
518520

519521
def genemap(self):
520522
rows = self.pw.fetchall("pg::genemap", """
521-
SELECT ensemblid, approved_symbol, strand
523+
SELECT ensemblid, info->>'symbol' AS approved_symbol, strand
522524
FROM {tn}
523525
WHERE strand != ''
524526
""".format(tn=self.assembly + "_gene_info"))
525527
toSymbol = {r[0]: r[1] for r in rows}
526528
toStrand = {r[0]: r[2] for r in rows}
527529

528530
rows = self.pw.fetchall("pg::genemap", """
529-
SELECT ensemblid_ver, approved_symbol, strand
531+
SELECT ensemblid_ver, info->>'symbol' AS approved_symbol, strand
530532
FROM {tn}
531533
WHERE strand != ''
532534
""".format(tn=self.assembly + "_gene_info"))
@@ -593,9 +595,9 @@ def rampageByGene(self, ensemblid_ver):
593595
rows = self.pw.fetchallAsDict("rampageByGene", """
594596
SELECT *
595597
FROM {tn}
596-
WHERE ensemblid_ver = %s
598+
WHERE ensemblid_ver ILIKE %s || '%%'
597599
""".format(tn=self.assembly + "_rampage"),
598-
(ensemblid_ver, ))
600+
(ensemblid_ver.split('.')[0], ))
599601

600602
ret = []
601603
for r in rows:
@@ -624,7 +626,7 @@ def rampageEnsemblID(self, gene):
624626
r = self.pw.fetchone("rampageEnsemblID", """
625627
SELECT ensemblid_ver
626628
FROM {assembly}_gene_info
627-
WHERE approved_symbol = %(gene)s
629+
WHERE approved_symbol = %(gene)s OR info->>'symbol' = %(gene)s
628630
""".format(assembly=self.assembly),
629631
{"gene": gene})
630632
return r[0]
@@ -639,15 +641,15 @@ def geBiosampleTypes(self):
639641

640642
def geneIDsToApprovedSymbol(self):
641643
rows = self.pw.fetchall("geneIDsToApprovedSymbol", """
642-
SELECT geneid, approved_symbol
644+
SELECT geneid, info->>'symbol' AS approved_symbol
643645
FROM {gtn}
644646
ORDER BY 1
645647
""".format(gtn=self.assembly + "_gene_info"))
646648
return {r[0]: r[1] for r in rows}
647649

648650
def genePGIDsToApprovedSymbol(self):
649651
rows = self.pw.fetchall("geneIDsToApprovedSymbol", """
650-
SELECT id, approved_symbol
652+
SELECT id, info->>'symbol' AS approved_symbol
651653
FROM {gtn}
652654
ORDER BY 1
653655
""".format(gtn=self.assembly + "_gene_info"))

api/main_apis.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,8 @@ def globalData(self, ver, assembly):
217217
@cherrypy.expose
218218
def healthz(self):
219219
return "ok"
220+
221+
@cherrypy.expose
222+
def img(self, *args):
223+
cherrypy.response.headers["Content-Type"] = "image/png"
224+
return requests.get("http://gcp.wenglab.org/%s" % ('/'.join(args))).content

api/models/cre.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ def nearbyGenes(self):
7070
ret.sort(key=lambda g: g["distance"])
7171
return ret
7272

73-
def nearbyPcGenes(self):
73+
def nearbyPcGenes(self, chromosome = None):
7474
coord = self.coord()
7575
if not self.genesAll or not self.genesPC:
7676
self.genesAll, self.genesPC = self.pgSearch.creGenes(self.accession,
77-
coord.chrom)
77+
chromosome if chromosome is not None else coord.chrom)
7878
ret = []
7979
for g in self.genesPC:
8080
ret.append({"name": g[0], "distance": g[1], "ensemblid_ver": g[2],

api/models/gene_expression.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def doComputeHorBars(self, q, gene, compartments, biosample_types_selected,
124124
a = """
125125
SELECT chrom, start, stop
126126
FROM {assembly}_gene_info
127-
WHERE approved_symbol = %(gene)s
127+
WHERE approved_symbol = %(gene)s OR info->>'symbol' = %(gene)s
128128
""".format(assembly=self.assembly)
129129
grows = self.pw.fetchall("doComputeHorBars", a, {"gene": gene})
130130

api/server.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@ def getRootConfig(self):
5555
'/': {
5656
'tools.response_headers.on': True,
5757
'tools.response_headers.headers': [
58-
('Access-Control-Allow-Origin', Config.uiURL),
59-
('Access-Control-Allow-Origin', "https://screen.wenglab.org"),
60-
('Access-Control-Allow-Origin', "https://screen.encodeproject.org")
58+
('Access-Control-Allow-Origin', '*')
6159
]
6260
},
6361
'/assets': {

0 commit comments

Comments
 (0)