smol-similarity

smol-similarity module for the Rush Python client.

This module runs nearest-neighbor SMILES similarity search for one or more query SMILES against one or more partition objects.

Usage:

from rush import smol_similarity

run = smol_similarity.smol_similarity_sumo(
    smol_partitions=["partition_a.json", "partition_b.json"],
    input_smis="queries.json",
)
result = run.fetch()
class rush.smol_similarity.ExecutionError(stage, message)[source]

Bases: object

Per-query execution failure for a single input SMILES.

Parameters:
  • stage (Literal['Subprocess', 'OutputParse'])

  • message (str)

class rush.smol_similarity.ItemResultRef(output, error)[source]

Bases: object

Reference to one per-query result, which may be success or error.

Parameters:
class rush.smol_similarity.Result(smiles, similarities)[source]

Bases: object

Parsed similarity output for one query SMILES.

Parameters:
  • smiles (list[str])

  • similarities (list[float])

class rush.smol_similarity.ResultPaths(output)[source]

Bases: object

Workspace path for a saved per-query result object.

Parameters:

output (Path)

class rush.smol_similarity.ResultRef(items)[source]

Bases: object

Reference to per-query smol-similarity outputs.

Parameters:

items (list[ItemResultRef])

classmethod from_raw_output(res)[source]

Parse raw collect_run output into a ResultRef.

Parameters:

res (Any)

Return type:

Self

fetch()[source]

Download outputs and parse per-query results/errors.

Return type:

list[Result | ExecutionError]

save()[source]

Download outputs and save per-query result objects to the workspace.

Return type:

list[ResultPaths | ExecutionError]

class rush.smol_similarity.SmolSimilarityConfig(min_similarity=None, min_results=None, max_results=None)[source]

Bases: object

Optional runtime configuration for smol-similarity.

Parameters:
  • min_similarity (float | None)

  • min_results (int | None)

  • max_results (int | None)

min_similarity

Optional lower bound for tanimoto similarity in [0, 1].

Type:

float | None

min_results

Minimum number of rows returned per query.

Type:

int | None

max_results

Maximum number of rows returned per query.

Type:

int | None

rush.smol_similarity.smol_similarity_sumo(smol_partitions, input_smis, config=None, run_spec=RunSpec(cpus=4, gpus=0), run_opts=RunOpts())[source]

Submit a smol-similarity run.

Parameters:
  • smol_partitions (list[Path | str | RushObject]) – JSON object files, each containing a list of library SMILES.

  • input_smis (Path | str | RushObject) – JSON object file containing query SMILES.

  • config (SmolSimilarityConfig | None) – Optional search controls.

  • run_spec (RunSpec)

  • run_opts (RunOpts)

Returns:

A Run handle. Call .collect() for ResultRef, then .fetch() or .save().

Return type:

Run[ResultRef]