Files
Jungfraujoch/docs/python_client/docs/RugnuxLiveStatus.md
T
leonarski_f 6abc44710d Anomalous difference map: ANOM/PHANOM in _maps.mtz, /rugnux/map.ccp4?type=anom, a magenta mesh in the viewer
Model validation already made the anomalous difference map's coefficients ((F(+) - F(-)) on the model
phases less 90 degrees, where the merge kept the Bijvoet pairs) to read the anomalous sites, then threw
them away. They now go into the map coefficients as ANOM/PHANOM (phenix.maps' labels), missing on the
reflections without a pair, so _maps.mtz opens as an anomalous map in Coot. Nothing in scaling, merging
or the validation's decisions changes; a merge without the Bijvoet split writes the twelve columns as before.

The broker serves the map as /rugnux/map.ccp4?type=anom (404 without Bijvoet pairs), and
rugnux_live_status.anomalous_map says it is there. The Mol* viewer loads it only then, as a magenta mesh
at +4 sigma with its own level slider and switch.

Tests: ANOM/PHANOM appear with Bijvoet pairs (as many as the reported pairs) and not without; the served
anomalous map of a point peaks at it; the auth test covers type=anom. End to end (myoglobin 2M replay):
anomalous_map true, the served map equals gemmi's FFT of ANOM/PHANOM in the written _maps.mtz to 3.4e-6 rms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu
(cherry picked from commit c4d6ad74c706181cbb183cfcaa2481653cd7cad6)
2026-10-22 20:18:51 +02:00

3.1 KiB

RugnuxLiveStatus

Live rugnux processing of the last collection; kept until the next collection starts or POST /initialize. Times are taken when the image puller received a message, and are in seconds since the first image (before it arrives, since now). The frame rate is (images_received - 1) / last_image_s.

Properties

Name Type Description Notes
state str
placed_model bool The run placed the model: it can be fetched from `/rugnux/model.cif` and its maps from `/rugnux/map.ccp4`.
anomalous_map bool The merge kept the Bijvoet pairs, so with the placed model there is an anomalous difference map (`/rugnux/map.ccp4?type=anom`).
probe str Answer of the early lattice probe on the first 60 degrees; empty until it answers
probe_s float When the probe answered, since the first image [optional]
start_to_first_image_s float From the START message to the first image; set once the first image arrives [optional]
message str Why the run failed or was skipped
images_expected int
expected_collection_s float How long the collection is set up to take - images_expected times the image time; absent if not known [optional]
images_received int
elapsed_s float
step_progress float Fraction of the current pass's images [optional]
steps List[RugnuxLiveStep]
last_image_s float When the last image arrived, since the first image; set once the collection is over [optional]
cut str Empty, or why the analysis was cut: `deadline` (`deadline_s` after the last image) or `cancel` (`POST /cancel`). The end message then carried what was established at the cut. [optional]
cut_s float When the analysis was cut, since the first image [optional]
last_image_to_written_s float From the last image received to all results written [optional]
verdict str OK, WARNINGS, UNUSABLE or FAILED; empty until the run is over
verdict_text str
summary List[RugnuxSummaryRow]
warnings List[str]

Example

from jfjoch_client.models.rugnux_live_status import RugnuxLiveStatus

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

# convert the object into a dict
rugnux_live_status_dict = rugnux_live_status_instance.to_dict()
# create an instance of RugnuxLiveStatus from a dict
rugnux_live_status_from_dict = RugnuxLiveStatus.from_dict(rugnux_live_status_dict)

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