NLeSC / MAGMa

eMetabolomics project: Mass Annotation based on in silico Generated Metabolites
http://www.emetabolomics.org
Apache License 2.0
14 stars 6 forks source link

filter on name and scans fails #12

Closed ridderl closed 11 years ago

ridderl commented 11 years ago

Setting a filter on Name gives "Failed to load metabolites from server" error. This only happens when the filter on scans is active.

2012-09-25 15:24:21,303 ERROR [waitress][Dummy-3] Exception when serving /magma/results/00000000-eeee-0000-eeee-000000000000/metabolites.json Traceback (most recent call last): File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/waitress-0.8.1-py2.7.egg/waitress/channel.py", line 329, in service task.service() File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/waitress-0.8.1-py2.7.egg/waitress/task.py", line 173, in service self.execute() File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/waitress-0.8.1-py2.7.egg/waitress/task.py", line 380, in execute app_iter = self.channel.server.application(env, start_response) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/urlmap.py", line 203, in call return app(environ, start_response) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/gzipper.py", line 38, in call response.gzip_start_response) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/router.py", line 251, in call response = self.invoke_subrequest(request, use_tweens=True) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/router.py", line 227, in invoke_subrequest response = handle_request(request) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/tweens.py", line 20, in excview_tween response = handler(request) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/router.py", line 161, in handle_request response = view_callable(context, request) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/config/views.py", line 342, in rendered_view result = view(context, request) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/pyramid-1.4a1-py2.7.egg/pyramid/config/views.py", line 456, in _class_requestonly_view response = getattr(inst, attr)() File "/home/ridderl/workspace/magma/web/magmaweb/views.py", line 157, in metabolitesjson scans = job.scansWithMetabolites(filters=filters) File "/home/ridderl/workspace/magma/web/magmaweb/job.py", line 802, in scansWithMetabolites for hit in self.session.query(Scan.rt, Scan.scanid).filterby(mslevel=1).filter(Scan.scanid.in(fq)): File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2227, in iter return self._execute_and_instances(context) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2242, in _execute_and_instances result = conn.execute(querycontext.statement, self._params) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1449, in execute params) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1584, in _execute_clauseelement compiled_sql, distilled_params File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1698, in _execute_context context) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1691, in _execute_context context) File "/home/ridderl/workspace/magma/env/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 331, in do_execute cursor.execute(statement, parameters) OperationalError: (OperationalError) ambiguous column name: metabolites.origin u"SELECT scans.rt AS scans_rt, scans.scanid AS scans_scanid \nFROM scans \nWHERE scans.mslevel = ? AND scans.scanid IN (SELECT fragments.scanid AS fragments_scanid \nFROM fragments JOIN metabolites ON metabolites.metid = fragments.metid JOIN metabolites ON metabolites.metid = fragments.metid \nWHERE fragments.parentfragid = ? AND metabolites.origin LIKE '%%' || ? || '%%' AND metabolites.nhits > ?)" (1, 0, u'methyl', 0)

sverhoeven commented 11 years ago

Pull request #12 fixed this.