synplan.chem.reaction_rules package#

Subpackages#

Submodules#

synplan.chem.reaction_rules.extraction module#

Module contents#

class synplan.chem.reaction_rules.RuleSet(rules: Sequence[ReactionContainer], smarts_strings: Sequence[str], popularity: Sequence[int], reaction_indices: Sequence[tuple[int, ...]])#

Bases: object

A collection of reaction rules loaded from a TSV file.

Provides iteration, indexing, slicing, Jupyter SVG rendering, and optional pandas DataFrame export.

rules#

Parsed reaction rules.

Type:

tuple[ReactionContainer, …]

smarts_strings#

Original SMARTS strings from the TSV.

Type:

tuple[str, …]

popularity#

Number of source reactions per rule.

Type:

tuple[int, …]

reaction_indices#

Source reaction indices per rule.

Type:

tuple[tuple[int, …], …]

classmethod from_tsv(tsv_path: str | Path) RuleSet#

Load rules from a SynPlanner extraction TSV file.

TSV columns (tab-separated, with header):

rule_smarts popularity reaction_indices

Rules that fail to parse are skipped with a warning.

Parameters:

tsv_path – Path to the TSV file.

Returns:

RuleSet instance.

to_dataframe(include_svg: bool = False)#

Convert to pandas DataFrame.

Parameters:

include_svg – If True, adds an ‘svg’ column with depiction HTML.

Returns:

DataFrame with columns: smarts, popularity, n_reactions, and optionally svg.