tooluniverse.chem_tool module¶
- class tooluniverse.chem_tool.ChEMBLTool[source]¶
Bases:
BaseToolTool to search for molecules similar to a given compound name or SMILES using the ChEMBL Web Services API.
Note: This tool is designed for small molecule compounds only. Biologics (antibodies, proteins, oligonucleotides, etc.) do not have SMILES structures and cannot be used for structure-based similarity search. The tool will provide detailed error messages when biologics are queried, explaining the reason and suggesting alternative tools.
- 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.
- Parameters:
arguments (
dict, optional) – Tool-specific argumentsstream_callback (
callable, optional) – Callback for streaming responsesuse_cache (
bool, optional) – Whether result caching is enabledvalidate (
bool, optional) – Whether parameter validation was performed
Note
These additional parameters (stream_callback, use_cache, validate) are passed from run_one_function() to provide context about the execution. Tools can use these for optimization or special handling.
For backward compatibility, tools that don’t accept these parameters will still work - they will only receive the arguments parameter.
- 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_smiles_pref_name_by_chembl_id(query)[source]¶
Given a ChEMBL ID, return a dict with canonical SMILES and preferred name.