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