Skip to content

mqcomplab/iChem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iChem - Instant Cheminformatics

iChem Logo

Cheminformatics package by the Miranda-Quintana group at the University of Florida

iChem compares binary fingerprints in sets simultaneously instead of pairwise.

Installation

iChem requires Python 3.12 or newer.

At the moment, iChem is installed from this repository and not from PyPI.

Create a new conda environment (recommended)

conda create -n iChem python=3.12 -y
conda activate iChem

Install RDKit (required)

conda install -c conda-forge rdkit

Clone the repository

git clone https://github.com/klopezperez/iChem.git
cd iChem

Install iChem from source

pip install .

Features

  • 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)

Submodules

  • 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 a hierarchical workflow for multi-level binary clustering. For ultra-large libraries, direct usage from the standalone bblean repository is recommended instead of the bundled iChem version.
  • iChem.bbreal: Clustering tools for real-valued descriptor spaces, including threshold estimation and a hierarchical workflow for multi-level clustering of continuous molecular representations.
  • iChem.libchem: High-level library analysis interfaces built around LibChem and LibComparison for 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.

Notebooks

  • bbreal_example.ipynb: Demonstrates iChem.bbreal usage 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 for iChem.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.

Citation

If you use iChem in your research, please cite our work.

About

Cheminformatics package from the Miranda-Quintana group

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors