Files
Jungfraujoch/docs/python_client/docs/RugnuxLiveModel.md
T
leonarski_f baec34685d Rugnux live: the uploaded model is refined after placement; refined scores, model, maps and blobs in the status, the viewer and the hero
The live run refines a placed model as `rugnux` does (ProcessConfig::refine), after every decision
and before the end message; a cut before it starts leaves it out, as the model. The writer still
gets the placed model; the refined one stays with the broker.

API (broker/jfjoch_api.yaml):
- rugnux_live_model.refinement (rugnux_live_refinement): performed, reason, on_gpu, seconds, r_work,
  r_free, rmsd_bonds_A, rmsd_angles_deg, blob_count, blobs (at most 50, rugnux_live_blob: kind, x, y,
  z, peak_sigma, volume_A3, nearest_atom, nearest_atom_distance_A)
- rugnux_live_status.refined_model
- /rugnux/model.cif and /rugnux/map.ccp4 take stage=placed|refined, by default the refined model
  where there is one; the anomalous map stays on the placed model's phases (the refined
  coefficients carry none).
Regenerated broker/gen, frontend/src/client, redoc, and the python client docs (which also brings
the hero fields and rugnux_live_model it was missing).

Frontend: the model card keeps its green/red and gets "R-free 0.xx (refined)" as its context line,
"refining..." while the step runs; the model section adds refined R-free and blob tiles; Mol*
shows the refined model and maps, with the blobs as small spheres coloured by reading (switch, off
at first). The Refinement step is in the timeline like any other.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu
(cherry picked from commit 3b47fb9a53b7dfad1c1ed289e169094c8d3d9d3e)
2026-10-26 01:38:25 +01:00

3.2 KiB

RugnuxLiveModel

What the run made of the model it was given, as the report's MODEL VALIDATION section states it. The R-factors here are those of the placed model with its own coordinates and B factors; what refinement made of it is in refinement. A value that is absent was not computed - the model was not placed, or not by molecular replacement.

Properties

Name Type Description Notes
placement str RIGID_BODY (the model fits where it is), MR (molecular replacement placed it) or NOT_PLACED
model_name str
predicted bool Searched for as a predicted model
reason str Why the model could not be searched for or validated; empty otherwise
r_work float [optional]
r_free float [optional]
cc_model float Correlation of the merged intensities with the placed model's, over all reflections [optional]
fit_sigma float How far R-work stands below that of the same model in random orientations, in standard deviations [optional]
map_atom_sigma float Mean 2mFo-DFc value at the atom centres, in map sigma [optional]
rigid_body_angle_deg float [optional]
rigid_body_shift_a float [optional]
mr_decision str Molecular replacement's decision (AGREES, ENANTIOMORPH, SPACE_GROUP, TWIN_SUBGROUP, or why it placed nothing); empty where it did not run
mr_space_group str The group molecular replacement placed the model in; empty where it placed none
copies int Copies placed by molecular replacement [optional]
tf_z float Translation-function Z-score, the highest of the copies' [optional]
rf_z float Rotation-function Z-score of the first copy's orientation [optional]
llg_z float Likelihood Z-score after the rigid body, where a copy's translation function did not stand out [optional]
mr_d_min float High-resolution limit of the molecular-replacement search, in Angstrom [optional]
anomalous_site str Atom with the strongest anomalous difference density, e.g. &quot;SG CYS A7&quot;; empty where there is no anomalous map
anomalous_site_sigma float Anomalous difference density at that atom, in map sigma [optional]
refinement RugnuxLiveRefinement [optional]

Example

from jfjoch_client.models.rugnux_live_model import RugnuxLiveModel

# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxLiveModel from a JSON string
rugnux_live_model_instance = RugnuxLiveModel.from_json(json)
# print the JSON string representation of the object
print(RugnuxLiveModel.to_json())

# convert the object into a dict
rugnux_live_model_dict = rugnux_live_model_instance.to_dict()
# create an instance of RugnuxLiveModel from a dict
rugnux_live_model_from_dict = RugnuxLiveModel.from_dict(rugnux_live_model_dict)

[Back to Model list] [Back to API list] [Back to README]