Skip to content

makeshift

An open-source Python package for accessing and analyzing NMR data, from either custom input or NMR-STAR files from the BMRB.

import makeshift as ms

# Fetch and parse a BMRB entry into tidy chemical shifts
cs = ms.ChemicalShifts.from_bmrb(5363)
cs.data            # one row per shift: Seq_ID, Comp_ID, Atom_ID, Atom_type, Val
cs.sequences()     # one row per entity: ID, polymer type, sequence

What it does

makeshift turns deposited NMR data into tidy, analysis-ready tables and runs a handful of common downstream analyses without pulling in a heavyweight dependency stack.

Module What it does
makeshift (core) Fetch/parse BMRB entries; extract chemical shifts, sequences, relaxation and order-parameter data; build assigned peak lists. Classes: NMRStarEntry, ChemicalShifts, PeakList.
makeshift.reref LACS and PANAV chemical-shift re-referencing (via ChemicalShifts.reref).
makeshift.spectra Read Sparky .ucsf spectra (Spectrum), pick peaks, and align peak lists (map_peaklists).
makeshift.relaxation CPMG dispersion pipeline (CPMGExperiment) and RelaxationProfile — RelaxDB-style per-residue dynamics from deposited R1/R2/NOE.
makeshift.hydronmr Predict per-residue T1/T2/NOE from a PDB structure.
makeshift.talosn Predict backbone torsion angles, S² order parameters, and secondary structure from chemical shifts via the NIH TALOS-N binary.
makeshift.utils Dependency-light helpers: dataset/structure fetching, constants.

Where to go next

  • Installation — install the package and optional extras.
  • Quickstart — the core fetch → shifts → peaks workflow.
  • User guide — task-focused walkthroughs of every module.
  • API reference — full signatures and docstrings, generated from the source.

License

MIT License.

Note that makeshift.talosn downloads and runs the TALOS-N binary, which is distributed separately by NIH under its own Terms of Use; those terms govern the downloaded software, not this wrapper.

Acknowledgments