Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapping Molecular Landscapes: Open-Source Approaches to Chemical Space Exploration

A hands-on workshop for graduate students and research scientists in chemistry and chemical biology.
Context: Drug discovery for neglected tropical diseases (Malaria) and African natural products.
CAISMD 2026


📅 Material availability

The complete workshop materials (notebooks, datasets, slides) will be released the day before the workshop via this repository. Participants are encouraged to clone the repo and run the environment setup steps in advance so the session can start immediately with coding.

To be notified: watch this repository (GitHub → Watch → All activity).


Workshop Abstract

Title: Mapping Molecular Landscapes: Open-Source Approaches to Chemical Space Exploration

The chemical space — the virtually infinite universe of possible molecules — underpins modern drug discovery, agrochemical design, and materials innovation, among others. Yet, navigating its vastness is a central challenge. This hands-on workshop introduces powerful computational visualization techniques to map this complex territory using open-source tools.

Participants will learn the essential workflow for transforming complex molecular datasets into intuitive visual representations. The core objective is to create and critically interpret 2D and 3D 'molecular landscape' maps to reveal underlying patterns in structure-activity relationships (SAR). Attendees will leave with a practical, reproducible workflow to accelerate data-driven molecular design, discovery and analysis in their own research projects.

GitHub: https://github.com/djoy4stem/caismd_2026_chemspace_xplr


Repository Structure

Folder / File Contents
README.md This file
requirements.txt Python package dependencies
src/ Data preparation script and shared utility functions used by the notebooks
notebooks/ Student notebooks (fill-in-the-blank) for the main workshop and Extension J
slides/ Workshop slide deck
assets/ Figures and images referenced from the notebooks
data/ Raw source files, notebook-ready CSVs generated by src/prepare_datasets.py, and dataset documentation

Dataset Preparation

Before opening the notebook, run the preparation script once to generate notebook-ready CSVs from the raw data files:

# From the workshop root, with the conda environment active:
python src/prepare_datasets.py

This produces three files in data/:

File Contents Used in
malaria_box.csv 400 MMV Malaria Box compounds intermediate
afrodb_subset.csv 903 AfroDb natural products Extension 4
malaria_box_afrodb_combined.csv Combined 1 303-compound dataset Parts B–I, Ext 1–2

pubchem_aid2302_2k.csv is pre-processed and ready to use directly (Extension 3 + Extension J).

See data/README_data.md for full column documentation.


Target Audience

  • Graduate students in chemistry, chemical biology, or pharmaceutical sciences
  • Beginner-to-intermediate Python/Jupyter knowledge
  • No prior machine learning or cheminformatics experience required

Learning Objectives

By the end of this workshop, students will be able to:

  1. Load a real molecular dataset and apply the standard preprocessing pipeline: parse SMILES, remove salts, and extract the largest organic moiety
  2. Represent molecules numerically — compute Lipinski physicochemical descriptors (MW, LogP, HBD, HBA, TPSA), apply the Rule of 5, and generate Morgan (ECFP4) fingerprints
  3. Measure molecular similarity using the Tanimoto coefficient and interpret block-structured similarity heatmaps
  4. Reduce high-dimensional chemical space to 2D and 3D using PCA and UMAP, and explain when each method is appropriate
  5. Interpret chemical-space maps by colouring them by biological activity, physicochemical properties, and Murcko scaffold diversity
  6. Contextualise results biologically — identify activity cliffs, discuss SAR implications, and compare the chemical space of African natural products vs. synthetic anti-malarials

Required Software & Setup

⚠️ Do this before the workshop day. Setup takes 5–10 minutes on a good connection.
If you hit issues, bring your laptop to the room 15 minutes early.

Option A — Recommended: conda / mamba

Step 1: Install Miniforge (skip if you already have conda/mamba)

# Download from: https://github.com/conda-forge/miniforge/releases/latest
bash Miniforge3-$(uname)-$(uname -m).sh

Step 2: Create the workshop environment

conda create -n chemspace_xplr python=3.10 --yes
conda activate chemspace_xplr

Step 3: Install RDKit and all dependencies

conda install -c conda-forge rdkit --yes
pip install -r requirements.txt

Step 3b: Register the environment as a Jupyter kernel

⚠️ This step is required. Without it, Jupyter will not see the chemspace_xplr environment, even if the server is already running.

pip install ipykernel
python -m ipykernel install --user --name chemspace_xplr --display-name "Python (chemspace_xplr)"

After this, restart (or refresh) your Jupyter server and select Python (chemspace_xplr) from the kernel picker.

Step 4: Verify the installation

pip check   # should print: No broken requirements found.
python -c "import rdkit, umap, sklearn, pandas, mols2grid; print('✅ All dependencies loaded.')"

Step 5: Launch Jupyter

jupyter lab
# Open: notebooks/caismd_2026_chemspace_xplr.ipynb

Option B — pip only (if conda is unavailable)

python -m venv chemspace_xplr
source chemspace_xplr/bin/activate        # Windows: chemspace_xplr\Scripts\activate
pip install -r requirements.txt
python -m ipykernel install --user --name chemspace_xplr --display-name "Python (chemspace_xplr)"
pip check
jupyter lab

Option D — VS Code (no browser Jupyter server needed)

If you already use VS Code, this is the simplest option — no browser, no separate Jupyter server.

Step 1: Install the Jupyter extension

Open VS Code → Extensions (Cmd+Shift+X) → search Jupyter → install the extension by Microsoft.
Also install the Python extension if you haven't already.

Step 2: Create and activate the conda environment (same as Option A Steps 1–3b above)

conda create -n chemspace_xplr python=3.10 --yes
conda activate chemspace_xplr
conda install -c conda-forge rdkit --yes
pip install -r requirements.txt
python -m ipykernel install --user --name chemspace_xplr --display-name "Python (chemspace_xplr)"

Step 3: Open the notebook in VS Code

Open notebooks/caismd_2026_chemspace_xplr.ipynb in VS Code.
Click Select Kernel (top-right of the notebook) → Python Environments → choose Python (chemspace_xplr).

💡 VS Code discovers registered kernels the same way Jupyter Lab does — via ipykernel install.
If chemspace_xplr does not appear in the list, run Step 2's ipykernel install command, then
click Refresh in the kernel picker.


Option C — Google Colab (no local installation)

For participants without a capable local machine, the notebook is Colab-compatible.
Add this cell at the top before running anything:

!pip install -r https://raw.githubusercontent.com/YOUR_ORG/caismd_2026_chemspace_xplr/main/requirements.txt

Or install packages directly:

!pip install rdkit umap-learn scikit-learn pandas matplotlib seaborn tqdm mols2grid ipywidgets jupyterlab

💡 Instructor tip: If a participant's local setup fails, they can follow along on Google Colab by installing packages directly in a new notebook cell.


Datasets

File Description Compounds Used in Licence
MalariaBox400compoundsDec2014.xls MMV Malaria Box — validated anti-P. falciparum activity (EC50), SMILES, Lipinski descriptors 400 Parts B–I, Ext 1–2 CC BY 3.0
AfroDB_3D.sdf AfroDb (Ntie-Kang et al. 2013) — African natural products, 3D conformers 954 → 903 after dedup Extension 4, Ext J Academic use
pubchem_aid2302_2k.csv PubChem AID 2302 — P. falciparum Dd2 whole-cell screen, binary Active/Inactive labels. Random sample of 2 000 compounds drawn from the full assay dataset. 2 000 Extension 3, Ext J (J2–J4, J6) Public domain

⚠️ AfroDb (2026): The original website (african-compounds.org) is offline. Data is preserved from the paper's Supporting Information (Dataset S1, DOI: 10.1371/journal.pone.0078085). For updated African NP data, use COCONUT or NPASS v3.


Notebook Overview

Notebook Role TODOs
caismd_2026_chemspace_xplr.ipynb Main workshop — Parts A–I + Extensions 1–4 9 + 4 extension
functional_group_profiling.ipynb Extension J — MACCS keys, Ertl fragments, Butina clustering, MACCS vs ECFP4 6

Instructor Notes

  • Fill-in-the-blank (# TODO:) cells for all key algorithmic steps
  • Pre-written cells for all boilerplate, plotting, and helper functions
  • 💬 Stop & Discuss prompts at Parts B, E, G, H — instructor pauses here (~2–3 min each)
  • ⚡ EXTENSION cells are always optional and clearly labelled
  • Timing is annotated in every section header (⏱ ~N min)

License

MIT License — Free to use, adapt, and redistribute with attribution.


Citation & Acknowledgements

If you adapt this material, please acknowledge:

Workshop: "Mapping Molecular Landscapes: Open-Source Approaches to Chemical Space Exploration"
Yannick Djoumbou Feunang;2026; Computational Applications in Secondary Metabolite Discovery Workshop.

Key open-source tools used:

About

Instructor-ready materials for a 65-minute hands-on workshop on open-source approaches to chemical space exploration. Includes slides and Jupyter notebooks to build and interpret molecular space maps, visualize properties and SAR, and practice reproducible, resource-conscious workflows suitable for modest hardware.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages