Ejemplo n.º 1
0
def matchPostQuery(query: FormulaQuery):
    logger.debug("Got %r", query)
    qD = jsonable_encoder(query)
    logger.info("qD %r", qD)
    #
    # ---
    ccsw = ChemCompSearchWrapper()
    retStatus, matchResultL = ccsw.matchByFormula(
        qD["query"], matchSubset=qD["matchSubset"])
    logger.info("Results (%r) rL (%d)", retStatus, len(matchResultL))
    rL = [mr.ccId for mr in matchResultL]
    # ---
    return {"query": qD["query"], "matchedIdList": rL}
Ejemplo n.º 2
0
def matchGetQuery(
    query: str = Query(None,
                       title="Molecular formula",
                       description="Molecular formula (ex. C8H9NO2)",
                       example="C8H9NO2"),
    matchSubset: bool = Query(
        False,
        title="Formula subsets",
        description=
        "Find formulas satisfying only the subset of query the conditions",
        example=False),
):
    logger.debug("Got %r", query)
    # ---
    ccsw = ChemCompSearchWrapper()
    logger.debug("matchSubset %r", matchSubset)
    retStatus, matchResultL = ccsw.matchByFormula(query,
                                                  matchSubset=matchSubset)
    logger.info("Results (%r) rL (%d)", retStatus, len(matchResultL))
    rL = [mr.ccId for mr in matchResultL]
    # ---
    return {"query": query, "matchedIdList": rL}