def test_query_gene_function_mga_metap(db: Session): sample1 = fakes.BiosampleFactory(id="sample1") fakes.BiosampleFactory(id="sample2") gene_functions = [ fakes.MGAGeneFunction(function__id=f"function{i}") for i in range(10) ] fakes.MetagenomeAnnotationFactory(id="mga1", gene_functions=gene_functions, omics_processing__biosample=sample1) metap = fakes.MetaproteomicAnalysisFactory(id="metap1") peptide = fakes.MetaproteomicPeptideFactory( metaproteomic_analysis=metap, best_protein_object=gene_functions[2]) fakes.PeptideMGAGeneFunctionFactory(mga_gene_function=gene_functions[1], metaproteomic_peptide=peptide) db.commit() models.MGAGeneFunctionAggregation.populate(db) models.MetaPGeneFunctionAggregation.populate(db) db.commit() q = query.MetagenomeAnnotationQuerySchema(conditions=[{ "table": "gene_function", "field": "id", "value": "function1", }], ) assert {r.id for r in q.execute(db)} == {"mga1"} q = query.MetagenomeAnnotationQuerySchema(conditions=[{ "table": "gene_function", "field": "id", "value": "invalid", }], ) assert {r.id for r in q.execute(db)} == set() q1 = query.MetaproteomicAnalysisQuerySchema(conditions=[{ "table": "gene_function", "field": "id", "value": "function1", }], ) assert {r.id for r in q1.execute(db)} == {"metap1"} q1 = query.MetaproteomicAnalysisQuerySchema(conditions=[{ "table": "gene_function", "field": "id", "value": "invalid", }], ) assert {r.id for r in q1.execute(db)} == set()
def binned_facet_metaproteomic_analysis( db: Session, attribute: str, conditions: List[query.ConditionSchema], **kwargs, ) -> query.BinnedFacetResponse: bins, facets = query.MetaproteomicAnalysisQuerySchema( conditions=conditions).binned_facet(db, attribute, **kwargs) return query.BinnedFacetResponse(bins=bins, facets=facets)
def test_basic_query(db: Session, table): tests: Dict[str, Tuple[fakes.AnnotatedFactory, query.BaseQuerySchema]] = { "study": (fakes.StudyFactory(), query.StudyQuerySchema()), "omics_processing": (fakes.OmicsProcessingFactory(), query.OmicsProcessingQuerySchema()), "biosample": (fakes.BiosampleFactory(), query.BiosampleQuerySchema()), "reads_qc": (fakes.ReadsQCFactory(), query.ReadsQCQuerySchema()), "metagenome_assembly": ( fakes.MetagenomeAssemblyFactory(), query.MetagenomeAssemblyQuerySchema(), ), "metagenome_annotation": ( fakes.MetagenomeAnnotationFactory(), query.MetagenomeAnnotationQuerySchema(), ), "metaproteomic_analysis": ( fakes.MetaproteomicAnalysisFactory(), query.MetaproteomicAnalysisQuerySchema(), ), } db.commit() q = tests[table][1].execute(db) assert tests[table][0].id in {r.id for r in q.all()}
def facet_metaproteomic_analysis( db: Session, attribute: str, conditions: List[query.ConditionSchema]) -> query.FacetResponse: facets = query.MetaproteomicAnalysisQuerySchema( conditions=conditions).facet(db, attribute) return query.FacetResponse(facets=facets)
def search_metaproteomic_analysis( db: Session, conditions: List[query.ConditionSchema]) -> Query: return query.MetaproteomicAnalysisQuerySchema( conditions=conditions).execute(db)