disease.query#
Provides query handler class, which receives and responses to user search queries.
- exception disease.query.InvalidParameterException[source]#
Exception for invalid parameter args provided by the user.
- class disease.query.QueryHandler(database)[source]#
Class for normalizer management. Stores reference to database instance and normalizes query input.
- __init__(database)[source]#
Initialize QueryHandler instance. Requires a created database object to initialize. The most straightforward way to do this is via the
create_db()
method:>>> from disease.query import QueryHandler >>> from disease.database import create_db >>> q = QueryHandler(create_db())
We’ll generally call
create_db
without any arguments in code examples, for the sake of brevity. See thecreate_db()
API description for more details.- Parameters:
database (
AbstractDatabase
) – storage backend to search against
- normalize(query)[source]#
Return normalized concept for query.
Use to retrieve normalized disease concept records:
>>> from disease.query import QueryHandler >>> from disease.database import create_db >>> q = QueryHandler(create_db()) >>> result = q.normalize("NSCLC") >>> result.normalized_id 'ncit:C2926'
- Parameters:
query (
str
) – String to find normalized concept for- Return type:
- Returns:
Normalized disease concept
- search(query_str, incl='', excl='')[source]#
Return highest match for each source.
>>> from disease.query import QueryHandler >>> from disease.database import create_db >>> q = QueryHandler(create_db()) >>> result = q.search("NSCLC") >>> result.source_matches["Mondo"].records[0].concept_id 'mondo:0005233'
- Parameters:
query_str (str) – query, a string, to search for
incl (str) – str containing comma-separated names of sources to use. Will exclude all other sources. Case-insensitive.
excl (str) – str containing comma-separated names of source to exclude. Will include all other source. Case-insensitive.
- Returns:
dict containing all matches found in sources.
- Return type:
dict
- Raises:
InvalidParameterException – if both incl and excl args are provided, or if invalid source names are given.