Introducing makeshift: Bringing Biomolecular NMR and Dynamics Analysis into Python

Key Takeaways

  • makeshift is an open-source Python package that streamlines retrieving, curating, and analyzing biomolecular Nuclear Magnetic Resonance (NMR) data from the Biological Magnetic Resonance Data Bank (BMRB).
  • It unifies scattered, standalone algorithms, including chemical shift re-referencing, backbone flexibility estimation, and relaxation dynamics, into standard Python workflows.
  • Benchmarking confirms that makeshift’s Python re-implementations closely match original legacy software, unlocking standardized datasets for machine learning, protein engineering, and drug discovery.

Nuclear magnetic resonance (NMR) spectroscopy is viewed as a “gold standard” for how to measure properties essential for the frontiers of protein design, like protein dynamics and enzyme chemical environments. However, NMR data formats are inconsistent, and existing processing tools are fragmented across web servers, compiled binaries, and isolated scripts. To break down these barriers, Stanford and UW–Madison researchers Gina El Nesr and Hannah Wayment-Steele recently published a preprint on a new tool they developed called makeshift. makeshift is an open-source Python library designed to make NMR data fully accessible, reproducible, and ready for modern computational workflows.

“We built this software hoping it can allow the broader community to more easily access this data and integrate it in their models,” says co-author Hannah.

Unifying Fragmented NMR Tools into a Modern Python Interface

In contrast to structural archives like the Protein Data Bank (PDB), which fueled breakthroughs in AI-driven protein structure prediction, NMR archives have lacked standardized data processing. makeshift bridges this gap by automating standardization of datasets – ranging from  chemical shifts to relaxation measurements – into standard Python data structures while preserving critical experimental metadata.

Rather than requiring researchers to piece together multiple external binaries, makeshift integrates essential analysis steps directly within Python:

  • Automated Data Curation & Correction: Detects and corrects systematic referencing offsets in chemical shift measurements without needing external 3D structural models.
  • Structural & Flexibility Insights: Evaluates secondary structure propensities and calculates backbone flexibility directly from chemical shifts.
  • Protein Dynamics Modeling: Features streamlined pipelines for analyzing molecular motion across timescales, ranging from picosecond backbone fluctuations to millisecond conformational changes.

Rigorously Validated Against Legacy Reference Tools

To ensure reliability, the developers benchmarked makeshift’s native Python code against established legacy software. Across dataset tests spanning chemical shift re-referencing, backbone disorder calculations, and structure-based hydrodynamic predictions, makeshift delivered strong agreement with original reference outputs. This reliability gives computational biologists confidence that they can migrate away from legacy, non-standard scripts without sacrificing accuracy.

Powering Machine Learning and Molecular Engineering

By bringing data retrieval, curation, and analysis into a single ecosystem, makeshift lowers technical barriers for integrating solution dynamics into predictive modeling. Whether creating large, curated dynamics datasets for machine learning or analyzing custom experimental spectra alongside archived entries, makeshift helps accelerate applications across predictive structural biology, enzyme design, and targeted drug discovery.

Featured image is inspired by Figs. 2 and 4 in El Nesr & Wayment-Steele (2026).

Leave a Comment