NMRStarEntry¶
NMRStarEntry
¶
A parsed NMR-STAR file, indexed by saveframe category and framecode.
Construct with one of the classmethods rather than the initializer:
entry = NMRStarEntry.from_bmrb(15000)
entry = NMRStarEntry.from_file("bmr15000_3.str")
Source code in makeshift/entry.py
from_bmrb
classmethod
¶
Download a BMRB entry and parse it.
Source code in makeshift/entry.py
saveframe
¶
Return one saveframe dict, or all framecodes for a category.
loop_to_dataframe
staticmethod
¶
Turn a loop (list of row dicts) into a DataFrame.
Source code in makeshift/entry.py
sequences
¶
One row per entity: ID, polymer type, one-letter sequence.
Source code in makeshift/entry.py
polymer_type
¶
One row per entity: ID, polymer type, one-letter sequence.
Source code in makeshift/entry.py
sample_info
¶
One row per sample component (flattens the _Sample_component loop).
Source code in makeshift/entry.py
is_deuterated
¶
Bool if an id is given, else a [Sample_ID, Entity_ID, deuterated] table.
Source code in makeshift/entry.py
is_methyl_labeled
¶
Bool if an id is given, else a [Sample_ID, Entity_ID, methyl_labeled] table.
Source code in makeshift/entry.py
is_denatured
¶
Bool if sample_id is given, else a [Sample_ID, Entity_ID, denatured] table.
Source code in makeshift/entry.py
assembly_info
¶
One row per entity assembly (flattens the _Entity_assembly loop).
spectrometers
¶
One row per spectrometer: name, manufacturer, model, field strength.
Source code in makeshift/entry.py
shift_reference
¶
One row per referenced nucleus (how the depositor referenced shifts).
Source code in makeshift/entry.py
sample_conditions
¶
One row per sample-condition set, with each condition Type as a column (e.g. pH, temperature, pressure, ionic_strength) plus its units.
Source code in makeshift/entry.py
relaxation
¶
Heteronuclear relaxation data as a tidy DataFrame, one row per residue.
kind : 'T1'/'R1', 'T2'/'R2', 'T1rho'/'R1rho', or 'NOE' (case-insensitive). Columns: Seq_ID, Comp_ID, Atom_ID, Val, Val_err (T2 lists also carry Rex_val/Rex_err when present; NOE adds the second atom Seq_ID_2 etc.). The source list framecode is the first column, so multiple field strengths stay distinct.
BMRB is inconsistent about the value tag — some entries use the generic
Val/Val_err, others the type-prefixed T1_val/T1_val_err — so
whichever is present is coalesced into a single Val/Val_err.
Source code in makeshift/entry.py
order_parameters
¶
Model-free order parameters (S2) as a tidy DataFrame, one row per residue: Seq_ID, Comp_ID, Atom_ID, S2, S2_err, Tau_e, Rex, Model_fit.
Source code in makeshift/entry.py
datasets
¶
What data the entry contains: one row per data type with its count (from the entry_information _Data_set loop). Use this to discover which of the methods above will return anything.
Source code in makeshift/entry.py
data_loop
¶
Generic escape hatch: flatten the loop_name loop from every saveframe
of category into one DataFrame (framecode in the first column). Keeps
all columns when tags is None. Use for data types without a dedicated
method (coupling constants, RDCs, spectral density, CSA, ...); inspect a
saveframe's available loops with entry.saveframe(category).
Source code in makeshift/entry.py
get_entry_title
¶
Entry title: from entry_information, falling back to the entry citation.
Source code in makeshift/entry.py
get_citation_title
¶
Citation title: entry_information first, then the entry citation.
Source code in makeshift/entry.py
citation_info
¶
Title, journal, year, DOI, PubMed ID, and authors of the entry citation.