Skip to content

Isomers

molfp.isomers

Structural isomer awareness: detect when different molecules produce identical fingerprints.

find_identical_fps(smiles_list, fp_type='ecfp4')

Find groups of distinct molecules that produce identical fingerprints.

Returns list of groups, where each group is a list of (index, smiles). Only groups with 2+ members are returned.

discriminative_power(smiles_list, fp_types=None)

Measure how well each fingerprint type distinguishes molecules.

Returns list of dicts with

fp_type, total_molecules, unique_fps, discrimination_ratio

Sorted by discrimination_ratio descending.

isomer_sensitivity(smiles_pairs, fp_types=None)

Test fingerprint sensitivity on known isomer pairs.

Parameters:

Name Type Description Default
smiles_pairs list[tuple[str, str]]

list of (smiles_a, smiles_b) tuples of known isomers

required

Returns dict mapping fp_type → fraction of pairs distinguished (different FPs).