tooluniverse.chem_tool module

class tooluniverse.chem_tool.ChEMBLTool(tool_config, base_url='https://www.ebi.ac.uk/chembl/api/data')[source]

Bases: BaseTool

Tool to search for molecules similar to a given compound name or SMILES using the ChEMBL Web Services API.

__init__(tool_config, base_url='https://www.ebi.ac.uk/chembl/api/data')[source]
_search_similar_molecules(query, similarity_threshold, max_results)[source]
get_chembl_id_by_name(compound_name)[source]

Search ChEMBL for a compound by name and return the ChEMBL ID of the first match.

get_chembl_smiles_pref_name_id_by_name(compound_name)[source]

Search ChEMBL for a compound by name and return a list of dicts with ChEMBL ID, canonical SMILES, and preferred name for the top 5 matches.

get_smiles_pref_name_by_chembl_id(query)[source]

Given a ChEMBL ID, return a dict with canonical SMILES and preferred name.

run(arguments)[source]

Execute the tool.

The default BaseTool implementation accepts an optional arguments mapping to align with most concrete tool implementations which expect a dictionary of inputs.