Relaxation¶
See also deposited-data accessors on NMRStarEntry
(relaxation, order_parameters).
RelaxationProfile¶
RelaxationProfile
¶
Per-residue R1/R2/hetNOE for one entity, aligned to its sequence, with RelaxDB motional labels.
Attributes:
| Name | Type | Description |
|---|---|---|
table |
DataFrame
|
One row per sequence position (1-indexed). Columns: Seq_ID, residue, R1, R1_err, R2, R2_err, NOE, NOE_err, R2_R1, R2_R1_err, has_data (plus scaled_R2_R1_pred and label once those steps are run). |
sequence |
str
|
One-letter sequence the data is aligned to. |
entry_id, entity_id |
identifiers carried for reference.
|
|
Source code in makeshift/relaxation/relax_profile.py
from_bmrb
classmethod
¶
Fetch a BMRB entry and build a profile from its deposited relaxation.
Source code in makeshift/relaxation/relax_profile.py
from_entry
classmethod
¶
Build from an already-parsed NMRStarEntry. Pulls R1 (from T1), R2 (from T2), and hetNOE, converting times to rates using each list's units tag.
peaklist (a PeakList, a DataFrame with a Seq_ID column, or an iterable
of Seq_IDs) marks which residues have an assigned amide peak; if None,
the entry's own backbone amide peaks are derived via PeakList. Residues
with no assigned peak are flagged "missing" (.); residues with a peak but
no relaxation data are flagged "no data" (x).
Source code in makeshift/relaxation/relax_profile.py
add_rigid_prediction
¶
Run HYDRONMR on a structure and scale its rigid R2/R1 (T1_over_T2) to the observed data, so elevated R2/R1 stands out as exchange.
pdb may be a local file, a 4-character PDB id (fetched from RCSB), or a
UniProt accession (fetched from AlphaFold DB) — pass source= to force
one.
If pdb is None, the entry's own deposited PDB code is used when it
cites one; otherwise this raises (makeshift does not predict structure).
The scale factor is fit by least squares on ordered residues (hetNOE
above noe_cut where available), mirroring classify.fit_R2_rigid. Adds
scaled_R2_R1_pred and NOE_pred; residues outside the modeled region
keep NaN.
Source code in makeshift/relaxation/relax_profile.py
label
¶
Assign a label token to every residue and return the label string.
Requires add_rigid_prediction first for the exchange (^) call, which
flags residues whose R2/R1 exceeds the rigid prediction by more than
rex_n_std standard deviations of that excess across modeled residues.
ps-ns motion (v) is hetNOE <= noe_cut.
Source code in makeshift/relaxation/relax_profile.py
plot
¶
Plot a relaxation observable along the sequence with
motion labels:
orange = exchange (^/b)
blue = ps-ns (v)
black = ordered (A)
purple P = proline
red star = missing
gray = no data
The scaled rigid prediction is overlaid for R2_R1.
Requires label() first.