Predict NMR Shifts With Graph Neural Nets
ISEF Category: Chemistry
Ready to Turn This Idea Into a Real Project?
This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.
For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
Subcategory: Analytical Chemistry · Difficulty: Advanced · Setup: University Lab · Time: Full Year
The Hook
NMR data can tell you where atoms sit inside a molecule, almost like a chemical fingerprint. The catch is that reading those signals by hand takes skill, and predicting them from structure is a real research problem. You can test whether a graph neural net can learn that pattern from public data. Then you can compare it with a physics-based method used in real chemistry labs.
What Is It?
NMR stands for nuclear magnetic resonance. It is a way to measure how atoms inside a molecule respond to a magnetic field. Each atom type gives a signal called a chemical shift, and that shift depends on its local chemical environment. If a molecule is a neighborhood, the shift is like the street address for each atom.
Your project asks a machine learning model to predict those shifts from molecular structure. A graph neural net reads a molecule like a network, with atoms as nodes and bonds as connections. That lets the model learn patterns such as nearby electronegative atoms, aromatic rings, and bond order. You can then compare those predictions with DFT-GIAO, a physics-based calculation method that estimates NMR shifts from quantum chemistry.
Why This Is a Good Topic
This is a strong science fair topic because you can test a real research question with public data and clear metrics. You are not guessing, you are measuring prediction error, model generalization, and where one approach beats another. The project connects chemistry, data science, and molecular structure, so it feels real and current. You can also scale it to your skill level, from simple benchmarking to a deeper model analysis.
Research Questions
- How does a graph neural net’s error change when you train it on different sizes of the nmrshiftdb2 dataset?
- What is the effect of molecular size on prediction error for graph neural net NMR shift models?
- Does a graph neural net predict carbon and proton chemical shifts with the same accuracy?
- To what extent does adding atom features improve prediction of NMR chemical shifts?
- Which molecular substructures produce the largest disagreement between graph neural net predictions and DFT-GIAO values?
- How does the graph neural net compare with DFT-GIAO on out-of-sample molecules?
- What is the effect of removing noisy or incomplete records on model performance?
Basic Materials
- Laptop or desktop with internet access.
- Google Colab account.
- nmrshiftdb2 public dataset.
- Python 3 notebook environment.
- Pandas for data cleaning.
- NumPy for numeric work.
- Matplotlib or Seaborn for plots.
- RDKit for molecular feature handling.
- PyTorch or TensorFlow for model building.
- Spreadsheet software for tracking experiments.
Advanced Materials
- Access to a GPU-enabled workstation or university compute node.
- Gaussian, ORCA, or another DFT package for GIAO calculations.
- RDKit with full cheminformatics support.
- Python environment with PyTorch Geometric or DGL.
- High-quality curated NMR dataset splits.
- Molecular visualization software such as Avogadro or PyMOL.
- Statistical analysis tools for error testing and confidence intervals.
Software & Tools
- Google Colab: Runs Python notebooks in the browser and gives you free access to basic GPU compute.
- RDKit: Converts molecular structure into machine-readable features and graph objects.
- PyTorch Geometric: Helps you build graph neural networks for molecular prediction tasks.
- Pandas: Organizes the dataset, cleans records, and tracks train, validation, and test splits.
- Matplotlib: Makes error plots, parity plots, and comparison figures for your results.
Experiment Steps
- Define the exact prediction target, such as proton shifts, carbon shifts, or both, and decide how you will split the data.
- Clean the public dataset and remove records that would blur the comparison, such as duplicates, missing labels, or inconsistent structures.
- Build a baseline model first so you know whether the graph neural net really adds value.
- Design the graph features and train-test strategy, then keep the split strict enough to test generalization.
- Run DFT-GIAO calculations on a smaller comparison set and plan a fair error metric for both methods.
- Analyze where each method fails, then group errors by molecule size, functional group, or shift range.
Common Pitfalls
- Mixing proton and carbon shift records in one target, which makes the error numbers hard to interpret.
- Using a random data split that puts nearly identical molecules in both training and test sets, which inflates performance.
- Keeping duplicate or inconsistent records from nmrshiftdb2, which can train the model on conflicting labels.
- Comparing graph neural net output to DFT-GIAO values without matching the same geometry or atom assignment, which breaks the benchmark.
- Reporting only average error and ignoring outliers, which hides the molecules the model handles badly.
What Makes This Competitive
A competitive version of this project goes past a simple model demo. You compare multiple data splits, separate atom types, and test where the model breaks down. Strong work also checks whether the neural net or DFT-GIAO wins on different molecule classes, not just on one average score. If you add uncertainty analysis, error clustering, and a careful discussion of chemical reasons for failures, your project starts to look like real research.
Project Variations
- Train the model only on proton shifts and compare performance across aromatic, aliphatic, and heteroatom-adjacent hydrogens.
- Use a smaller, high-quality curated subset of nmrshiftdb2 and test whether cleaner data beats larger data.
- Compare graph neural nets with a simple fingerprint-based regression model to see how much structure learning really helps.
Learn More
- PubChem: Search compound records and molecular structures to practice identifying chemical features before modeling.
- PubMed: Search review articles on NMR prediction and graph neural networks for chemistry.
- NMRShiftDB2: Find the public NMR database and read its documentation for structure-shift records.
- Google Colab Help: Learn how to run notebooks and manage GPU sessions in the browser.
- MIT OpenCourseWare, 5.111 Principles of Chemical Science: Review core chemistry ideas that help you interpret NMR and molecular structure.
Chemistry Category Guide
How to Do Real Chemistry Research at Home: A High School Student’s Guide to Free Tools, Affordable Kits, and Public Databases →For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub →
