A reproducible computational structural-biophysics characterization of small-molecule inhibition of nicotinamide N-methyltransferase (NNMT), benchmarked against published experimental binding data.
Status: in progress. This repository is built to be reproducible and checkable — every computational result is validated against an experimental or crystallographic ground truth.
NNMT is a cytosolic enzyme that methylates nicotinamide using S-adenosyl-L-methionine (SAM) to produce 1-methylnicotinamide. It sits at the intersection of two metabolic currencies — the NAD⁺ salvage precursor pool and the cellular methylation (SAM/SAH) pool — and is increasingly studied as a metabolic regulator in obesity, metabolic disease, and cancer.
That same NAD⁺/methylation axis is one of the better-studied threads in metabolic aging, which is the longer-term vision this work sits inside. This project does not claim NNMT as a validated longevity target; it uses a well-characterized enzyme on that axis as a rigorous, checkable test bed for computational structural-biophysics methods.
Can a standard, fully reproducible pipeline — molecular docking, molecular dynamics, and end-point free-energy estimation — recover the known binding modes of NNMT inhibitors and rank them against their experimental potencies? And does a modern structure-aware ML model reproduce that result without running a simulation?
Explicit non-goals (the scope fence):
- This is not a hit-discovery or novel-inhibitor-design project.
- This is not a cryptic-pocket discovery project (NNMT's allosteric inhibition is already experimentally reported; see references).
- Anything that does not help answer the question above is out of scope.
The pipeline is staged so each phase produces a result that can be checked against ground truth before the next phase begins.
| Phase | Goal | Ground-truth check | Core tools |
|---|---|---|---|
| 0 — Curation | Select the working structure and the inhibitor benchmark set | Crystallographic structure exists; inhibitors have measured IC₅₀ | PDB, PubChem, literature |
| 1 — Docking validation | Re-dock a known inhibitor into its site | RMSD vs. crystallographic / reported pose | AutoDock Vina, OpenBabel, RDKit, py3Dmol |
| 2 — Molecular dynamics | Equilibrate apo and holo NNMT; characterize stability and active-site dynamics | Stable RMSD; sensible RMSF profile | OpenMM, MDAnalysis |
| 3 — Free-energy ranking | Estimate relative binding free energies for the inhibitor set | Rank correlation vs. experimental IC₅₀ | MM/GBSA, MDAnalysis |
| 4 — Structure-aware ML coda | Test whether an ML model recovers the same picture | Agreement (or disagreement) with Phases 1–3 | Boltz-2, PocketMiner / fpocket |
This deliberately mirrors a standard computational-biophysics workflow (system preparation → MD → end-point free energy → analysis), with a current ML comparison appended.
nnmt-inhibitor-biophysics/
├── README.md
├── environment.yml
├── 00_curation/
│ ├── README.md # structure choice + inhibitor benchmark set (with sources)
│ ├── structures/ # PDB files (not redistributed; download script provided)
│ └── ligands/ # inhibitor SMILES + prepared 3D structures
├── 01_docking/
│ ├── README.md
│ ├── redock_validation.ipynb
│ └── results/ # poses, RMSD table
├── 02_md/
│ ├── README.md
│ ├── system_prep.ipynb
│ ├── run_md.ipynb # OpenMM
│ └── analysis.ipynb # RMSD/RMSF via MDAnalysis
├── 03_free_energy/
│ ├── README.md
│ ├── mmgbsa.ipynb
│ └── results/ # ΔG estimates vs. experimental IC50
├── 04_ml_coda/
│ ├── README.md
│ └── boltz2_pocket.ipynb
├── figures/
└── docs/
└── methods.md # detailed protocol + parameter choices
- Environment: see
environment.yml(conda). A few tools install separately — see notes in that file (AutoDock Vina binary, Boltz-2 via pip, PocketMiner from source). - Compute: developed on Google Colab (T4 GPU) and a local conda environment. MD lengths and
replica counts are documented in
docs/methods.mdand chosen to be feasible on a single GPU. - Data: structures and ligands are downloaded via scripts rather than redistributed.
To reproduce a phase, open its notebook and run top to bottom; each notebook states its inputs, outputs, and the ground-truth check it is validated against.
(to be populated as phases complete)
- Phase 1 — Docking validation: re-dock RMSD = TBD Å (target: < ~2 Å)
- Phase 3 — Free-energy ranking: Spearman ρ between MM/GBSA ΔG and experimental IC₅₀ = TBD
- Phase 4 — ML coda: TBD
- MM/GBSA is an approximation. It is useful for relative ranking within a congeneric series, not for absolute affinities; results are reported as rank correlation, not predicted Kd.
- Single-structure docking ignores receptor flexibility. This is exactly why MD is included, and any docking-only claim is caveated accordingly.
- Allosteric inhibitors are noncompetitive. Docking into the orthosteric (SAM/nicotinamide) site will not capture the reported macrocyclic-peptide allosteric inhibitors; these are treated as a separate, clearly labeled case rather than forced into the same comparison.
- ML data-leakage caveat. Structure-aware models may have seen NNMT complexes in training, so the Phase 4 comparison is framed as "does it reproduce the known result," not as a blind test.
- Statistical power. The inhibitor benchmark set is small; correlations are reported with that limitation stated, not oversold.
Starting structure (candidate): PDB 3ROD (NNMT–nicotinamide–SAH ternary complex) — verify and/or select a more recent structure during Phase 0.
Inhibitor benchmark set (to be finalized in Phase 0; pull exact IC₅₀ and SMILES from primary sources — PubChem / the original papers — rather than secondary summaries):
- Bisubstrate / substrate-analog inhibitors (orthosteric)
- A tricyclic small-molecule lead (orthosteric)
- Macrocyclic-peptide inhibitors (reported as allosteric / noncompetitive)
Key literature is catalogued in docs/methods.md with DOIs as the set is finalized.
This repository is a portfolio project: a rigorous, reproducible demonstration of a standard computational structural-biophysics pipeline, with results validated against experiment at each step.