Hello, and welcome to my Github Repository for where I give access to my teaching materials, source code, and other things I use to teach at a undergraduate and graduate level cheminformatics.
These materials are designed with the idea that the student needing them has a working knowledge of organic chemistry I and II, as well as a computer science course, data structures. There are more advanced tutorials for folk at the graduate level but not completely organized into an official lecture series. I'll work on that component too.
Lecture Series for Undergraduate-Level Cheminformatics
- Lecture 001 - How to Write SMILES: Introduction to Converting Skeletal Diagrams to 1-D Data String Representation. - Suliman Sharif
- Lecture 002 - Expanding SMILES to more Diverse Functional Groups: Introduction to Alkenes, Alkynes, and Carbonyls. - Suliman Sharif
- Lecture 003 - Designing String Formation Algorithms & Introduction to Canonical SMILES with RDKit - Suliman Sharif
- Lecture 004 - Manipulating SMILES strings with Virtual Atoms and Bonds to create Combinatorial Libraries. - Suliman Sharif
- Lecture 005 - Understanding Chemical Data Formats and Writing Your Own Mol2 Parser Part 1. - Suliman Sharif
- Lecture 006 — Introduction to Stereochemistry in SMILES with RDKit
- Introduction to Cheminformatic Law - Introduction to Cheminformatic Law
Lecture Series for Graduate-Level Cheminformatics
- Lecture 001 - Your 1st Million SMILES - Suliman Sharif
- Lecture 002 - Exploring The Chemical Universe with Potential Energy Functions.
*Youtube Lectures
- Introduction to SMILES 001 - Alkanes & Alcohols
- Introduction to RDKit 001 - Molecule Properties
- Introduction to RDKit 002 - Analyzing Cannabis and Taking the Probability Distribution of Molecule Properties
- Introduction into Jupyter Notebook For Scientists - Setup Port Forwarding, And Managing Imports
- Putting Molecular Dynamics Simulations in a Presentation - Putting Molecular Dynamics Simulations in a Presentation
- Johnson & Johnson - CompChem/ML Summer 2023 Intern -
- Frontier Medicines - Computational Chemistry Intern Summer 2023
- AbbVie - Experiential Internship - Machine Learning/Quantum Chemistry
- Astrazeneca - Computational Chemistry Intern
- Arvinas - Summer Internship, Computer Assisted Drug Design
- American Chemical Society - Summer Internship, Computer Assisted Drug Design
- Nvidia - Verification Summer Intern 2023
- Meta - AI for Science Summer Internship
- Byte Dance - Research Scientist Intern in Computational Chemistry
- Dassault Systems - Biovia and Biologics Drug Design Summer
- Kallyope - Comp Chem Summer 2023 Internship
- Genentech - 2023 Summer Intern for Prescient Design & Machine Learning
- Roche - 2023 Summer Intern for Prescient Design & Machine Learning
- Microsoft - Research Intern - Research for Industry & ML/AI for Food
- Vertex Pharmaceuticals - Computational Toxicology Summer Intern
- Coca Cola - Data Scientist Intern 2023
- Amgen - Grad Intern – Computational Chemistry
- Cellarity - Cheminformatics Summer Intern 2023
- Rivian - Software Engineering Internship 2023
- Aqemia - Research internship - Computational Chemistry and Structural Biology
- Hydrobromination - Hydrobromination of Styrene in SMILES
- Friedel-Crafts Alkylation - Friedel-Crafts Alkylation in SMILES
- Diers Alder - Diers-Alder Reaction in SMILES
- Diers Alder Bicyclo - Diers-Alder Reaction of Bicyclo Compounds in SMILES
- Python Package Distribution for Scientific Publications - A Comprehensive Overview for releasing a Python Package for Scientific Publication.
- Monitoring your System with Python - Using Python Glances to Monitor Your System
- Modern Github Badges - Modern Github Badges For Open Source Repositories
- Automating Cheminformatics Workflows - Automating Cheminformatics with Apache Airflow — Step 1: Preparing SMILES Transformations on Large Scale
- Downloading the ZincDB Rapidly - Downloading the Zinc Database Rapidly with Aria2
- Useful Github Action Bots - Useful Github Actions Bots to Regulate my Python Package
- Debugging Distribution Bugs - Debugging File Encoding and File Path Distribution Bugs for GlobalChem with Github Action Bots.
- Psi4 on a High Performance Cluster- Using Psi4 on a High Performance Cluster
- Interoperable Chemical Knowledge Graph - Designing an Interoperable Chemical Knowledge Graph
- PCA on PihKal Book - Principal Component Analysis on the list of SMILES from Pihkal using GlobalChem and IUPAC
- Using PCA to Detect Aromaticity - Using Principal Component Analysis to distinct Aromatic and Non-Aromatic Compounds and Identify Common Scaffolds for Diverse Communities using SMILES and GlobalChem.
- PCA on Cannabis Sativa - Understanding what is inside of Cannabis Sativa using Principal Component Analysis with Global-Chem
- PCA on Cannabis Sativa and Oral Contraceptives - Mixing Global-Chem Nodes: Cannabis Sativa and Oral Contraceptives for Principal Component Analysis.
- PCA on Alternative Jet Fuels - Principal Component Analysis on Alternative Jet Fuels with Global-Chem
- Understanding Drug Likeness Filters - Understanding drug-likeness filters with RDKit and exploring the WITHDRAWN database.
- Preparing Chemical Data - Preparing Chemical Data in 5 minutes with Cocktail Shaker, RDKit, and Pandas
- Peptide Fingerprints - Trends in fingerprint matching of peptides using Tanimoto, RDKit, and Cocktail Shaker.
- SMILES to PDF - Converting a List of SMILES to PDF form.
- Morgan Fingerprinting - Understanding Morgan and converting the chemical structure to a number.
- Chemical Reference Databases - Using the MiniFrag Database to validate your SMARTS strings
- Variations of SMILES - Validating SMILES with RDKit, PySMILES, MolVS, and PartialSMILES
- Protonating SMILES - Protonating your SMILES strings over a range of pH for Small Molecules and Proteins
- Fast Cheminformatics - Using Modin or GPU to read in massive datasets of molecules.
- Cannabis Compounds - Exploring Promiscuous Tetrahydrocannabinol (THC) Chemical Space
- Sn1, Sn2, E1, E2 Mechanism - Sn1, Sn2, E1, E2 Mechanism Explained in SMILES.
- Azridine - Aziridine
- Organophosphorous Nerve Toxic Agents - Selection of Functional Groups for Chemical Nerve Toxic Agents — Novichok
- Overriding Gasteiger Partial Charges - Overriding Gasteiger Partial Charges in RDKit
- Probability Distribution of Chemical Fingerprints Scores - Probability Distribution of Chemical Fingerprint Similarity Scores with RDKit and Plotly.
- SAPT Theory of Helium - Symmetry-Adapted Perturbation Theory (SAPT) of Helium in Psi4
- Harmonic Analysis in Psi4 - Harmonic Analysis in Psi4
- Optimizing Ligand Geometry - Optimizing A Molecule’s Geometry with Psi4
- Visualizing Molecular Orbitals - Visualizing Frontier Orbitals with Psi4 and Python
- Converting Coordinate Files - Converting GRO files to PDB using Python - Suliman Sharif
- Calculating End to End Distance Between Atoms - Calculating the End-to-End distance of two atoms using MDAnalysis
- Monitoring your Simulation - Using python to check molecular dynamic simulation log files.
- Coming to Convergence - How I was checking to tell if there was convergence in my simulations.
- Controlling Tumbling - Controlling Tumbling Effects in a Molecular Dynamics Simulation.
- Calculating Dipole Moments - Analyzing Dipole Moments in Molecular Dynamics Simulations
- Multiprocessing for Hydrogen Bonds - Exploring Multi-Processing for Exhaustive Hydrogen Bonding Analysis using MDAnalysis and Futures
- Calculating Density of a Liquid - Calculating Density of a Neat Liquid from a Molecular Dynamics Simulation with NAMD
- Constant Pressure and Temperature Control - Maintaining Constant Pressure and Temperature in NAMD.
- Creating an RNN to Convert IUPAC to SMILES - Exploring bridging cheminformatic languages between machines and humans using AI — Part 1
- Probability Density - How to take the probability density of any set of numbers and make an analysis.
- Exploring Chemical Knowledge Graph - Exploring Graph Networks for IUPAC Nomenclature and SMILES.
- Using Sunbursting to Detect Chemical Diversity - Using IUPAC with GlobalChem Sunbursts to determine Chemical Diversity for a list of SMILES with Plotly.
- Sunbursting FDA Colour Additive Lists - Sunbursting the FDA Colour Additive 7 Lists through ToxAlerts.
- Decoding Fingerprints to Chemical Name - Decoding Fingerprints to IUPAC/Natural Chemical Names
- Levenshtein Distance Applied on Common Chemical & IUPAC Names - Applying Levenshtein distance on IUPAC/Preferred names in GlobalChem for Natural Language Processing.
- Newick Trees - A Newick Tree for Protein Families and Relations
- Neo4J GraphDatabases - Part 1 — Connecting GlobalChem Knowledge Graph to Neo4j Graph Database
- What are Force Fields - What are force fields? A coder perspective into CHARMM.
- What are Atom Types - How to take the probability density of any set of numbers and make an analysis.
- Atom Types and SMILES to CurlySMILES - Inclusion of Atom Types in Force Fields to produce mixed CXSMILES, CXSMARTS, CurlySMILES
- Mixing CGenFF Atom Types with SMILES - Mixing CGenFF Atom Types to RDKit Mol2SVG Function and Visualizing
- Establishing EU and US Compliance in Your Software - Making Global-Chem Github Repository 21 CFR Part 11 and FAIR compliant for U.S and European Countries.
- Hosting Websites - How to Host Static Websites for Cheap.
- Cloud Development for Academic Labs - Implementing Github Code spaces for an Academic Lab.
- Looking For Love - Looking for Love at the Airport
- My Transcript Diagram - Using a Sankey Diagram to Plot my Transcript
- Dealing With Death - Dealing with Death during your PhD
- My Old Transcripts - I went through my old transcripts.