Chemical shifts¶
ChemicalShifts is a tidy table of assigned chemical
shifts — one row per atom — plus the operations you most often want on them:
re-referencing, the chemical-shift index (CSI), and building peak lists.
Constructing¶
import makeshift as ms
# From a BMRB id (downloads + parses)
cs = ms.ChemicalShifts.from_bmrb(5363)
# From an already-parsed entry
entry = ms.NMRStarEntry.from_bmrb(5363)
cs = ms.ChemicalShifts.from_entry(entry)
Both constructors accept reref= and calc_csi= so you can correct referencing
and compute CSI in one step:
The table¶
| Column | Meaning |
|---|---|
Seq_ID |
Residue number |
Comp_ID |
Residue type (three-letter) |
Atom_ID |
Atom name |
Atom_type |
Element |
Val |
Shift (ppm) |
After calc_csi=True (or cs.add_csi()), two more columns appear: csi_raw
(secondary shift) and csi (the discretised ±1/0 index).
Re-referencing¶
The two methods and when to prefer each are covered in Re-referencing.
Chemical-shift index¶
CSI compares each backbone shift to random-coil values to flag helix/strand propensity per residue — the basis PANAV uses to pick a reference distribution.
From shifts to peaks¶
peaks = cs.peaklist() # default amide HSQC
peaks = cs.peaklist(dims=[("H", "N")]) # explicit dimensions
peaks = cs.peaklist(entity_id=1) # a specific entity
See Peak lists for the full set of dimension options and outputs.
Sequences¶
Full API¶
See the ChemicalShifts reference.