From 099c1a9f30f7cb308d8dbce3c0675f21f3d9e60b Mon Sep 17 00:00:00 2001 From: Martijn Vermaat <martijn@vermaat.name> Date: Fri, 30 Jan 2015 13:07:09 +0100 Subject: [PATCH] Fix for getGeneLocation query on PostgreSQL SQLite accepted the incorrect non-aggregate use of columns missing from the GROUP BY, whereas PostgreSQL did not. --- mutalyzer/services/rpc.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/mutalyzer/services/rpc.py b/mutalyzer/services/rpc.py index fe79c8d1..e70b238d 100644 --- a/mutalyzer/services/rpc.py +++ b/mutalyzer/services/rpc.py @@ -1351,11 +1351,12 @@ class MutalyzerService(ServiceBase): session.query(func.min(TranscriptMapping.start), func.max(TranscriptMapping.stop), TranscriptMapping.orientation, - Chromosome) \ + Chromosome.name, + Chromosome.accession) \ .filter(TranscriptMapping.chromosome.has(assembly=assembly), TranscriptMapping.gene == gene) \ .join(TranscriptMapping.chromosome) \ - .group_by(TranscriptMapping.chromosome, + .group_by(Chromosome.id, TranscriptMapping.orientation) \ .first() @@ -1364,15 +1365,16 @@ class MutalyzerService(ServiceBase): raise Fault("EARG", "No location was found for gene %s." % gene) - start, stop, orientation, chromosome = mapping + start, stop, orientation, chromosome_name, chromosome_accession \ + = mapping result = GeneLocation() result.gene = gene result.start = start result.stop = stop result.orientation = orientation - result.chromosome_name = chromosome.name - result.chromosome_accession = chromosome.accession + result.chromosome_name = chromosome_name + result.chromosome_accession = chromosome_accession result.assembly_name = assembly.name result.assembly_alias = assembly.alias -- GitLab