コード例 #1
0
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()
コード例 #2
0
ファイル: crud.py プロジェクト: microbiomedata/nmdc-server
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)
コード例 #3
0
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()}
コード例 #4
0
ファイル: crud.py プロジェクト: microbiomedata/nmdc-server
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)
コード例 #5
0
ファイル: crud.py プロジェクト: microbiomedata/nmdc-server
def search_metaproteomic_analysis(
        db: Session, conditions: List[query.ConditionSchema]) -> Query:
    return query.MetaproteomicAnalysisQuerySchema(
        conditions=conditions).execute(db)