search_classes

search_classes(classes_file: str | None = None, classes_name_id: str | None = None, classes_name_smarts: str | None = None, closest_only: bool = True, include_hierarchy: bool = False, input_smiles: str | None = None, smiles: str | list[str] | None = None, export: bool = True, output_dir: Path | str | None = None) list[dict][source]

Perform substructure search to classify chemical structures.

This function matches input structures against a set of chemical class definitions using SMARTS patterns. Results include the class ID, matching SMARTS pattern, and structural similarity metrics.

Parameters:
  • classes_file – Path to TSV file with chemical class definitions. If None, uses the default package classes.

  • classes_name_id – Column name for class IDs in the classes file. Defaults to “class”.

  • classes_name_smarts – Column name for SMARTS in the classes file. Defaults to “structure”.

  • closest_only – If True, return only the closest matching class for each structure. Default is True.

  • include_hierarchy – If True, use chemical hierarchy for faster searching. Default is False.

  • input_smiles – Path to file containing SMILES strings to classify.

  • smiles – Single SMILES string or list of SMILES to classify.

  • export – If True, export results to files. Default is True.

  • output_dir – Directory for output files. Uses config default if None.

Returns:

List of dictionaries with classification results.

Raises:

ValueError – If no structures are provided and ChEMBL fallback fails.