From b04c345b1b2e00eca11e9275da247caac1d3ce7f Mon Sep 17 00:00:00 2001 From: sepro Date: Wed, 8 Nov 2017 14:29:53 +0100 Subject: [PATCH] undefered profile in comparison to get low transcript abundance without an excess of queries --- conekt/controllers/specificity_comparison.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/conekt/controllers/specificity_comparison.py b/conekt/controllers/specificity_comparison.py index 7012386..892dde5 100644 --- a/conekt/controllers/specificity_comparison.py +++ b/conekt/controllers/specificity_comparison.py @@ -8,6 +8,7 @@ from conekt.models.relationships.sequence_interpro import SequenceInterproAssociation from conekt.models.species import Species +from sqlalchemy.orm import joinedload specificity_comparison = Blueprint('specificity_comparison', __name__) @@ -48,11 +49,17 @@ def specificity_comparison_main(): # Fetch results results_a = ExpressionSpecificity.query.filter(ExpressionSpecificity.method_id == method_a_id). \ filter(ExpressionSpecificity.score >= cutoff_a).\ - filter(ExpressionSpecificity.condition == condition_a).\ + filter(ExpressionSpecificity.condition == condition_a). \ + options( + joinedload(ExpressionSpecificity.profile).undefer("profile") + ).\ all() results_b = ExpressionSpecificity.query.filter(ExpressionSpecificity.method_id == method_b_id). \ filter(ExpressionSpecificity.score >= cutoff_b).\ - filter(ExpressionSpecificity.condition == condition_b).\ + filter(ExpressionSpecificity.condition == condition_b). \ + options( + joinedload(ExpressionSpecificity.profile).undefer("profile") + ). \ all() sequence_ids = [r.profile.sequence_id for r in results_a] + [r.profile.sequence_id for r in results_b]