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)
57 lines
3.9 KiB
Markdown
57 lines
3.9 KiB
Markdown
# 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`. |
|
|
**refined_model** | **bool** | The run refined the placed model: `/rugnux/model.cif` and `/rugnux/map.ccp4` serve the refined model and its maps unless asked for `stage=placed`. |
|
|
**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`). |
|
|
**anomalous_signal** | **bool** | The merged data carry usable anomalous signal (the summary's \"Anomalous\" row says so) |
|
|
**model** | [**RugnuxLiveModel**](RugnuxLiveModel.md) | | [optional]
|
|
**space_group** | **str** | Space group of the result (the summary's \"Space group\" row); absent until the run is over | [optional]
|
|
**d_min** | **float** | High-resolution limit of the merge, in Angstrom; absent until the run is over, or without a merge | [optional]
|
|
**isa** | **float** | ISa of the error model; absent until the run is over, or where it was not determined | [optional]
|
|
**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]**](RugnuxLiveStep.md) | |
|
|
**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]**](RugnuxSummaryRow.md) | |
|
|
**warnings** | **List[str]** | |
|
|
|
|
## Example
|
|
|
|
```python
|
|
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]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
|
|
|