Skip to content

Commit 66140c3

Browse files
committed
Draft of modified meta-analysis. However, front end doesn't work.
1 parent c740d6b commit 66140c3

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/mavedb/lib/experiments.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22
from typing import Optional
33

4-
from sqlalchemy import func, or_
4+
from sqlalchemy import func, or_, not_
55
from sqlalchemy.orm import Session
66

77
from mavedb.lib.logging.context import logging_context, save_to_logging_context
@@ -99,6 +99,17 @@ def search_experiments(
9999
)
100100
)
101101

102+
if search.meta_analysis is not None:
103+
if not search.meta_analysis:
104+
query = query.filter(
105+
or_(
106+
# Keep experiments without any score sets
107+
not_(Experiment.score_sets.any()),
108+
# Keep experiments where score sets exist but have no meta_analyzes_score_sets
109+
Experiment.score_sets.any(not_(ScoreSet.meta_analyzes_score_sets.any()))
110+
)
111+
)
112+
102113
items: list[Experiment] = query.order_by(Experiment.urn, Experiment.title).all()
103114
if not items:
104115
items = []

src/mavedb/view_models/search.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class ExperimentsSearch(BaseModel):
1111
publication_identifiers: Optional[list[str]]
1212
keywords: Optional[list[str]]
1313
text: Optional[str]
14+
meta_analysis: Optional[bool]
1415

1516

1617
class ScoreSetsSearch(BaseModel):

0 commit comments

Comments
 (0)