iChem - Instant Cheminformatics
Cheminformatics package by the Miranda-Quintana group at the University of Florida
iChem compares binary fingerprints in sets simultaneously instead of pairwise.
iChem requires Python 3.12 or newer.
At the moment, iChem is installed from this repository and not from PyPI.
conda create -n iChem python=3.12 -y
conda activate iChemconda install -c conda-forge rdkitgit clone https://github.com/klopezperez/iChem.git
cd iChempip install .- Fast Similarity Calculations: Compute similarity metrics for entire chemical libraries simultaneously
- Clustering Tools: Efficient clustering algorithms for chemical libraries using BitBIRCH
- Library Comparison: Compare multiple chemical libraries using various methodologies (intraiSIM, interiSIM)
- Visualization: Built-in plotting tools for cluster composition, heatmaps, and molecular visualizations
- Flexible Fingerprints: Support for multiple fingerprint types (ECFP4, MACCS, RDKit)
iChem.iSIM: Core n-ary similarity tools, including instantaneous similarity calculations, complementary similarity, medoid and outlier identification, counters, sampling, and sigma-based analyses.iChem.bblean: Memory-efficient BitBIRCH-style clustering for binary molecular fingerprints, along with fingerprint packing, SMILES loading, similarity utilities, and ahierarchicalworkflow for multi-level binary clustering. For ultra-large libraries, direct usage from the standalonebbleanrepository is recommended instead of the bundled iChem version.iChem.bbreal: Clustering tools for real-valued descriptor spaces, including threshold estimation and ahierarchicalworkflow for multi-level clustering of continuous molecular representations.iChem.libchem: High-level library analysis interfaces built aroundLibChemandLibComparisonfor loading libraries, generating fingerprints, clustering, and comparing multiple collections.iChem.visualization: Plotting and visualization helpers for cluster populations, heatmaps, cluster connectivity, and molecule image generation.iChem.utils: General utility functions for SMILES loading, fingerprint generation, normalization, and pairwise similarity calculations using RDKit.
The scripts/ directory contains notebooks and example scripts showing common iChem workflows.
bbreal_example.ipynb: DemonstratesiChem.bbrealusage with a sample dataset and clustering examples.hierarchical_bitbirch.ipynb: Visualizes cluster connectivity and cluster-level summaries for inspection and publication-ready figures. Hierarchical visualizations with bblean.iSIM_start_guide.ipynb: A quickstart guide foriChem.iSIM, showing typical workflows and basic analyses.library_compare.ipynb: Example workflow for comparing multiple chemical libraries using iChem's comparison tools.
Other files in scripts/ are example Python scripts for batch processing, fingerprint generation, and format conversion.
If you use iChem in your research, please cite our work.
