v1.0.0-rc.180 (#91)
Build Packages / Create release (push) Successful in 9s
Build Packages / build:portable:macos-arm64:nocuda (push) Successful in 5m19s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 10m26s
Build Packages / build:portable:linux-x86_64:nocuda (push) Successful in 19m33s
Build Packages / build:portable:windows-x86_64:nocuda (push) Successful in 23m17s
Build Packages / build:portable:linux-x86_64:cuda (push) Successful in 23m28s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 24m38s
Build Packages / build:portable:windows-x86_64:cuda (push) Successful in 27m30s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 29m4s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 29m19s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 29m31s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 23m19s
Build Packages / Generate python client (push) Successful in 28s
Build Packages / Build documentation (push) Successful in 1m22s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 24m39s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 29m40s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 28m31s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 24m33s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 27m45s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 29m25s
Build Packages / Unit tests (push) Successful in 1h35m24s
Build Packages / Validation Battery (push) Successful in 35m45s
Build Packages / Create release (push) Successful in 9s
Build Packages / build:portable:macos-arm64:nocuda (push) Successful in 5m19s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 10m26s
Build Packages / build:portable:linux-x86_64:nocuda (push) Successful in 19m33s
Build Packages / build:portable:windows-x86_64:nocuda (push) Successful in 23m17s
Build Packages / build:portable:linux-x86_64:cuda (push) Successful in 23m28s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 24m38s
Build Packages / build:portable:windows-x86_64:cuda (push) Successful in 27m30s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 29m4s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 29m19s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 29m31s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 23m19s
Build Packages / Generate python client (push) Successful in 28s
Build Packages / Build documentation (push) Successful in 1m22s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 24m39s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 29m40s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 28m31s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 24m33s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 27m45s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 29m25s
Build Packages / Unit tests (push) Successful in 1h35m24s
Build Packages / Validation Battery (push) Successful in 35m45s
* Rugnux: A placed model is refined by default - restrained maximum-likelihood refinement on the GPU (CPU without one), writing `<prefix>_refined_model.cif`, `<prefix>_refined_maps.mtz` and the difference-map blobs in `<prefix>_blobs.json`; `--no-refine` skips it. * Rugnux: `--mode refine` refines a model against merged structure factors from an MTZ or mmCIF file. * Rugnux: The embedded restraint dictionary covers amino acids, nucleotides including common modified RNA nucleotides, common cofactors, crystallisation additives, waters and ions, with metal sites restrained from the model's LINK records. * Rugnux: A model or reference file can be given among the inputs in any order, recognised by its contents. * Rugnux: The geometry refinement algorithm option is now `-r, --geom-refine` (was `--refine`). * Rugnux: Serial stills resolve the indexing ambiguity from the data when no model or reference is given, reject merge outliers by default, follow the run's measured rocking curve in prediction and partiality (also in `--mode scale`), and index reproducibly on the GPU. * Rugnux: Reflections touching the beam-stop shadow are not integrated, reflections coarser than the low-resolution limit are merged and written (but kept out of the scale fit), and the polarisation plane is measured more reliably. * Rugnux: Small-molecule runs report unit-cell e.s.d.s, in a SHELX `.ins` beside the `.hkl` and in the mmCIF. * jfjoch_broker: Live Rugnux refines the uploaded model after placement; the web frontend's Rugnux live page has a hero panel with resolution, ISa, space group, placement and refined R-work/R-free, and its Mol* viewer shows the refined model and maps. * Documentation: A new front page with download pages for Rugnux and the viewer, and the technical reference reorganised below it. * Build: The fast-feedback indexer is part of the source tree instead of being downloaded at build time. Reviewed-on: #91 Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #91.
This commit is contained in:
1 parent
b00c668e3a
commit
63f5f96132
512 files changed
+67489
-2412
No files matched your search
@@ -22,8 +22,8 @@ communicate through network calls or other mechanisms.
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.0.0-rc.179
|
||||
- Package version: 1.0.0-rc.179
|
||||
- API version: 1.0.0-rc.180
|
||||
- Package version: 1.0.0-rc.180
|
||||
- Generator version: 7.20.0
|
||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||
|
||||
@@ -231,6 +231,9 @@ Class | Method | HTTP request | Description
|
||||
- [RoiCircleList](docs/RoiCircleList.md)
|
||||
- [RoiDefinitions](docs/RoiDefinitions.md)
|
||||
- [RotationAxis](docs/RotationAxis.md)
|
||||
- [RugnuxLiveBlob](docs/RugnuxLiveBlob.md)
|
||||
- [RugnuxLiveModel](docs/RugnuxLiveModel.md)
|
||||
- [RugnuxLiveRefinement](docs/RugnuxLiveRefinement.md)
|
||||
- [RugnuxLiveStatus](docs/RugnuxLiveStatus.md)
|
||||
- [RugnuxLiveStep](docs/RugnuxLiveStep.md)
|
||||
- [RugnuxSettings](docs/RugnuxSettings.md)
|
||||
|
||||
@@ -4076,14 +4076,16 @@ This endpoint does not need any parameter.
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **rugnux_map_ccp4_get**
|
||||
> bytearray rugnux_map_ccp4_get(type=type)
|
||||
> bytearray rugnux_map_ccp4_get(type=type, stage=stage)
|
||||
|
||||
Get an electron-density map of the last rugnux live run
|
||||
|
||||
The map of the placed model (`/rugnux/model.cif`) in CCP4 format (mode 2, float), made from the map
|
||||
coefficients written to `_maps.mtz` (FWT/PHWT, DELFWT/PHDELWT, ANOM/PHANOM). It covers one unit cell centred on the model - along an axis where
|
||||
the model reaches further than the cell, the model plus 5 A instead - sampled every d_min/3; the mean and
|
||||
RMS in its header are those of the unit cell, so contour levels in sigma are the usual ones.
|
||||
RMS in its header are those of the unit cell, so contour levels in sigma are the usual ones. Where the run
|
||||
refined the model, the 2mFo-DFc and mFo-DFc maps are the refined model's unless asked for `stage=placed`;
|
||||
the anomalous map stays on the placed model's phases.
|
||||
|
||||
|
||||
### Example
|
||||
@@ -4116,10 +4118,11 @@ with jfjoch_client.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = jfjoch_client.DefaultApi(api_client)
|
||||
type = 2fofc # str | `2fofc`: the 2mFo-DFc map; `fofc`: the mFo-DFc difference map; `anom`: the anomalous difference map, (F(+) - F(-)) on the model phases less 90 degrees, where the merge kept the Bijvoet pairs (`anomalous_map` in `/rugnux/status`) (optional) (default to 2fofc)
|
||||
stage = 'stage_example' # str | `placed`: the model as placed; `refined`: the model refined (`refined_model` in `/rugnux/status`). Default: the refined model where there is one, otherwise the placed one. (optional)
|
||||
|
||||
try:
|
||||
# Get an electron-density map of the last rugnux live run
|
||||
api_response = api_instance.rugnux_map_ccp4_get(type=type)
|
||||
api_response = api_instance.rugnux_map_ccp4_get(type=type, stage=stage)
|
||||
print("The response of DefaultApi->rugnux_map_ccp4_get:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
@@ -4134,6 +4137,7 @@ with jfjoch_client.ApiClient(configuration) as api_client:
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**type** | **str**| `2fofc`: the 2mFo-DFc map; `fofc`: the mFo-DFc difference map; `anom`: the anomalous difference map, (F(+) - F(-)) on the model phases less 90 degrees, where the merge kept the Bijvoet pairs (`anomalous_map` in `/rugnux/status`) | [optional] [default to 2fofc]
|
||||
**stage** | **str**| `placed`: the model as placed; `refined`: the model refined (`refined_model` in `/rugnux/status`). Default: the refined model where there is one, otherwise the placed one. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
@@ -4153,20 +4157,21 @@ Name | Type | Description | Notes
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | Map | - |
|
||||
**400** | Unknown map type | - |
|
||||
**400** | Unknown map type or stage | - |
|
||||
**401** | The current dataset is protected and no valid bearer token was presented. | - |
|
||||
**404** | The last rugnux live run placed no model or made no maps, or (`anom`) has no Bijvoet pairs | - |
|
||||
**404** | The last rugnux live run placed no model or made no maps, or (`anom`) has no Bijvoet pairs, or (`stage=refined`) refined none | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **rugnux_model_cif_get**
|
||||
> bytearray rugnux_model_cif_get()
|
||||
> bytearray rugnux_model_cif_get(stage=stage)
|
||||
|
||||
Get the model as placed by the last rugnux live run
|
||||
|
||||
The model placed against the data by molecular replacement or validation, as mmCIF - the same text as the
|
||||
`_model.cif` file written beside the data: the data's cell and space group, with the input model's own
|
||||
metadata (entities, sequences, references, authors, software) kept. Kept as long as `/rugnux/status`.
|
||||
Where the run refined the model, the refined model unless asked for `stage=placed`.
|
||||
|
||||
|
||||
### Example
|
||||
@@ -4198,10 +4203,11 @@ configuration = jfjoch_client.Configuration(
|
||||
with jfjoch_client.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = jfjoch_client.DefaultApi(api_client)
|
||||
stage = 'stage_example' # str | `placed`: the model as placed; `refined`: the model refined (`refined_model` in `/rugnux/status`). Default: the refined model where there is one, otherwise the placed one. (optional)
|
||||
|
||||
try:
|
||||
# Get the model as placed by the last rugnux live run
|
||||
api_response = api_instance.rugnux_model_cif_get()
|
||||
api_response = api_instance.rugnux_model_cif_get(stage=stage)
|
||||
print("The response of DefaultApi->rugnux_model_cif_get:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
@@ -4212,7 +4218,10 @@ with jfjoch_client.ApiClient(configuration) as api_client:
|
||||
|
||||
### Parameters
|
||||
|
||||
This endpoint does not need any parameter.
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**stage** | **str**| `placed`: the model as placed; `refined`: the model refined (`refined_model` in `/rugnux/status`). Default: the refined model where there is one, otherwise the placed one. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
@@ -4232,8 +4241,9 @@ This endpoint does not need any parameter.
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | Placed model | - |
|
||||
**400** | Unknown stage | - |
|
||||
**401** | The current dataset is protected and no valid bearer token was presented. | - |
|
||||
**404** | The last rugnux live run placed no model | - |
|
||||
**404** | The last rugnux live run placed no model, or (`stage=refined`) refined none | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# RugnuxLiveBlob
|
||||
|
||||
A blob of positive mFo-DFc density the refined model leaves unexplained, with its likely reading: a rule on what is measured, to point a person at the density - not an identification.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**kind** | **str** | |
|
||||
**x** | **float** | Centroid, Cartesian Angstrom, in the frame of the refined model (`/rugnux/model.cif`) |
|
||||
**y** | **float** | |
|
||||
**z** | **float** | |
|
||||
**peak_sigma** | **float** | The highest point, in map sigma |
|
||||
**volume_a3** | **float** | Volume above 3 sigma, in cubic Angstrom |
|
||||
**nearest_atom** | **str** | e.g. \"OG1 THR A42\" |
|
||||
**nearest_atom_distance_a** | **float** | |
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from jfjoch_client.models.rugnux_live_blob import RugnuxLiveBlob
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of RugnuxLiveBlob from a JSON string
|
||||
rugnux_live_blob_instance = RugnuxLiveBlob.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(RugnuxLiveBlob.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
rugnux_live_blob_dict = rugnux_live_blob_instance.to_dict()
|
||||
# create an instance of RugnuxLiveBlob from a dict
|
||||
rugnux_live_blob_from_dict = RugnuxLiveBlob.from_dict(rugnux_live_blob_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)
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# 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. \"SG CYS A7\"; empty where there is no anomalous map |
|
||||
**anomalous_site_sigma** | **float** | Anomalous difference density at that atom, in map sigma | [optional]
|
||||
**refinement** | [**RugnuxLiveRefinement**](RugnuxLiveRefinement.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
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]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# RugnuxLiveRefinement
|
||||
|
||||
The placed model refined against the merge it was placed on, as the report's REFINE_ keys state it. Set where a placed model was refined or its refinement failed; absent where the model was not placed or refinement was skipped. On a machine without a GPU it runs on the CPU, slower, and the run's deadline or cancel can cut it.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**performed** | **bool** | Refinement ran; false with `reason` where it failed |
|
||||
**cancelled** | **bool** | The deadline or a cancel cut the refinement short: the weight trials that ran were chosen among, the rest left out (cut before the first, the model is the placement's) |
|
||||
**reason** | **str** | Why refinement did not run to the end; empty otherwise |
|
||||
**on_gpu** | **bool** | |
|
||||
**seconds** | **float** | Wall time of the refinement |
|
||||
**r_work** | **float** | R-work of the refined model (after the restrained stage, else after the rigid body and grouped B) | [optional]
|
||||
**r_free** | **float** | R-free of the refined model, on the same reflections as `r_work` | [optional]
|
||||
**rmsd_bonds_a** | **float** | RMS deviation of the bond lengths from the dictionary, where the restrained stage ran | [optional]
|
||||
**rmsd_angles_deg** | **float** | RMS deviation of the bond angles from the dictionary, where the restrained stage ran | [optional]
|
||||
**blob_count** | **int** | Unexplained blobs of the refined model's mFo-DFc map (above 3 sigma, peaking above 4) |
|
||||
**blobs** | [**List[RugnuxLiveBlob]**](RugnuxLiveBlob.md) | The strongest blobs, at most 50, strongest first |
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from jfjoch_client.models.rugnux_live_refinement import RugnuxLiveRefinement
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of RugnuxLiveRefinement from a JSON string
|
||||
rugnux_live_refinement_instance = RugnuxLiveRefinement.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(RugnuxLiveRefinement.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
rugnux_live_refinement_dict = rugnux_live_refinement_instance.to_dict()
|
||||
# create an instance of RugnuxLiveRefinement from a dict
|
||||
rugnux_live_refinement_from_dict = RugnuxLiveRefinement.from_dict(rugnux_live_refinement_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)
|
||||
|
||||
|
||||
@@ -8,7 +8,13 @@ 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]
|
||||
|
||||
Reference in new issue
Block a user