chematic_fp/lib.rs
1//! `chematic-fp` — molecular fingerprints for chematic.
2//!
3//! Provides:
4//! - **ECFP** (Extended Connectivity Fingerprints): Morgan-algorithm-based circular
5//! fingerprints using FNV-1a hashing for reproducibility.
6//! - **MACCS 166-bit structural keys**: SMARTS-based structural key fingerprints.
7//! - **Topological path fingerprints**: DFS path enumeration up to a configurable length.
8//! - **AtomPair fingerprints**: atom-pair encoding with topological distances.
9//! - **Topological Torsion fingerprints**: four-atom path encoding.
10
11#![forbid(unsafe_code)]
12
13pub mod atom_pair;
14pub mod bitvec;
15pub mod ecfp;
16pub mod fcfp;
17pub mod maccs;
18pub mod topo_path;
19
20pub use atom_pair::{atom_pair_fp, torsion_fp};
21pub use bitvec::BitVec2048;
22pub use ecfp::{EcfpConfig, ecfp, ecfp4, ecfp6, morgan_fp_counts, tanimoto_ecfp4};
23pub use fcfp::{fcfp, fcfp4, fcfp6, tanimoto_fcfp4};
24pub use maccs::maccs;
25pub use topo_path::{TopoPathConfig, tanimoto_topo_path, topo_path};