
Explore the Rdkit course structure, covering reading and writing molecules, the molecule object, substructure search, and descriptors, with hands-on projects and machine learning applications.
Explore the RDKit toolkit, a popular open source Python package for cheminformatics, enabling molecule manipulation, descriptors, fingerprints, 3D conformers, and integration with scikit-learn, PyTorch, and TensorFlow.
Download and install Anaconda, then install rdkit via pip and add scikit-learn and pandas. Open the Anaconda Navigator, launch Jupyter, and run a small rdkit test to verify the installation.
Learn to read molecules with rdkit from SDF files by using the SDF supplier to load multiple molecules as rdkit molecule objects, iterate over them, and convert to Python lists.
Explore Rdkit sanitization, which checks chemical validity, valence, aromaticity, and ring systems when reading molecules from an SDF file, and note its default true setting.
Learn how to read molecules from Smiles formats with Rdkit, compare to sdf, and handle csv or smi files with delimiters, headers, and optional sanitization for valid structures.
Learn how to read molecules from an SDF dataset and write them to an SDF file using Rdkit, including creating a writer object, writing molecules, and using flush and close.
Explore how rdkit represents molecules as objects, create a molecule from a smiles string, access atoms and bonds, and attach string, integer, or float properties to capture custom data.
Create a molecule from smiles, then access atom objects with get atoms and inspect properties using getters like get symbol and get formal charge.
Learn to work with bonds objects in Rdkit by accessing all bonds, indexing each bond, retrieving begin and end atoms, checking and setting bond types, and using custom properties.
Learn how Rdkit conformers store 3d coordinates, generate single or multiple conformers, and access xyz data for 3d descriptors or alignment.
Learn how to add hydrogens as explicit atoms to RDKit molecules and how to remove them. Note that implicit hydrogens cover most operations, while explicit hydrogens enable 3d coordinates.
Learn to modify molecules with rdkit by converting a rdkit molecule to an editable form, then remove, add, or replace atoms and bonds, and convert back to an rdkit molecule.
Explore substructure matching in RDKit, comparing has substructure match, substructure query with get substructure match and get substructure matches, using smiles and smarts patterns and atom indices.
Learn to calculate molecular descriptors with Rdkit, from simple single descriptors like molecular weight and log p to descriptor calculators for machine learning workflows.
Learn to draw molecules with rdkit by using a draw object, rendering in 2D Cairo or SVG, and customizing options like atom indices, bond width, and background.
Learn to draw molecules with Rdkit and highlight specific atoms and bonds using the draw molecule options, atom and bond id lists, and color dictionaries.
Draw multiple molecules in a single grid image with rdkit by loading from an sdf file, then adjust subimage size, molecules per row, drawing options, legends, and atom highlights.
Learn to draw molecules in RDKit with draw module functions, generating a PIL image for display or PNG save, with customizable size, legends, highlights, and atom and bond indices.
Harness RDKit to perform substructure matching on an SDF dataset, highlight matched atoms in drawn molecules, and export the results to an SDF file.
Use RDKit to compute fingerprints and Tanimoto similarity between a reference molecule and a dataset, retain matches above a threshold, visualize them, and export to SDF.
Identify the lowest energy conformer for each molecule in a smiles dataset by generating multiple conformers with RDKit and exporting the best conformers to an SDF file.
Learn to compute the maximum common substructure across a nine-molecule dataset using RDKit, visualize the results, and highlight substructure atoms in each molecule.
Examine how to tailor maximum common substructure searches in RDKit with findMCS by adjusting atom and bond compare options, thresholds, and visualization to extract the SMARTS fragment.
Develop a regression model using rdkit and scikit-learn in Python to predict pic50 from Morgan fingerprints, split into train and test sets, and validate with r2 and mean squared error.
Apply a previously developed machine learning model in Rdkit to perform virtual screening, predicting activity against the Cdk2 enzyme using Morgan fingerprints with radius 2, and export results as sdf.
Develop a classification model with rdkit and scikit-learn by converting activity into classes and using fingerprints. Split data stratified, train a random forest, and evaluate with accuracy and precision.
Integrate Rdkit with pandas to load SDF into a data frame, compute molecular weight, and sort, filter, then export the results back to SDF.
Use Rdkit to attach ten fragments to a base molecule via single bonds, selecting connect atoms from implicit hydrogens, then generate and visualize the connected molecules.
In this course, you will learn the RDKit toolkit in two ways: first by systematically exploring the toolkit’s common modules and functionalities, and second by working on meaningful real-life projects. The content is explained step by step with details in Jupyter Notebook, which is a user-friendly code editor.
In the Reading & Writing Molecules section, the process of reading different formats and writing them will be explained, in addition to important RDKit concepts such as molecular sanitization.
In the Molecules section, the Molecule object in RDKit will be explained alongside related objects (Atom, Bond, and Conformer). This section will make you familiar with how RDKit represents and handles molecules.
In the Molecule Operations section, the common operations on molecules will be explained, including adding & removing hydrogens, programmatically modifying molecules, and performing substructure matching.
In the Descriptors & Fingerprints section, you will learn how to use RDKit to calculate molecular descriptors and fingerprints, the different methods for calculation, and the available types of fingerprints.
In the Drawing Molecules section, you will learn how to draw molecules, the different methods for drawing, how to customize drawing options, how to highlight atoms & bonds, and when to use each drawing method.
In the Projects section, you will learn how to combine different RDKit concepts to perform real and meaningful projects and workflows in cheminformatics and drug discovery. You will also learn how to integrate RDKit with other Python packages—for example, how to build machine learning models with RDKit and scikit-learn for virtual screening, and how to use RDKit with the Pandas package for advanced data analysis. The projects will also demonstrate how to use RDKit’s algorithms, such as MCS (Maximum Common Substructure) analysis, 3D conformer generation, and similarity analysis. The projects will also cover more advanced topics, such as fragment-based drug design with RDKit, which involves handling and connecting fragments conditionally.