Skip to content

Fusion

molfp.fusion

Consensus/fusion fingerprints: dataset-aware optimal bit selection across FP types.

fuse(smiles_list, activities, fp_types=None, n_bits=500, method='mutual_info', task='regression')

Build an optimized fusion fingerprint from multiple FP types.

Selects the top N most informative bits across all fingerprint types based on mutual information with the target activities.

Parameters:

Name Type Description Default
smiles_list list[str]

list of SMILES

required
activities list[float] | ndarray

list/array of activity values

required
fp_types list[str] | None

fingerprint types to combine (default: all binary FPs)

None
n_bits int

number of bits to select

500
method str

feature selection method ("mutual_info" or "variance")

'mutual_info'
task str

"regression" or "classification"

'regression'

Returns:

Type Description
dict[str, Any]

dict with: fused_fps: numpy array (n_samples, n_bits) selected_bits: list of (fp_type, bit_idx, score) tuples source_map: {col_idx: (fp_type, bit_idx)}

complementarity(smiles_list, fp_types=None, sample_size=500)

Measure redundancy between fingerprint types.

Returns a dict with

correlation_matrix: pairwise Jaccard similarity of ON-bit patterns unique_info: fraction of bits unique to each FP type