Merge branch 'battery-ci' into rc175: a ci tier, a closing per-set table and the battery workflow
Build Packages / Create release (push) Successful in 9s
Build Packages / build:portable:macos-arm64:nocuda (push) Successful in 3m25s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 10m16s
Build Packages / build:portable:linux-x86_64:nocuda (push) Successful in 11m37s
Build Packages / build:portable:linux-x86_64:cuda (push) Successful in 13m59s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 19m14s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 19m43s
Build Packages / build:portable:windows-x86_64:nocuda (push) Successful in 21m3s
Build Packages / build:portable:windows-x86_64:cuda (push) Successful in 25m3s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 26m3s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 18m57s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 18m15s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 19m27s
Build Packages / Generate python client (push) Successful in 32s
Build Packages / Build documentation (push) Successful in 1m17s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 19m44s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 20m54s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 19m7s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 16m55s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 16m40s
Validation battery / Validation battery (push) Successful in 47m59s
Build Packages / Unit tests (push) Successful in 1h26m17s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi
This commit is contained in:
2026-10-09 14:43:16 +02:00
co-authored by Claude Opus 5.5
8 changed files with 328 additions and 77 deletions
+136
View File
@@ -0,0 +1,136 @@
name: Validation battery
# Every push runs the ci tier of tools/battery (25 sets, about 10 minutes of rugnux on an RTX 5080,
# plus the build); the full battery (open + inhouse arms, about 2 hours of rugnux there) runs only
# when started by hand. Both run on the one machine that holds the battery data, one at a time (the
# concurrency group below), under their own runner label, with the data mounted read-only and
# /data/battery (scratch, kept reports, PDB/COD caches, the full-run lock) read-write. The site
# config below names only the open and inhouse arms; the private arm is never run here.
#
# The job fails when a ci-tier set fails on lattice or space group, crashes or has no input - in any
# run that includes those sets, so a manual full run fails on them too. Every other failure and every
# metric is reported, not judged: read the table at the end of the battery step and the report.
# Only each run's report.md and battery.log are kept: report.md in /data/battery/ci_reports, both as
# the job's artifact; the run directory itself is scratch.
#
# Runner side (/opt/gitea/config.yaml on that machine, then restart the runner):
# runner.labels: + "jfjoch_battery:docker://gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609"
# runner.timeout: 12h (the default 3h kills a full battery)
# container.valid_volumes: ["/data/open", "/data/inhouse", "/data/battery", "/opt/xtal"]
# CCP4 (SHELXL for the small-molecule check, REFMAC for --model-check) installed at /opt/xtal/ccp4-9
on:
push:
branches:
- '**'
workflow_dispatch:
inputs:
subset:
description: 'Empty = full battery (open + inhouse); or e.g. "--tier ci", "--tier smoke", "--only 5reo,lyso_x06da_ref"'
required: false
default: ''
label:
description: 'Run label (part of the run directory name)'
required: false
default: 'manual'
env:
# Same flags as the build workflow: CPU-side timings depend on them (see CLAUDE.md).
LINUX_CMAKE_FLAGS: '-DCMAKE_CXX_FLAGS="-march=x86-64-v3 -flto=auto" -DCMAKE_C_FLAGS="-march=x86-64-v3 -flto=auto"'
concurrency:
group: battery
cancel-in-progress: false
jobs:
battery:
name: Validation battery
runs-on: jfjoch_battery
container:
image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609
# nvidia-smi inside the container still counts every process on the GPU (host and other
# containers), so the battery's gpu_others / "timing NOT a reference" marking keeps working.
options: --gpus all
volumes:
- /data/open:/data/open:ro
- /data/inhouse:/data/inhouse:ro
- /data/battery:/data/battery
- /opt/xtal:/opt/xtal:ro
timeout-minutes: 720
env:
# A push runs the ci tier; a manual run takes what it was given (empty = full battery).
SUBSET: ${{ github.event_name == 'push' && '--tier ci' || github.event.inputs.subset }}
LABEL: ${{ github.event_name == 'push' && 'ci' || github.event.inputs.label }}
steps:
- uses: actions/checkout@v4
- name: Build rugnux
shell: bash
run: |
rm -rf build && mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ${{ env.LINUX_CMAKE_FLAGS }} ..
ninja -j16 rugnux
- name: Python for the scorer
shell: bash
run: |
# the image's python3 is 3.6, too old for gemmi
dnf -y -q install python3.12 python3.12-pip
python3.12 -m venv /tmp/bvenv
/tmp/bvenv/bin/pip install -q gemmi h5py
- name: Site config
shell: bash
run: |
# The run directory (merged files, logs, results.json) is scratch, deleted after the job;
# only report.md is kept, in /data/battery/ci_reports and as the job's artifact.
cat > /tmp/site.json <<EOF
{
"runs_root": "/data/battery/scratch/${{ github.run_id }}",
"lock_file": "/data/battery/full_run.lock",
"gpulock": null,
"baseline": null,
"baseline_private": null,
"pdb_cache": "/data/battery/pdb_cache",
"cod_cache": "/data/battery/cod_cache",
"shelxl": "/opt/xtal/ccp4-9/bin/shelxl",
"arms": {
"open": {"manifest": "open.json", "reference": "deposition", "data_root": "/data/open"},
"inhouse": {"manifest": "inhouse.json", "reference": "xds", "data_root": "/data/inhouse"}
}
}
EOF
cat /tmp/site.json
- name: Run the battery
shell: bash
run: |
set -o pipefail
# ends with one line per set (rugnux / reference, a tick or cross on the space group);
# exits non-zero when a ci-tier set failed
JFJOCH_BATTERY_SITE=/tmp/site.json /tmp/bvenv/bin/python tools/battery/battery.py run \
--rugnux build/rugnux/rugnux --build-dir build --label "$LABEL" \
$SUBSET 2>&1 | tee battery.log
- name: Keep the report
if: always()
shell: bash
run: |
run=$(sed -n 's/^run directory //p' battery.log | head -1)
[ -n "$run" ] && [ -f "$run/report.md" ] || { echo "no report"; exit 1; }
mkdir -p battery_out /data/battery/ci_reports
cp "$run/report.md" "battery_out/$(basename "$run").md"
cp battery.log "battery_out/$(basename "$run").log"
cp "$run/report.md" "/data/battery/ci_reports/$(basename "$run").md"
# the report's own per-arm summary and failures, into the job log
awk '/^## Summary/{p=1} /^### By population/{p=0} p' "$run/report.md"
awk '/^### Failures/{p=1;print;next} /^### /{p=0} p' "$run/report.md"
- name: Upload report
if: always()
uses: actions/upload-artifact@v3
with:
name: battery-report
path: battery_out/
- name: Delete the run directory
if: always()
shell: bash
run: |
# a finished run directory is read-only; the container runs as root, which deletes it anyway
rm -rf "/data/battery/scratch/${{ github.run_id }}"
# files written by root in the container go back to the owner of the battery tree
chown -R "$(stat -c %u:%g /data/battery)" /data/battery/ci_reports /data/battery/pdb_cache /data/battery/cod_cache 2>/dev/null || true
+34 -3
View File
@@ -134,6 +134,9 @@ the reference:
**Timing.** Each set runs once, so every time includes reading the images from disk (unless they
were still in the page cache from before the run).
The in-house standard proteins run with `--model` since rc174, so their times include placing
the model; an earlier run (rc173 and before) did not, and a time delta on that arm against one is
partly that, not a change of speed. Compare in-house times between runs on the same side of it.
The private arm is never mixed with the others. A private run gets its own run directory
(suffix `_private`) and its own report (`report_PRIVATE.*`), and it cannot be the baseline of a
@@ -225,7 +228,8 @@ B=tools/battery/battery.py
R=build/rugnux/rugnux
$B run --rugnux $R # full battery: open + inhouse
$B run --rugnux $R --tier smoke # 22 sets covering readers, symmetry, known hard cases
$B run --rugnux $R --tier smoke # 21 sets covering readers, symmetry, known hard cases
$B run --rugnux $R --tier ci # 25 sets every recent release passed (CI, below)
$B run --rugnux $R --only 5reo,lyso_ref # named sets
$B run --rugnux $R --arm private # the private arm, on its own
```
@@ -239,8 +243,34 @@ Useful options:
- `--baseline RUN|none` sets the run the report is compared against.
- `--model-check` adds the REFMAC check to the open arm's rows (off by default, see below).
A run prints one line per set and ends by writing its report. The **smoke** tier is marked in the
manifests (`"tiers": {"smoke": "<why this set>"}`).
A run prints one line per set as it goes and ends by writing its report and printing a table, one
line per set, each column rugnux / reference: the space group with ✓ where the set passed by the
scorer's rule and ✗ where it failed (lattice, symmetry, crash, no input), d_min, ISa, CC1/2 overall
and in the highest shell, R_meas of the lowest shell, R-free of the model (rugnux's placement /
the model's published) and rugnux's wall time. On the open arm only the space group, d_min and
R-free have a reference. `$B table RUN` prints it again for any finished run.
**Tiers** are marked in the manifests (`"tiers": {"<tier>": "<why this set>"}`):
- **smoke** covers the readers, the symmetry classes and some known hard cases; several of its
sets fail on purpose.
- **ci** is the routine regression check: 25 sets that passed with the same space group and steady
d_min and ISa in every full run of rc174 and rc175, with no warning that questions the lattice or
the group (supercell, harmonic, twinning, untested centring). It spans HDF5, miniCBF, cbf.gz,
marCCD (both formats) and SMV; every crystal system, centred and high-symmetry lattices, small
molecules, anomalous and long-wavelength data, pink beam, a twinnable P31 and one large set
(8qaw, about 2 minutes) - about 10 minutes of rugnux in all on the RTX 5080. A set that starts
failing for a known, accepted reason leaves the tier; one that is merely slow stays.
**Exit status.** `run` exits with status 1 when a ci-tier set in the run failed - a wrong lattice
or space group, a crash, a timeout or a missing input - and names those sets. This holds in any
run that includes them (`--tier ci`, a full run, `--only` naming one), so a red CI job means the
same thing whichever run it started. Nothing else fails a run: other sets' failures and every
metric are reported, not judged.
**CI.** `.gitea/workflows/battery.yml` builds rugnux with the CI flags and runs the ci tier on every
push, or by hand any subset (empty: the full open + inhouse battery), on the machine that holds the
data. The job keeps report.md and the log as its artifact; its site config names no private arm.
**Full runs.** A run without `--only` or `--tier` takes the site lock (`flock`, non-blocking), so
two full runs cannot overlap. Do not start one without the owner's go-ahead: it takes hours, and
@@ -433,6 +463,7 @@ was run `--unforced`), so its forced XDS-arm rows are left out the same way.
| `refres_range`, `refres_shells_past_limit`, `refres_unique_reflections`, `refres_completeness`, `refres_multiplicity`, `refres_i_over_sigma`, `refres_r_meas`, `refres_cc_half`, `refres_isa` | XDS arms: the REFRES_* keys, the same merge over the reference range |
| `isa_ratio`, `r_meas_ratio` | refres_isa / isa_ref and refres_r_meas / r_meas_ref |
| `cc_half_noise_ratio` | XDS arms: (1/refres_cc_half - 1) / (1/(cc_half_ref - 0.0005) - 1), reported, not scored |
| `cc_half_high`, `cc_half_high_ref` | CC1/2 of the highest-resolution shell: rugnux's own table, XDS's (`cc_half_high` in the manifest's `ref`), each at its own limit |
| `lowres_d`, `lowres_r_meas`, `refres_lowres_d`, `refres_lowres_r_meas`, `lowres_d_ref`, `lowres_r_meas_ref`, `lowres_r_meas_ratio` | the lowest-resolution shell's high-resolution limit and R_meas: rugnux's own table, the reference-range table, XDS's; and refres_lowres_r_meas / lowres_r_meas_ref |
| `model`, `model_note` | open arm, and in-house sets with a `model`: the coordinates given to `--model`, or why there were none |
| `rfree`, `rwork`, `cc_model`, `model_fit`, `rfree_deposited`, `rfree_ratio` | any row with a model: R_FREE, R_WORK, CC_MODEL_OVERALL and MODEL_FIT as rugnux reports them (placement-only, own free set: trend fields), the published R-free, and rfree / rfree_deposited |
+25 -5
View File
@@ -11,12 +11,13 @@ Arms and where their truth comes from:
site config) and a private run gets its own run directory and report.
Usage (README.md in this directory is the full guide):
battery.py run --rugnux BIN [--label L] [--arm open,inhouse|private] [--only a,b | --tier smoke]
battery.py run --rugnux BIN [--label L] [--arm open,inhouse|private] [--only a,b | --tier smoke|ci]
[--build-dir DIR] [--gpulock] [--threads N]
[--model-check] [--baseline RUN|none]
battery.py list runs under the runs root, with their state
battery.py compare RUN_A RUN_B [--all] [--rerun-changed]
battery.py report RUN --out DIR [--baseline RUN] re-render a run's report into DIR/<run>.{md,html}
battery.py table RUN the one-line-per-set table a run ends with
battery.py abort RUN [--reason TEXT] mark an unfinished run as aborted
battery.py recheck RUN [--only a,b] [--jobs N] rerun the model checks of a finished run's open
arm on its p.mtz files; recorded in the manifest
@@ -37,6 +38,7 @@ A run writes <runs_root>/<YYYYMMDD-HHMM>_<rugnux git>_<label>/ holding a copy of
manifest.json (what was run, on what, with which references), results.json (one row per set),
report.md + report.html and work/<arm>/<set>/ (log, report, cif). It is made read-only when done.
A full-arm run (no --only / --tier) takes the site lock and refuses to start if another holds it.
A run exits with status 1 when a set of the ci tier it ran failed (lattice, symmetry, crash, no input).
A run that did not finish is never compared or reported on unless asked (--allow-incomplete).
"""
import argparse
@@ -529,6 +531,7 @@ def run_sets(site, sets, arms, binary_src, build_dir, label, opts, subset, basel
man.update(end=datetime.datetime.now().isoformat(timespec="seconds"), complete=True)
write_json(os.path.join(run_dir, "manifest.json"), man)
print(f"report {write_report(run_dir, baseline)}", flush=True)
print("\n" + report.console_table(results), flush=True)
make_read_only(run_dir)
if lock_fh:
lock_fh.close()
@@ -573,8 +576,16 @@ def cmd_run(a, site):
"runs_root": a.runs_root or site["runs_root"]}
if a.gpulock and not site.get("gpulock"):
sys.exit("--gpulock: the site config names no gpulock")
run_sets(site, sets, arms, a.rugnux, a.build_dir, a.label, opts, subset,
default_baseline(site, arms, a.baseline), lock=None if subset else site["lock_file"])
run_dir = run_sets(site, sets, arms, a.rugnux, a.build_dir, a.label, opts, subset,
default_baseline(site, arms, a.baseline), lock=None if subset else site["lock_file"])
# The ci tier holds sets every recent release passed: one of them failing (wrong lattice or
# symmetry, a crash, a missing input) fails the run, whatever else the run included.
ci = {(e["arm"], e["id"]) for e in sets if "ci" in e.get("tiers", {})}
bad = [r for r in json.load(open(os.path.join(run_dir, "results.json")))
if (r["arm"], r["set"]) in ci and r["verdict"] in ("fail", "not_run")]
if bad:
sys.exit(f"{len(bad)} of {len(ci)} ci-tier sets failed: " +
"; ".join(f"{r['set']} ({r['reason']})" for r in bad))
def cmd_list(a, site):
@@ -650,6 +661,11 @@ def cmd_compare(a, site):
print(doc.markdown())
def cmd_table(a, site):
_, res = report.load_run(a.run, a.allow_incomplete)
print(report.console_table(res))
def cmd_report(a, site):
# a finished run directory is read-only, so a re-render goes elsewhere, named after the run
man, _ = report.load_run(a.run, a.allow_incomplete)
@@ -828,7 +844,7 @@ def main():
"(default: the rugnux version)")
r.add_argument("--arm", default="open,inhouse", help="comma-separated (default: open,inhouse)")
r.add_argument("--only", help="comma-separated set ids")
r.add_argument("--tier", help="named subset from the manifests, e.g. smoke")
r.add_argument("--tier", help="named subset from the manifests: smoke or ci")
r.add_argument("--build-dir", help="build tree whose CMakeCache.txt records the flags")
r.add_argument("--gpulock", action="store_true",
help="queue each rugnux behind the site's GPU lock (timing is then not a reference)")
@@ -859,6 +875,10 @@ def main():
p.add_argument("--allow-incomplete", action="store_true",
help="render a run that did not finish; the report says so")
t = sub.add_parser("table", help="print a run's one-line-per-set table again")
t.add_argument("run")
t.add_argument("--allow-incomplete", action="store_true")
ls = sub.add_parser("list")
ls.add_argument("--runs-root")
@@ -892,7 +912,7 @@ def main():
report.SHELXL = shelx_check.find_shelxl(site.get("shelxl"))
report.MANIFESTS = {arm: {e["id"]: e for e in load_sets(site, arm)}
for arm, cfg in site["arms"].items() if os.path.exists(cfg["manifest"])}
{"run": cmd_run, "list": cmd_list, "compare": cmd_compare, "report": cmd_report,
{"run": cmd_run, "list": cmd_list, "compare": cmd_compare, "table": cmd_table, "report": cmd_report,
"abort": cmd_abort, "recheck": cmd_recheck, "discover": cmd_discover, "refs": cmd_refs, "remap": cmd_remap}[a.cmd](a, site)
+43 -43
View File
@@ -1,49 +1,49 @@
{"arm": "inhouse", "aliases": {"E08_lyso_2_006": "lyso_x10sa_90deg_1", "E08_lyso_2_007": "lyso_x10sa_90deg_2", "lyso_2": "lyso_x06da_atten_wedge", "lyso_6_5keV": "lyso_x06da_5keV", "lysoC_14_f46f0a": "lyso_x06da_ice", "Thau_9": "thau_x10sa_0p1deg", "thau_BL1A_1p9A": "thau_bl1a_6p5keV", "thau_BL1A_2p7A": "thau_bl1a_4p6keV", "thau_BL1A_3p3A": "thau_bl1a_3p8keV", "Ins_H_2_fa9841": "insu_H_x06da_twin", "Ins_H_3_d05684": "insu_H_x06da_notwin", "Ins_I_16": "insu_I_x06da_weak", "Ins_I_2_1a530d": "insu_I_x06da_low_isa", "Ins_I_3_5e90e3": "insu_I_x06da_ref", "Ins_I_6_13keV": "insu_I_x06da_13keV", "Ins_I_6_5keV": "insu_I_x06da_5keV", "Ins_I_6_6keV": "insu_I_x06da_6keV", "Ins_I_7_5keV": "insu_I_x06da_5keV_2", "cytC_10": "cytc_x10sa", "cytC_2_0770b5": "cytc_x06da_1", "cytC_3_874285": "cytc_x06da_2", "MyoB_13": "myob_x10sa", "MyoB_9_446b70": "myob_x06da", "MyoB2-1": "myob_x06da_powder_1", "MyoB2-2": "myob_x06da_powder_2", "MyoB2-4": "myob_x06da_split", "MyoB2-5": "myob_x06da_sparse", "onlyice": "nothing_ice", "nothing_3400ac": "nothing_2", "nothing_9bf604": "nothing_1", "lyso_90deg_1": "lyso_x10sa_90deg_1", "lyso_90deg_2": "lyso_x10sa_90deg_2", "lyso_atten_wedge": "lyso_x06da_atten_wedge", "lyso_5keV": "lyso_x06da_5keV", "lyso_ice": "lyso_x06da_ice", "lyso_ref": "lyso_x06da_ref", "lyso_strong": "lyso_x10sa_strong", "lyso_half_image": "lyso_x06da_half_image", "thau_16keV": "thau_x10sa_16keV", "thau_0p1deg": "thau_x10sa_0p1deg", "thau_1p9A": "thau_bl1a_6p5keV", "thau_2p7A": "thau_bl1a_4p6keV", "thau_3p3A": "thau_bl1a_3p8keV", "thau_injection": "thau_x10sa_injection", "thau_pink": "thau_micromax_pink", "insu_H_twin": "insu_H_x06da_twin", "insu_H_notwin": "insu_H_x06da_notwin", "insu_I_weak": "insu_I_x06da_weak", "insu_I_low_isa": "insu_I_x06da_low_isa", "insu_I_ref": "insu_I_x06da_ref", "insu_I_13keV": "insu_I_x06da_13keV", "insu_I_5keV": "insu_I_x06da_5keV", "insu_I_6keV": "insu_I_x06da_6keV", "insu_I_5keV_2": "insu_I_x06da_5keV_2", "cytc_eiger": "cytc_x10sa", "cytc_pilatus_1": "cytc_x06da_1", "cytc_pilatus_2": "cytc_x06da_2", "myob_eiger": "myob_x10sa", "myob_pilatus": "myob_x06da", "myob_powder_1": "myob_x06da_powder_1", "myob_powder_2": "myob_x06da_powder_2", "myob_split": "myob_x06da_split", "myob_aggregate": "myob_x06da_sparse", "myob_x06da_aggregate": "myob_x06da_sparse"}, "sets": [
{"id": "lyso_x10sa_90deg_1", "input": "lyso_x10sa_90deg_1/lyso_2_006_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [76.879, 76.879, 36.961, 90.0, 90.0, 90.0], "anomalous": true, "isa": 20.75, "completeness": 99.3, "r_meas": 0.182, "cc_half": 0.995, "multiplicity": 3.51, "dmin_low": 5.83, "r_meas_low": 0.049, "dmin": 1.966, "dmin_rule": "xds_range", "dmin_xds": 1.966, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x10sa_90deg_2", "input": "lyso_x10sa_90deg_2/lyso_2_007_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [76.904, 76.904, 36.976, 90.0, 90.0, 90.0], "anomalous": true, "isa": 18.14, "completeness": 99.3, "r_meas": 0.18, "cc_half": 0.994, "multiplicity": 3.51, "dmin_low": 5.86, "r_meas_low": 0.051, "dmin": 1.973, "dmin_rule": "xds_range", "dmin_xds": 1.973, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_atten_wedge", "input": "lyso_x06da_atten_wedge/lyso_2_002_master.h5", "wavelength": 0.95381, "ref": {"sgno": 92, "cell": [78.235, 78.235, 37.798, 90.0, 90.0, 90.0], "anomalous": true, "isa": 16.56, "completeness": 99.9, "r_meas": 0.239, "cc_half": 0.998, "multiplicity": 10.97, "dmin_low": 3.76, "r_meas_low": 0.069, "dmin": 1.264, "dmin_rule": "xds_range", "dmin_xds": 1.264, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_5keV", "input": "lyso_x06da_5keV/lyso_6_001_master.h5", "wavelength": 2.47924, "ref": {"sgno": 92, "cell": [78.225, 78.225, 37.897, 90.0, 90.0, 90.0], "anomalous": true, "isa": 19.36, "completeness": 86.4, "r_meas": 0.064, "cc_half": 0.998, "multiplicity": 8.85, "dmin_low": 7.22, "r_meas_low": 0.047, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "lysozyme", "long-wavelength"], "model": "4axt"},
{"id": "lyso_x06da_ice", "input": "lyso_x06da_ice/lysoC_14_56b5b9_master.h5", "wavelength": 0.95364, "ref": {"sgno": 89, "cell": [78.387, 78.387, 37.427, 90.0, 90.0, 90.0], "anomalous": true, "isa": 23.33, "completeness": 100.0, "r_meas": 0.219, "cc_half": 0.998, "multiplicity": 11.86, "dmin_low": 4.26, "r_meas_low": 0.055, "dmin": 1.431, "dmin_rule": "xds_range", "dmin_xds": 1.431, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_ref", "input": "lyso_x06da_ref/hewl_35_001_master.h5", "wavelength": 0.95329, "ref": {"sgno": 89, "cell": [78.091, 78.091, 37.704, 90.0, 90.0, 90.0], "anomalous": true, "isa": 28.31, "completeness": 100.0, "r_meas": 0.045, "cc_half": 1.0, "multiplicity": 13.76, "dmin_low": 3.58, "r_meas_low": 0.029, "dmin": 1.2, "dmin_rule": "xds_range", "dmin_xds": 1.2, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "tiers": {"smoke": "lysozyme reference set"}, "model": "4axt"},
{"id": "lyso_x10sa_strong", "input": "lyso_x10sa_strong/lyso_5_f6ac7e_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [77.769, 77.769, 37.442, 90.0, 90.0, 90.0], "anomalous": false, "isa": 8.63, "completeness": 65.8, "r_meas": 0.112, "cc_half": 0.998, "multiplicity": 11.46, "dmin_low": 3.52, "r_meas_low": 0.077, "dmin": 1.24, "dmin_rule": "cc_half_0.30", "dmin_xds": 1.18, "dmax": 999.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_half_image", "input": "lyso_x06da_half_image/lyso3_7_b81d83_master.h5", "wavelength": 0.95373, "ref": {"sgno": 96, "cell": [77.74, 77.74, 37.386, 90.0, 90.0, 90.0], "anomalous": true, "isa": 6.61, "completeness": 99.6, "r_meas": 0.595, "cc_half": 0.958, "multiplicity": 5.31, "dmin_low": 4.91, "r_meas_low": 0.258, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "thau_x10sa_16keV", "input": "thau_x10sa_16keV/lyso_4_d2bb9b_master.h5", "wavelength": 0.77491, "ref": {"sgno": 92, "cell": [57.958, 57.958, 150.547, 90.0, 90.0, 90.0], "anomalous": false, "isa": 44.51, "completeness": 94.3, "r_meas": 0.072, "cc_half": 1.0, "multiplicity": 18.36, "dmin_low": 3.89, "r_meas_low": 0.027, "dmin": 1.3, "dmin_rule": "xds_range", "dmin_xds": 1.3, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47"},
{"id": "thau_x10sa_0p1deg", "input": "thau_x10sa_0p1deg/Thau_9_002_master.h5", "wavelength": 0.99989, "ref": {"sgno": 92, "cell": [58.488, 58.488, 150.788, 90.0, 90.0, 90.0], "anomalous": true, "isa": 9.15, "completeness": 99.0, "r_meas": 0.23, "cc_half": 0.997, "multiplicity": 11.37, "dmin_low": 6.51, "r_meas_low": 0.104, "dmin": 2.197, "dmin_rule": "xds_range", "dmin_xds": 2.197, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47"},
{"id": "thau_bl1a_6p5keV", "input": "thau_bl1a_6p5keV/JTH14_1p9_50ds_90T_k0_JF4M_01_50001_master.h5", "wavelength": 1.9, "ref": {"sgno": 89, "cell": [58.031, 58.031, 150.577, 90.0, 90.0, 90.0], "anomalous": true, "isa": 34.46, "completeness": 91.8, "r_meas": 0.072, "cc_half": 0.999, "multiplicity": 7.95, "dmin_low": 5.33, "r_meas_low": 0.041, "dmin": 1.78, "dmin_rule": "xds_range", "dmin_xds": 1.78, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "model": "5a47"},
{"id": "thau_bl1a_4p6keV", "input": "thau_bl1a_4p6keV/JTH14_2p7_50ds_19T_k0_JF4M_01_50001_master.h5", "wavelength": 2.7, "ref": {"sgno": 89, "cell": [58.007, 58.007, 150.511, 90.0, 90.0, 90.0], "anomalous": true, "isa": 35.64, "completeness": 92.0, "r_meas": 0.062, "cc_half": 0.998, "multiplicity": 7.94, "dmin_low": 7.56, "r_meas_low": 0.039, "dmin": 2.53, "dmin_rule": "xds_range", "dmin_xds": 2.53, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "model": "5a47"},
{"id": "thau_bl1a_3p8keV", "input": "thau_bl1a_3p8keV/JTH14_3p3_50ds_12T_k0_JF4M_01_50001_master.h5", "wavelength": 3.3, "ref": {"sgno": 89, "cell": [57.895, 57.895, 150.213, 90.0, 90.0, 90.0], "anomalous": true, "isa": 30.8, "completeness": 92.2, "r_meas": 0.057, "cc_half": 0.997, "multiplicity": 7.92, "dmin_low": 9.23, "r_meas_low": 0.039, "dmin": 3.1, "dmin_rule": "xds_range", "dmin_xds": 3.1, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "tiers": {"smoke": "long wavelength (3.3 A), KEK BL-1A thaumatin"}, "model": "5a47"},
{"id": "thau_x10sa_injection", "input": "thau_x10sa_injection/lyso_13_0c7e7a_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [57.922, 57.922, 150.678, 90.0, 90.0, 90.0], "anomalous": true, "isa": 36.23, "completeness": 86.2, "r_meas": 0.037, "cc_half": 1.0, "multiplicity": 9.96, "dmin_low": 3.83, "r_meas_low": 0.022, "dmin": 1.28, "dmin_rule": "xds_range", "dmin_xds": 1.28, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47"},
{"id": "thau_micromax_pink", "input": "thau_micromax_pink/Thau-Thaumatin_2_master.h5", "wavelength": 0.98419, "ref": {"sgno": 92, "cell": [58.784, 58.784, 152.226, 90.0, 90.0, 90.0], "anomalous": true, "isa": 21.18, "completeness": 98.5, "r_meas": 0.08, "cc_half": 0.999, "multiplicity": 9.38, "dmin_low": 4.17, "r_meas_low": 0.04, "dmin": 1.4, "dmin_rule": "xds_range", "dmin_xds": 1.4, "dmax": 50.0}, "tags": ["h5", "thaumatin", "pink-beam"], "tiers": {"smoke": "pink beam"}, "model": "5a47"},
{"id": "lyso_micromax_mono", "input": "lyso_micromax_mono/lysozyme-s6_1_master.h5", "wavelength": 0.95447, "tags": ["h5", "lysozyme"], "ref": {"sgno": 96, "cell": [77.668, 77.668, 37.486, 90.0, 90.0, 90.0], "anomalous": true, "isa": 39.93, "completeness": 100.0, "r_meas": 0.047, "cc_half": 1.0, "multiplicity": 6.22, "dmin_low": 4.54, "r_meas_low": 0.023, "dmin": 1.5, "dmin_rule": "xds_range", "dmin_xds": 1.5, "dmax": 50.0}, "model": "4axt"},
{"id": "lyso_micromax_pink", "input": "lyso_micromax_pink/lysozyme-s6_1_master.h5", "wavelength": 0.95374, "tags": ["h5", "lysozyme", "pink-beam"], "ref": {"sgno": 96, "cell": [77.654, 77.654, 37.483, 90.0, 90.0, 90.0], "anomalous": true, "isa": 37.35, "completeness": 99.9, "r_meas": 0.051, "cc_half": 1.0, "multiplicity": 5.96, "dmin_low": 4.39, "r_meas_low": 0.022, "dmin": 1.45, "dmin_rule": "xds_range", "dmin_xds": 1.45, "dmax": 50.0}, "model": "4axt"},
{"id": "lysoI_micromax_mono", "input": "lysoI_micromax_mono/lysozyme-Is2_1_master.h5", "wavelength": 0.95447, "tags": ["h5", "lysozyme", "iodine"], "ref": {"sgno": 96, "cell": [78.335, 78.335, 37.46, 90.0, 90.0, 90.0], "anomalous": true, "isa": 31.42, "completeness": 100.0, "r_meas": 0.068, "cc_half": 0.999, "multiplicity": 6.78, "dmin_low": 4.99, "r_meas_low": 0.028, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "model": "4axt"},
{"id": "lysoI_micromax_pink", "input": "lysoI_micromax_pink/lysozyme-Is2_1_master.h5", "wavelength": 0.95374, "tags": ["h5", "lysozyme", "iodine", "pink-beam"], "ref": {"sgno": 96, "cell": [78.302, 78.302, 37.448, 90.0, 90.0, 90.0], "anomalous": true, "isa": 29.19, "completeness": 100.0, "r_meas": 0.079, "cc_half": 0.999, "multiplicity": 6.8, "dmin_low": 4.99, "r_meas_low": 0.028, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "model": "4axt"},
{"id": "insu_H_x06da_twin", "input": "insu_H_x06da_twin/Ins_H_2_fa9841_master.h5", "wavelength": 0.95375, "ref": {"sgno": 146, "cell": [81.393, 81.393, 33.272, 90.0, 90.0, 120.0], "anomalous": true, "isa": 6.82, "completeness": 95.0, "r_meas": 0.118, "cc_half": 0.988, "multiplicity": 3.61, "dmin_low": 4.34, "r_meas_low": 0.106, "dmin": 1.455, "dmin_rule": "xds_range", "dmin_xds": 1.455, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "4e7t"},
{"id": "insu_H_x06da_notwin", "input": "insu_H_x06da_notwin/Ins_H_3_d05684_master.h5", "wavelength": 0.95375, "ref": {"sgno": 146, "cell": [81.378, 81.378, 33.269, 90.0, 90.0, 120.0], "anomalous": true, "isa": 17.69, "completeness": 97.4, "r_meas": 0.068, "cc_half": 0.998, "multiplicity": 3.52, "dmin_low": 4.61, "r_meas_low": 0.045, "dmin": 1.544, "dmin_rule": "xds_range", "dmin_xds": 1.544, "dmax": 50.0}, "tags": ["h5", "insulin"], "tiers": {"smoke": "rhombohedral insulin (H3)"}, "model": "4e7t"},
{"id": "insu_I_x06da_weak", "input": "insu_I_x06da_weak/Ins_16_776a92_master.h5", "wavelength": 0.95373, "ref": {"sgno": 197, "cell": [77.085, 77.085, 77.085, 90.0, 90.0, 90.0], "anomalous": false, "isa": 18.91, "completeness": 92.4, "r_meas": 0.401, "cc_half": 0.999, "multiplicity": 29.04, "dmin_low": 3.22, "r_meas_low": 0.054, "dmin": 1.807, "dmin_rule": "cc_half_0.30", "dmin_xds": 1.08, "dmax": 999.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_low_isa", "input": "insu_I_x06da_low_isa/Ins_I_2_1a530d_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.582, 77.582, 77.582, 90.0, 90.0, 90.0], "anomalous": true, "isa": 4.15, "completeness": 90.8, "r_meas": 0.22, "cc_half": 0.998, "multiplicity": 13.33, "dmin_low": 3.92, "r_meas_low": 0.167, "dmin": 1.3, "dmin_rule": "xds_range", "dmin_xds": 1.3, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_ref", "input": "insu_I_x06da_ref/Ins_I_3_5e90e3_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.52, 77.52, 77.52, 90.0, 90.0, 90.0], "anomalous": true, "isa": 25.08, "completeness": 100.0, "r_meas": 0.349, "cc_half": 0.998, "multiplicity": 13.82, "dmin_low": 4.82, "r_meas_low": 0.143, "dmin": 1.621, "dmin_rule": "xds_range", "dmin_xds": 1.621, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_13keV", "input": "insu_I_x06da_13keV/Ins_I_6_001_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.468, 77.468, 77.468, 90.0, 90.0, 90.0], "anomalous": true, "isa": 18.83, "completeness": 100.0, "r_meas": 0.279, "cc_half": 0.998, "multiplicity": 17.21, "dmin_low": 4.85, "r_meas_low": 0.093, "dmin": 1.635, "dmin_rule": "xds_range", "dmin_xds": 1.635, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_5keV", "input": "insu_I_x06da_5keV/Ins_I_6_006_master.h5", "wavelength": 2.47923, "ref": {"sgno": 197, "cell": [77.785, 77.785, 77.785, 90.0, 90.0, 90.0], "anomalous": true, "isa": 17.54, "completeness": 91.7, "r_meas": 0.073, "cc_half": 0.999, "multiplicity": 11.17, "dmin_low": 7.21, "r_meas_low": 0.048, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "model": "2bn3"},
{"id": "insu_I_x06da_6keV", "input": "insu_I_x06da_6keV/Ins_I_6_004_master.h5", "wavelength": 2.06648, "ref": {"sgno": 197, "cell": [77.71, 77.71, 77.71, 90.0, 90.0, 90.0], "anomalous": true, "isa": 17.95, "completeness": 92.4, "r_meas": 0.065, "cc_half": 0.999, "multiplicity": 12.42, "dmin_low": 6.03, "r_meas_low": 0.047, "dmin": 2.04, "dmin_rule": "xds_range", "dmin_xds": 2.04, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "model": "2bn3"},
{"id": "insu_I_x06da_5keV_2", "input": "insu_I_x06da_5keV_2/Ins_I_7_001_master.h5", "wavelength": 2.47923, "ref": {"sgno": 197, "cell": [77.694, 77.694, 77.694, 90.0, 90.0, 90.0], "anomalous": true, "isa": 20.01, "completeness": 91.8, "r_meas": 0.076, "cc_half": 0.999, "multiplicity": 12.73, "dmin_low": 7.21, "r_meas_low": 0.048, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "tiers": {"smoke": "cubic insulin at 5 keV (long wavelength), fast"}, "model": "2bn3"},
{"id": "cytc_x10sa", "input": "cytc_x10sa/cytC_10_002_master.h5", "wavelength": 0.99989, "ref": {"sgno": 152, "cell": [83.659, 83.659, 86.011, 90.0, 90.0, 120.0], "anomalous": true, "isa": 31.75, "completeness": 99.8, "r_meas": 0.232, "cc_half": 0.999, "multiplicity": 10.65, "dmin_low": 6.05, "r_meas_low": 0.036, "dmin": 2.267, "dmin_rule": "cc_half_0.30", "dmin_xds": 2.039, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif"},
{"id": "cytc_x06da_1", "input": "cytc_x06da_1/cytC_2_0770b5_master.h5", "wavelength": 0.95375, "ref": {"sgno": 152, "cell": [83.836, 83.836, 86.733, 90.0, 90.0, 120.0], "anomalous": true, "isa": 24.49, "completeness": 99.9, "r_meas": 0.084, "cc_half": 0.999, "multiplicity": 7.67, "dmin_low": 5.58, "r_meas_low": 0.033, "dmin": 1.875, "dmin_rule": "xds_range", "dmin_xds": 1.875, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif"},
{"id": "cytc_x06da_2", "input": "cytc_x06da_2/cytC_3_874285_master.h5", "wavelength": 0.95375, "ref": {"sgno": 152, "cell": [83.719, 83.719, 88.617, 90.0, 90.0, 120.0], "anomalous": true, "isa": 26.98, "completeness": 99.9, "r_meas": 0.097, "cc_half": 0.999, "multiplicity": 7.82, "dmin_low": 5.03, "r_meas_low": 0.032, "dmin": 1.69, "dmin_rule": "xds_range", "dmin_xds": 1.69, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif"},
{"id": "myob_x10sa", "input": "myob_x10sa/MyoB_13_110ee0_master.h5", "wavelength": 0.99988, "ref": {"sgno": 4, "cell": [35.229, 28.461, 63.076, 90.0, 106.504, 90.0], "anomalous": true, "isa": 5.21, "completeness": 97.7, "r_meas": 0.247, "cc_half": 0.965, "multiplicity": 3.29, "dmin_low": 5.16, "r_meas_low": 0.186, "dmin": 1.742, "dmin_rule": "xds_range", "dmin_xds": 1.742, "dmax": 50.0}, "tags": ["h5", "myoglobin"], "model": "4dc8"},
{"id": "myob_x06da", "input": "myob_x06da/MyoB_9_446b70_master.h5", "wavelength": 0.95365, "ref": {"sgno": 3, "cell": [35.182, 28.544, 62.83, 90.0, 106.138, 90.0], "anomalous": true, "isa": 7.59, "completeness": 99.4, "r_meas": 0.232, "cc_half": 0.987, "multiplicity": 3.47, "dmin_low": 4.23, "r_meas_low": 0.105, "dmin": 1.422, "dmin_rule": "xds_range", "dmin_xds": 1.422, "dmax": 50.0}, "tags": ["h5", "myoglobin"], "tiers": {"smoke": "monoclinic myoglobin, screw not arbitrable by XDS"}, "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_powder_1", "input": "myob_x06da_powder_1/MyoB2-1_75979a_master.h5", "wavelength": 0.95373, "ref": {"sgno": 1, "cell": [28.705, 34.796, 64.373, 74.314, 89.879, 90.057], "anomalous": false, "isa": 5.54, "completeness": 74.2, "r_meas": 0.493, "cc_half": 0.966, "multiplicity": 2.87, "dmin_low": 4.44, "r_meas_low": 0.125, "dmin": 1.495, "dmin_rule": "xds_range", "dmin_xds": 1.495, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "tiers": {"smoke": "known hard: triclinic twin"}, "ref_override": {"sg": "P 1 21 1", "sgno": 4, "cell": [35.14, 28.88, 64.64, 90.0, 105.9, 90.0]}, "ref_override_why": "myoglobin, P 1 21 1. XDS indexed this sweep (a powder-contaminated crystal) in P 1 on a reduced cell (28.7 34.8 64.4 74.3 89.9 90.1); the monoclinic cell is that cell's conventional setting", "model": "4dc8"},
{"id": "myob_x06da_powder_2", "input": "myob_x06da_powder_2/MyoB2-2_5ddd7d_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.576, 28.811, 63.529, 90.0, 105.593, 90.0], "anomalous": false, "isa": 2.19, "completeness": 58.0, "r_meas": 1.106, "cc_half": 0.655, "multiplicity": 4.71, "dmin_low": 2.98, "r_meas_low": 0.706, "dmin": 0.99, "dmin_rule": "xds_range", "dmin_xds": 0.99, "dmax": 999.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_split", "input": "myob_x06da_split/MyoB2-4_079740_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.39, 28.783, 63.626, 90.0, 105.544, 90.0], "anomalous": false, "isa": 12.41, "completeness": 77.7, "r_meas": 0.577, "cc_half": 0.984, "multiplicity": 4.38, "dmin_low": 4.48, "r_meas_low": 0.091, "dmin": 1.506, "dmin_rule": "xds_range", "dmin_xds": 1.506, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_sparse", "input": "myob_x06da_sparse/MyoB2-5_7cef9c_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.388, 28.752, 64.083, 90.0, 106.352, 90.0], "anomalous": false, "isa": 5.46, "completeness": 73.7, "r_meas": 0.326, "cc_half": 0.972, "multiplicity": 5.21, "dmin_low": 5.92, "r_meas_low": 0.146, "dmin": 2.0, "dmin_rule": "xds_range", "dmin_xds": 2.0, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "lyso_x10sa_90deg_1", "input": "lyso_x10sa_90deg_1/lyso_2_006_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [76.879, 76.879, 36.961, 90.0, 90.0, 90.0], "anomalous": true, "isa": 20.75, "completeness": 99.3, "r_meas": 0.182, "cc_half": 0.995, "multiplicity": 3.51, "dmin_low": 5.83, "r_meas_low": 0.049, "cc_half_high": 0.289, "dmin": 1.966, "dmin_rule": "xds_range", "dmin_xds": 1.966, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x10sa_90deg_2", "input": "lyso_x10sa_90deg_2/lyso_2_007_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [76.904, 76.904, 36.976, 90.0, 90.0, 90.0], "anomalous": true, "isa": 18.14, "completeness": 99.3, "r_meas": 0.18, "cc_half": 0.994, "multiplicity": 3.51, "dmin_low": 5.86, "r_meas_low": 0.051, "cc_half_high": 0.248, "dmin": 1.973, "dmin_rule": "xds_range", "dmin_xds": 1.973, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_atten_wedge", "input": "lyso_x06da_atten_wedge/lyso_2_002_master.h5", "wavelength": 0.95381, "ref": {"sgno": 92, "cell": [78.235, 78.235, 37.798, 90.0, 90.0, 90.0], "anomalous": true, "isa": 16.56, "completeness": 99.9, "r_meas": 0.239, "cc_half": 0.998, "multiplicity": 10.97, "dmin_low": 3.76, "r_meas_low": 0.069, "cc_half_high": 0.331, "dmin": 1.264, "dmin_rule": "xds_range", "dmin_xds": 1.264, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_5keV", "input": "lyso_x06da_5keV/lyso_6_001_master.h5", "wavelength": 2.47924, "ref": {"sgno": 92, "cell": [78.225, 78.225, 37.897, 90.0, 90.0, 90.0], "anomalous": true, "isa": 19.36, "completeness": 86.4, "r_meas": 0.064, "cc_half": 0.998, "multiplicity": 8.85, "dmin_low": 7.22, "r_meas_low": 0.047, "cc_half_high": 0.954, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "lysozyme", "long-wavelength"], "model": "4axt", "tiers": {"ci": "long wavelength (2.5 A), sulfur anomalous"}},
{"id": "lyso_x06da_ice", "input": "lyso_x06da_ice/lysoC_14_56b5b9_master.h5", "wavelength": 0.95364, "ref": {"sgno": 89, "cell": [78.387, 78.387, 37.427, 90.0, 90.0, 90.0], "anomalous": true, "isa": 23.33, "completeness": 100.0, "r_meas": 0.219, "cc_half": 0.998, "multiplicity": 11.86, "dmin_low": 4.26, "r_meas_low": 0.055, "cc_half_high": 0.189, "dmin": 1.431, "dmin_rule": "xds_range", "dmin_xds": 1.431, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_ref", "input": "lyso_x06da_ref/hewl_35_001_master.h5", "wavelength": 0.95329, "ref": {"sgno": 89, "cell": [78.091, 78.091, 37.704, 90.0, 90.0, 90.0], "anomalous": true, "isa": 28.31, "completeness": 100.0, "r_meas": 0.045, "cc_half": 1.0, "multiplicity": 13.76, "dmin_low": 3.58, "r_meas_low": 0.029, "cc_half_high": 0.988, "dmin": 1.2, "dmin_rule": "xds_range", "dmin_xds": 1.2, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "tiers": {"smoke": "lysozyme reference set", "ci": "lysozyme reference, 1.0 A"}, "model": "4axt"},
{"id": "lyso_x10sa_strong", "input": "lyso_x10sa_strong/lyso_5_f6ac7e_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [77.769, 77.769, 37.442, 90.0, 90.0, 90.0], "anomalous": false, "isa": 8.63, "completeness": 65.8, "r_meas": 0.112, "cc_half": 0.998, "multiplicity": 11.46, "dmin_low": 3.52, "r_meas_low": 0.077, "cc_half_high": 0.053, "dmin": 1.24, "dmin_rule": "cc_half_0.30", "dmin_xds": 1.18, "dmax": 999.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "lyso_x06da_half_image", "input": "lyso_x06da_half_image/lyso3_7_b81d83_master.h5", "wavelength": 0.95373, "ref": {"sgno": 96, "cell": [77.74, 77.74, 37.386, 90.0, 90.0, 90.0], "anomalous": true, "isa": 6.61, "completeness": 99.6, "r_meas": 0.595, "cc_half": 0.958, "multiplicity": 5.31, "dmin_low": 4.91, "r_meas_low": 0.258, "cc_half_high": 0.128, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "tags": ["h5", "lysozyme"], "model": "4axt"},
{"id": "thau_x10sa_16keV", "input": "thau_x10sa_16keV/lyso_4_d2bb9b_master.h5", "wavelength": 0.77491, "ref": {"sgno": 92, "cell": [57.958, 57.958, 150.547, 90.0, 90.0, 90.0], "anomalous": false, "isa": 44.51, "completeness": 94.3, "r_meas": 0.072, "cc_half": 1.0, "multiplicity": 18.36, "dmin_low": 3.89, "r_meas_low": 0.027, "cc_half_high": 0.549, "dmin": 1.3, "dmin_rule": "xds_range", "dmin_xds": 1.3, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47"},
{"id": "thau_x10sa_0p1deg", "input": "thau_x10sa_0p1deg/Thau_9_002_master.h5", "wavelength": 0.99989, "ref": {"sgno": 92, "cell": [58.488, 58.488, 150.788, 90.0, 90.0, 90.0], "anomalous": true, "isa": 9.15, "completeness": 99.0, "r_meas": 0.23, "cc_half": 0.997, "multiplicity": 11.37, "dmin_low": 6.51, "r_meas_low": 0.104, "cc_half_high": 0.403, "dmin": 2.197, "dmin_rule": "xds_range", "dmin_xds": 2.197, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47"},
{"id": "thau_bl1a_6p5keV", "input": "thau_bl1a_6p5keV/JTH14_1p9_50ds_90T_k0_JF4M_01_50001_master.h5", "wavelength": 1.9, "ref": {"sgno": 89, "cell": [58.031, 58.031, 150.577, 90.0, 90.0, 90.0], "anomalous": true, "isa": 34.46, "completeness": 91.8, "r_meas": 0.072, "cc_half": 0.999, "multiplicity": 7.95, "dmin_low": 5.33, "r_meas_low": 0.041, "cc_half_high": 0.85, "dmin": 1.78, "dmin_rule": "xds_range", "dmin_xds": 1.78, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "model": "5a47"},
{"id": "thau_bl1a_4p6keV", "input": "thau_bl1a_4p6keV/JTH14_2p7_50ds_19T_k0_JF4M_01_50001_master.h5", "wavelength": 2.7, "ref": {"sgno": 89, "cell": [58.007, 58.007, 150.511, 90.0, 90.0, 90.0], "anomalous": true, "isa": 35.64, "completeness": 92.0, "r_meas": 0.062, "cc_half": 0.998, "multiplicity": 7.94, "dmin_low": 7.56, "r_meas_low": 0.039, "cc_half_high": 0.974, "dmin": 2.53, "dmin_rule": "xds_range", "dmin_xds": 2.53, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "model": "5a47"},
{"id": "thau_bl1a_3p8keV", "input": "thau_bl1a_3p8keV/JTH14_3p3_50ds_12T_k0_JF4M_01_50001_master.h5", "wavelength": 3.3, "ref": {"sgno": 89, "cell": [57.895, 57.895, 150.213, 90.0, 90.0, 90.0], "anomalous": true, "isa": 30.8, "completeness": 92.2, "r_meas": 0.057, "cc_half": 0.997, "multiplicity": 7.92, "dmin_low": 9.23, "r_meas_low": 0.039, "cc_half_high": 0.993, "dmin": 3.1, "dmin_rule": "xds_range", "dmin_xds": 3.1, "dmax": 100.0}, "tags": ["h5", "thaumatin", "long-wavelength"], "tiers": {"smoke": "long wavelength (3.3 A), KEK BL-1A thaumatin"}, "model": "5a47"},
{"id": "thau_x10sa_injection", "input": "thau_x10sa_injection/lyso_13_0c7e7a_master.h5", "wavelength": 0.99988, "ref": {"sgno": 92, "cell": [57.922, 57.922, 150.678, 90.0, 90.0, 90.0], "anomalous": true, "isa": 36.23, "completeness": 86.2, "r_meas": 0.037, "cc_half": 1.0, "multiplicity": 9.96, "dmin_low": 3.83, "r_meas_low": 0.022, "cc_half_high": 0.883, "dmin": 1.28, "dmin_rule": "xds_range", "dmin_xds": 1.28, "dmax": 50.0}, "tags": ["h5", "thaumatin"], "model": "5a47", "tiers": {"ci": "thaumatin, tetragonal P41212"}},
{"id": "thau_micromax_pink", "input": "thau_micromax_pink/Thau-Thaumatin_2_master.h5", "wavelength": 0.98419, "ref": {"sgno": 92, "cell": [58.784, 58.784, 152.226, 90.0, 90.0, 90.0], "anomalous": true, "isa": 21.18, "completeness": 98.5, "r_meas": 0.08, "cc_half": 0.999, "multiplicity": 9.38, "dmin_low": 4.17, "r_meas_low": 0.04, "cc_half_high": 0.522, "dmin": 1.4, "dmin_rule": "xds_range", "dmin_xds": 1.4, "dmax": 50.0}, "tags": ["h5", "thaumatin", "pink-beam"], "tiers": {"smoke": "pink beam", "ci": "pink beam"}, "model": "5a47"},
{"id": "lyso_micromax_mono", "input": "lyso_micromax_mono/lysozyme-s6_1_master.h5", "wavelength": 0.95447, "tags": ["h5", "lysozyme"], "ref": {"sgno": 96, "cell": [77.668, 77.668, 37.486, 90.0, 90.0, 90.0], "anomalous": true, "isa": 39.93, "completeness": 100.0, "r_meas": 0.047, "cc_half": 1.0, "multiplicity": 6.22, "dmin_low": 4.54, "r_meas_low": 0.023, "cc_half_high": 0.434, "dmin": 1.5, "dmin_rule": "xds_range", "dmin_xds": 1.5, "dmax": 50.0}, "model": "4axt"},
{"id": "lyso_micromax_pink", "input": "lyso_micromax_pink/lysozyme-s6_1_master.h5", "wavelength": 0.95374, "tags": ["h5", "lysozyme", "pink-beam"], "ref": {"sgno": 96, "cell": [77.654, 77.654, 37.483, 90.0, 90.0, 90.0], "anomalous": true, "isa": 37.35, "completeness": 99.9, "r_meas": 0.051, "cc_half": 1.0, "multiplicity": 5.96, "dmin_low": 4.39, "r_meas_low": 0.022, "cc_half_high": 0.418, "dmin": 1.45, "dmin_rule": "xds_range", "dmin_xds": 1.45, "dmax": 50.0}, "model": "4axt"},
{"id": "lysoI_micromax_mono", "input": "lysoI_micromax_mono/lysozyme-Is2_1_master.h5", "wavelength": 0.95447, "tags": ["h5", "lysozyme", "iodine"], "ref": {"sgno": 96, "cell": [78.335, 78.335, 37.46, 90.0, 90.0, 90.0], "anomalous": true, "isa": 31.42, "completeness": 100.0, "r_meas": 0.068, "cc_half": 0.999, "multiplicity": 6.78, "dmin_low": 4.99, "r_meas_low": 0.028, "cc_half_high": 0.498, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "model": "4axt"},
{"id": "lysoI_micromax_pink", "input": "lysoI_micromax_pink/lysozyme-Is2_1_master.h5", "wavelength": 0.95374, "tags": ["h5", "lysozyme", "iodine", "pink-beam"], "ref": {"sgno": 96, "cell": [78.302, 78.302, 37.448, 90.0, 90.0, 90.0], "anomalous": true, "isa": 29.19, "completeness": 100.0, "r_meas": 0.079, "cc_half": 0.999, "multiplicity": 6.8, "dmin_low": 4.99, "r_meas_low": 0.028, "cc_half_high": 0.465, "dmin": 1.65, "dmin_rule": "xds_range", "dmin_xds": 1.65, "dmax": 50.0}, "model": "4axt"},
{"id": "insu_H_x06da_twin", "input": "insu_H_x06da_twin/Ins_H_2_fa9841_master.h5", "wavelength": 0.95375, "ref": {"sgno": 146, "cell": [81.393, 81.393, 33.272, 90.0, 90.0, 120.0], "anomalous": true, "isa": 6.82, "completeness": 95.0, "r_meas": 0.118, "cc_half": 0.988, "multiplicity": 3.61, "dmin_low": 4.34, "r_meas_low": 0.106, "cc_half_high": 0.235, "dmin": 1.455, "dmin_rule": "xds_range", "dmin_xds": 1.455, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "4e7t"},
{"id": "insu_H_x06da_notwin", "input": "insu_H_x06da_notwin/Ins_H_3_d05684_master.h5", "wavelength": 0.95375, "ref": {"sgno": 146, "cell": [81.378, 81.378, 33.269, 90.0, 90.0, 120.0], "anomalous": true, "isa": 17.69, "completeness": 97.4, "r_meas": 0.068, "cc_half": 0.998, "multiplicity": 3.52, "dmin_low": 4.61, "r_meas_low": 0.045, "cc_half_high": 0.225, "dmin": 1.544, "dmin_rule": "xds_range", "dmin_xds": 1.544, "dmax": 50.0}, "tags": ["h5", "insulin"], "tiers": {"smoke": "rhombohedral insulin (H3)"}, "model": "4e7t"},
{"id": "insu_I_x06da_weak", "input": "insu_I_x06da_weak/Ins_16_776a92_master.h5", "wavelength": 0.95373, "ref": {"sgno": 197, "cell": [77.085, 77.085, 77.085, 90.0, 90.0, 90.0], "anomalous": false, "isa": 18.91, "completeness": 92.4, "r_meas": 0.401, "cc_half": 0.999, "multiplicity": 29.04, "dmin_low": 3.22, "r_meas_low": 0.054, "cc_half_high": 0.041, "dmin": 1.807, "dmin_rule": "cc_half_0.30", "dmin_xds": 1.08, "dmax": 999.0}, "tags": ["h5", "insulin"], "model": "2bn3", "tiers": {"ci": "body-centred cubic, weak"}},
{"id": "insu_I_x06da_low_isa", "input": "insu_I_x06da_low_isa/Ins_I_2_1a530d_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.582, 77.582, 77.582, 90.0, 90.0, 90.0], "anomalous": true, "isa": 4.15, "completeness": 90.8, "r_meas": 0.22, "cc_half": 0.998, "multiplicity": 13.33, "dmin_low": 3.92, "r_meas_low": 0.167, "cc_half_high": 0.184, "dmin": 1.3, "dmin_rule": "xds_range", "dmin_xds": 1.3, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_ref", "input": "insu_I_x06da_ref/Ins_I_3_5e90e3_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.52, 77.52, 77.52, 90.0, 90.0, 90.0], "anomalous": true, "isa": 25.08, "completeness": 100.0, "r_meas": 0.349, "cc_half": 0.998, "multiplicity": 13.82, "dmin_low": 4.82, "r_meas_low": 0.143, "cc_half_high": 0.419, "dmin": 1.621, "dmin_rule": "xds_range", "dmin_xds": 1.621, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_13keV", "input": "insu_I_x06da_13keV/Ins_I_6_001_master.h5", "wavelength": 0.95375, "ref": {"sgno": 197, "cell": [77.468, 77.468, 77.468, 90.0, 90.0, 90.0], "anomalous": true, "isa": 18.83, "completeness": 100.0, "r_meas": 0.279, "cc_half": 0.998, "multiplicity": 17.21, "dmin_low": 4.85, "r_meas_low": 0.093, "cc_half_high": 0.248, "dmin": 1.635, "dmin_rule": "xds_range", "dmin_xds": 1.635, "dmax": 50.0}, "tags": ["h5", "insulin"], "model": "2bn3"},
{"id": "insu_I_x06da_5keV", "input": "insu_I_x06da_5keV/Ins_I_6_006_master.h5", "wavelength": 2.47923, "ref": {"sgno": 197, "cell": [77.785, 77.785, 77.785, 90.0, 90.0, 90.0], "anomalous": true, "isa": 17.54, "completeness": 91.7, "r_meas": 0.073, "cc_half": 0.999, "multiplicity": 11.17, "dmin_low": 7.21, "r_meas_low": 0.048, "cc_half_high": 0.855, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "model": "2bn3"},
{"id": "insu_I_x06da_6keV", "input": "insu_I_x06da_6keV/Ins_I_6_004_master.h5", "wavelength": 2.06648, "ref": {"sgno": 197, "cell": [77.71, 77.71, 77.71, 90.0, 90.0, 90.0], "anomalous": true, "isa": 17.95, "completeness": 92.4, "r_meas": 0.065, "cc_half": 0.999, "multiplicity": 12.42, "dmin_low": 6.03, "r_meas_low": 0.047, "cc_half_high": 0.905, "dmin": 2.04, "dmin_rule": "xds_range", "dmin_xds": 2.04, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "model": "2bn3"},
{"id": "insu_I_x06da_5keV_2", "input": "insu_I_x06da_5keV_2/Ins_I_7_001_master.h5", "wavelength": 2.47923, "ref": {"sgno": 197, "cell": [77.694, 77.694, 77.694, 90.0, 90.0, 90.0], "anomalous": true, "isa": 20.01, "completeness": 91.8, "r_meas": 0.076, "cc_half": 0.999, "multiplicity": 12.73, "dmin_low": 7.21, "r_meas_low": 0.048, "cc_half_high": 0.888, "dmin": 2.45, "dmin_rule": "xds_range", "dmin_xds": 2.45, "dmax": 50.0}, "tags": ["h5", "insulin", "long-wavelength"], "tiers": {"smoke": "cubic insulin at 5 keV (long wavelength), fast"}, "model": "2bn3"},
{"id": "cytc_x10sa", "input": "cytc_x10sa/cytC_10_002_master.h5", "wavelength": 0.99989, "ref": {"sgno": 152, "cell": [83.659, 83.659, 86.011, 90.0, 90.0, 120.0], "anomalous": true, "isa": 31.75, "completeness": 99.8, "r_meas": 0.232, "cc_half": 0.999, "multiplicity": 10.65, "dmin_low": 6.05, "r_meas_low": 0.036, "cc_half_high": 0.046, "dmin": 2.267, "dmin_rule": "cc_half_0.30", "dmin_xds": 2.039, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif", "tiers": {"ci": "trigonal P3121 with tNCS; the hand comes from the reference model"}},
{"id": "cytc_x06da_1", "input": "cytc_x06da_1/cytC_2_0770b5_master.h5", "wavelength": 0.95375, "ref": {"sgno": 152, "cell": [83.836, 83.836, 86.733, 90.0, 90.0, 120.0], "anomalous": true, "isa": 24.49, "completeness": 99.9, "r_meas": 0.084, "cc_half": 0.999, "multiplicity": 7.67, "dmin_low": 5.58, "r_meas_low": 0.033, "cc_half_high": 0.366, "dmin": 1.875, "dmin_rule": "xds_range", "dmin_xds": 1.875, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif"},
{"id": "cytc_x06da_2", "input": "cytc_x06da_2/cytC_3_874285_master.h5", "wavelength": 0.95375, "ref": {"sgno": 152, "cell": [83.719, 83.719, 88.617, 90.0, 90.0, 120.0], "anomalous": true, "isa": 26.98, "completeness": 99.9, "r_meas": 0.097, "cc_half": 0.999, "multiplicity": 7.82, "dmin_low": 5.03, "r_meas_low": 0.032, "cc_half_high": 0.236, "dmin": 1.69, "dmin_rule": "xds_range", "dmin_xds": 1.69, "dmax": 50.0}, "tags": ["h5", "cytochrome-c"], "model": "reference_model.cif"},
{"id": "myob_x10sa", "input": "myob_x10sa/MyoB_13_110ee0_master.h5", "wavelength": 0.99988, "ref": {"sgno": 4, "cell": [35.229, 28.461, 63.076, 90.0, 106.504, 90.0], "anomalous": true, "isa": 5.21, "completeness": 97.7, "r_meas": 0.247, "cc_half": 0.965, "multiplicity": 3.29, "dmin_low": 5.16, "r_meas_low": 0.186, "cc_half_high": 0.359, "dmin": 1.742, "dmin_rule": "xds_range", "dmin_xds": 1.742, "dmax": 50.0}, "tags": ["h5", "myoglobin"], "model": "4dc8", "tiers": {"ci": "monoclinic P21, Eiger"}},
{"id": "myob_x06da", "input": "myob_x06da/MyoB_9_446b70_master.h5", "wavelength": 0.95365, "ref": {"sgno": 3, "cell": [35.182, 28.544, 62.83, 90.0, 106.138, 90.0], "anomalous": true, "isa": 7.59, "completeness": 99.4, "r_meas": 0.232, "cc_half": 0.987, "multiplicity": 3.47, "dmin_low": 4.23, "r_meas_low": 0.105, "cc_half_high": 0.267, "dmin": 1.422, "dmin_rule": "xds_range", "dmin_xds": 1.422, "dmax": 50.0}, "tags": ["h5", "myoglobin"], "tiers": {"smoke": "monoclinic myoglobin, screw not arbitrable by XDS"}, "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_powder_1", "input": "myob_x06da_powder_1/MyoB2-1_75979a_master.h5", "wavelength": 0.95373, "ref": {"sgno": 1, "cell": [28.705, 34.796, 64.373, 74.314, 89.879, 90.057], "anomalous": false, "isa": 5.54, "completeness": 74.2, "r_meas": 0.493, "cc_half": 0.966, "multiplicity": 2.87, "dmin_low": 4.44, "r_meas_low": 0.125, "cc_half_high": 0.953, "dmin": 1.495, "dmin_rule": "xds_range", "dmin_xds": 1.495, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "tiers": {"smoke": "known hard: triclinic twin"}, "ref_override": {"sg": "P 1 21 1", "sgno": 4, "cell": [35.14, 28.88, 64.64, 90.0, 105.9, 90.0]}, "ref_override_why": "myoglobin, P 1 21 1. XDS indexed this sweep (a powder-contaminated crystal) in P 1 on a reduced cell (28.7 34.8 64.4 74.3 89.9 90.1); the monoclinic cell is that cell's conventional setting", "model": "4dc8"},
{"id": "myob_x06da_powder_2", "input": "myob_x06da_powder_2/MyoB2-2_5ddd7d_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.576, 28.811, 63.529, 90.0, 105.593, 90.0], "anomalous": false, "isa": 2.19, "completeness": 58.0, "r_meas": 1.106, "cc_half": 0.655, "multiplicity": 4.71, "dmin_low": 2.98, "r_meas_low": 0.706, "cc_half_high": 0.788, "dmin": 0.99, "dmin_rule": "xds_range", "dmin_xds": 0.99, "dmax": 999.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_split", "input": "myob_x06da_split/MyoB2-4_079740_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.39, 28.783, 63.626, 90.0, 105.544, 90.0], "anomalous": false, "isa": 12.41, "completeness": 77.7, "r_meas": 0.577, "cc_half": 0.984, "multiplicity": 4.38, "dmin_low": 4.48, "r_meas_low": 0.091, "cc_half_high": 0.994, "dmin": 1.506, "dmin_rule": "xds_range", "dmin_xds": 1.506, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "myob_x06da_sparse", "input": "myob_x06da_sparse/MyoB2-5_7cef9c_master.h5", "wavelength": 0.95373, "ref": {"sgno": 3, "cell": [35.388, 28.752, 64.083, 90.0, 106.352, 90.0], "anomalous": false, "isa": 5.46, "completeness": 73.7, "r_meas": 0.326, "cc_half": 0.972, "multiplicity": 5.21, "dmin_low": 5.92, "r_meas_low": 0.146, "cc_half_high": 0.254, "dmin": 2.0, "dmin_rule": "xds_range", "dmin_xds": 2.0, "dmax": 50.0}, "tags": ["h5", "myoglobin", "twin"], "ref_override": {"sg": "P 1 21 1", "sgno": 4}, "ref_override_why": "myoglobin, P 1 21 1. XDS does not judge screw axes (it reports P 2)", "model": "4dc8"},
{"id": "nothing_2", "input": "nothing_2/test-28_3400ac_master.h5", "wavelength": 0.99988, "expect": "no_lattice", "tags": ["h5", "control"]},
{"id": "nothing_1", "input": "nothing_1/test-28_9bf604_master.h5", "wavelength": 0.99988, "expect": "no_lattice", "tags": ["h5", "control"]},
{"id": "aspirin_x10sa_20keV", "input": "aspirin_x10sa_20keV/aspirin_1_002_master.h5", "wavelength": 0.61993, "cod": "7050897", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.262, 6.543, 11.257, 90.0, 95.916, 90.0], "anomalous": true, "isa": 27.4, "completeness": 84.0, "r_meas": 0.033, "cc_half": 0.999, "multiplicity": 3.14, "dmin_low": 2.01, "r_meas_low": 0.033, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "aspirin form I, P 21/c; COD 7050897 - C. C. Wilson, New J. Chem. 26 (2002) 1733-1739, doi:10.1039/b203775k. XDS reports only Sohncke groups (P 21)"},
{"id": "aspirin_x10sa_25keV", "input": "aspirin_x10sa_25keV/aspirin_1_001_master.h5", "wavelength": 0.49594, "cod": "7050897", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.255, 6.541, 11.259, 90.0, 95.916, 90.0], "anomalous": true, "isa": 29.25, "completeness": 86.6, "r_meas": 0.034, "cc_half": 0.999, "multiplicity": 3.15, "dmin_low": 1.63, "r_meas_low": 0.032, "dmin": 0.55, "dmin_rule": "xds_range", "dmin_xds": 0.55, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "aspirin form I, P 21/c; COD 7050897 - C. C. Wilson, New J. Chem. 26 (2002) 1733-1739, doi:10.1039/b203775k. XDS reports only Sohncke groups (P 21)"},
{"id": "citricacid_x10sa_20keV", "input": "citricacid_x10sa_20keV/citricacid_1_005_master.h5", "wavelength": 0.61993, "cod": "5000063", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.454, 5.579, 12.67, 90.0, 111.587, 90.0], "anomalous": true, "isa": 20.44, "completeness": 82.0, "r_meas": 0.041, "cc_half": 0.997, "multiplicity": 3.1, "dmin_low": 2.02, "r_meas_low": 0.05, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "anhydrous citric acid, P 21/a (P 21/c in the standard setting); COD 5000063 - J. P. Glusker, J. A. Minkin, A. L. Patterson, Acta Cryst. B25 (1969) 1066-1072, doi:10.1107/S0567740869003542. XDS reports only Sohncke groups (P 21)"},
{"id": "hepes_x10sa_20keV", "input": "hepes_x10sa_20keV/hepes_1_004_master.h5", "wavelength": 0.61993, "cod": "2224210", "tags": ["h5", "orthorhombic", "small-molecule"], "ref": {"sgno": 19, "cell": [8.348, 9.575, 27.068, 90.0, 90.0, 90.0], "anomalous": true, "isa": 28.49, "completeness": 91.8, "r_meas": 0.031, "cc_half": 0.999, "multiplicity": 5.66, "dmin_low": 2.0, "r_meas_low": 0.037, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P b c a", "sgno": 61}, "ref_override_why": "HEPES, P b c a; COD 2224210 (100 K, 8.341 9.567 27.066) - P. Sledz, T. Minor, M. Chruszcz, Acta Cryst. E65 (2009) o3027-o3028, doi:10.1107/S1600536809042512. XDS reports only Sohncke groups (P 21 21 21)"},
{"id": "yag_x10sa_20keV", "input": "yag_x10sa_20keV/yag_2_004_master.h5", "wavelength": 0.61993, "cod": "2003066", "tags": ["h5", "cubic", "small-molecule"], "ref": {"sgno": 211, "cell": [11.997, 11.997, 11.997, 90.0, 90.0, 90.0], "anomalous": true, "isa": 3.18, "completeness": 99.0, "r_meas": 0.432, "cc_half": 0.947, "multiplicity": 28.44, "dmin_low": 1.99, "r_meas_low": 0.436, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "I a -3 d", "sgno": 230}, "ref_override_why": "Y3Al5O12 garnet, I a -3 d; COD 2003066 - A. Nakatsuka, A. Yoshiasa, T. Yamanaka, Acta Cryst. B55 (1999) 266-272, doi:10.1107/S0108768198012567. XDS reports only Sohncke groups (I 4 3 2)"},
{"id": "kdp_x10sa_20keV", "input": "kdp_x10sa_20keV/kdp_1_003_master.h5", "wavelength": 0.61993, "cod": "9009999", "tags": ["h5", "tetragonal", "small-molecule"], "ref": {"sgno": 98, "cell": [7.425, 7.425, 6.924, 90.0, 90.0, 90.0], "anomalous": true, "isa": 4.1, "completeness": 99.2, "r_meas": 0.241, "cc_half": 0.969, "multiplicity": 6.14, "dmin_low": 2.06, "r_meas_low": 0.172, "dmin": 0.74, "dmin_rule": "xds_range", "dmin_xds": 0.74, "dmax": 50.0}, "ref_override": {"sg": "I -4 2 d", "sgno": 122}, "ref_override_why": "KH2PO4 (KDP), tetragonal paraelectric phase, I -4 2 d; COD 9009999 - R. J. Nelmes, G. M. Meyer, J. E. Tibballs, J. Phys. C 15 (1982) 59-75, doi:10.1088/0022-3719/15/1/005. XDS reports only Sohncke groups (I 41 2 2)"},
{"id": "aspirin_x10sa_20keV", "input": "aspirin_x10sa_20keV/aspirin_1_002_master.h5", "wavelength": 0.61993, "cod": "7050897", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.262, 6.543, 11.257, 90.0, 95.916, 90.0], "anomalous": true, "isa": 27.4, "completeness": 84.0, "r_meas": 0.033, "cc_half": 0.999, "multiplicity": 3.14, "dmin_low": 2.01, "r_meas_low": 0.033, "cc_half_high": 0.997, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "aspirin form I, P 21/c; COD 7050897 - C. C. Wilson, New J. Chem. 26 (2002) 1733-1739, doi:10.1039/b203775k. XDS reports only Sohncke groups (P 21)", "tiers": {"ci": "small molecule, centrosymmetric P21/c"}},
{"id": "aspirin_x10sa_25keV", "input": "aspirin_x10sa_25keV/aspirin_1_001_master.h5", "wavelength": 0.49594, "cod": "7050897", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.255, 6.541, 11.259, 90.0, 95.916, 90.0], "anomalous": true, "isa": 29.25, "completeness": 86.6, "r_meas": 0.034, "cc_half": 0.999, "multiplicity": 3.15, "dmin_low": 1.63, "r_meas_low": 0.032, "cc_half_high": 0.994, "dmin": 0.55, "dmin_rule": "xds_range", "dmin_xds": 0.55, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "aspirin form I, P 21/c; COD 7050897 - C. C. Wilson, New J. Chem. 26 (2002) 1733-1739, doi:10.1039/b203775k. XDS reports only Sohncke groups (P 21)"},
{"id": "citricacid_x10sa_20keV", "input": "citricacid_x10sa_20keV/citricacid_1_005_master.h5", "wavelength": 0.61993, "cod": "5000063", "tags": ["h5", "monoclinic", "small-molecule"], "ref": {"sgno": 4, "cell": [11.454, 5.579, 12.67, 90.0, 111.587, 90.0], "anomalous": true, "isa": 20.44, "completeness": 82.0, "r_meas": 0.041, "cc_half": 0.997, "multiplicity": 3.1, "dmin_low": 2.02, "r_meas_low": 0.05, "cc_half_high": 0.997, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P 1 21/c 1", "sgno": 14}, "ref_override_why": "anhydrous citric acid, P 21/a (P 21/c in the standard setting); COD 5000063 - J. P. Glusker, J. A. Minkin, A. L. Patterson, Acta Cryst. B25 (1969) 1066-1072, doi:10.1107/S0567740869003542. XDS reports only Sohncke groups (P 21)"},
{"id": "hepes_x10sa_20keV", "input": "hepes_x10sa_20keV/hepes_1_004_master.h5", "wavelength": 0.61993, "cod": "2224210", "tags": ["h5", "orthorhombic", "small-molecule"], "ref": {"sgno": 19, "cell": [8.348, 9.575, 27.068, 90.0, 90.0, 90.0], "anomalous": true, "isa": 28.49, "completeness": 91.8, "r_meas": 0.031, "cc_half": 0.999, "multiplicity": 5.66, "dmin_low": 2.0, "r_meas_low": 0.037, "cc_half_high": 0.998, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "P b c a", "sgno": 61}, "ref_override_why": "HEPES, P b c a; COD 2224210 (100 K, 8.341 9.567 27.066) - P. Sledz, T. Minor, M. Chruszcz, Acta Cryst. E65 (2009) o3027-o3028, doi:10.1107/S1600536809042512. XDS reports only Sohncke groups (P 21 21 21)"},
{"id": "yag_x10sa_20keV", "input": "yag_x10sa_20keV/yag_2_004_master.h5", "wavelength": 0.61993, "cod": "2003066", "tags": ["h5", "cubic", "small-molecule"], "ref": {"sgno": 211, "cell": [11.997, 11.997, 11.997, 90.0, 90.0, 90.0], "anomalous": true, "isa": 3.18, "completeness": 99.0, "r_meas": 0.432, "cc_half": 0.947, "multiplicity": 28.44, "dmin_low": 1.99, "r_meas_low": 0.436, "cc_half_high": 0.885, "dmin": 0.68, "dmin_rule": "xds_range", "dmin_xds": 0.68, "dmax": 50.0}, "ref_override": {"sg": "I a -3 d", "sgno": 230}, "ref_override_why": "Y3Al5O12 garnet, I a -3 d; COD 2003066 - A. Nakatsuka, A. Yoshiasa, T. Yamanaka, Acta Cryst. B55 (1999) 266-272, doi:10.1107/S0108768198012567. XDS reports only Sohncke groups (I 4 3 2)", "tiers": {"ci": "small molecule, cubic Ia-3d, 0.66 A"}},
{"id": "kdp_x10sa_20keV", "input": "kdp_x10sa_20keV/kdp_1_003_master.h5", "wavelength": 0.61993, "cod": "9009999", "tags": ["h5", "tetragonal", "small-molecule"], "ref": {"sgno": 98, "cell": [7.425, 7.425, 6.924, 90.0, 90.0, 90.0], "anomalous": true, "isa": 4.1, "completeness": 99.2, "r_meas": 0.241, "cc_half": 0.969, "multiplicity": 6.14, "dmin_low": 2.06, "r_meas_low": 0.172, "cc_half_high": 0.911, "dmin": 0.74, "dmin_rule": "xds_range", "dmin_xds": 0.74, "dmax": 50.0}, "ref_override": {"sg": "I -4 2 d", "sgno": 122}, "ref_override_why": "KH2PO4 (KDP), tetragonal paraelectric phase, I -4 2 d; COD 9009999 - R. J. Nelmes, G. M. Meyer, J. E. Tibballs, J. Phys. C 15 (1982) 59-75, doi:10.1088/0022-3719/15/1/005. XDS reports only Sohncke groups (I 41 2 2)"},
{"id": "lcystine_x10sa_20keV", "input": "lcystine_x10sa_20keV/lcystine_2_004_master.h5", "wavelength": 0.61993, "cod": "1513328", "tags": ["h5", "hexagonal", "small-molecule"], "ref_override": {"sg": "P 61 2 2", "sgno": 178, "cell": [5.422, 5.422, 56.275, 90.0, 90.0, 120.0]}, "ref_override_why": "hexagonal L-cystine, P 61 2 2; COD 5000005 - B. M. Oughton and P. M. Harrison, Acta Cryst. 12 (1959) 396-404, doi:10.1107/S0365110X59001177. No XDS reference: XDS indexes under 10% of the spots of either sweep, so the row is scored on lattice and symmetry only"},
{"id": "lcystine_x10sa_25keV", "input": "lcystine_x10sa_25keV/lcystine_2_003_master.h5", "wavelength": 0.49594, "cod": "1513328", "tags": ["h5", "hexagonal", "small-molecule"], "ref_override": {"sg": "P 61 2 2", "sgno": 178, "cell": [5.422, 5.422, 56.275, 90.0, 90.0, 120.0]}, "ref_override_why": "hexagonal L-cystine, P 61 2 2; COD 5000005 - B. M. Oughton and P. M. Harrison, Acta Cryst. 12 (1959) 396-404, doi:10.1107/S0365110X59001177. No XDS reference: XDS indexes under 10% of the spots of either sweep, so the row is scored on lattice and symmetry only"}
]}
+3 -1
View File
@@ -108,7 +108,8 @@ def parse_correct_lp(path):
"""Reference values from an XDS CORRECT.LP: the space group and cell CORRECT refined, the
resolution range it merged (dmin_xds, dmax), the reference d_min read off its statistics
(dmin, dmin_rule - see reference_dmin), its overall merging statistics, and the R_meas of its
lowest-resolution shell (r_meas_low, over dmax to dmin_low).
lowest-resolution shell (r_meas_low, over dmax to dmin_low) and the CC1/2 of its highest
(cc_half_high).
CORRECT.LP states the group and cell twice - first as the INPUT to INTEGRATE (routinely P1),
then as CORRECT's own answer. The last SPACE_GROUP_NUMBER and the refined UNIT CELL PARAMETERS
@@ -149,6 +150,7 @@ def parse_correct_lp(path):
# is the merge's accuracy rather than where the signal fades
ref["dmin_low"] = float(shells[0][0])
ref["r_meas_low"] = round(num(shells[0][9]) / 100, 4)
ref["cc_half_high"] = round(num(shells[-1][10]) / 100, 4) # the highest-resolution shell
# The range XDS merged: the explicit INCLUDE_RESOLUTION_RANGE, or - when XDS.INP left the high
# limit at 0.0, "the whole detector" - the finest shell actually tabulated. The pooled statistics
+16 -16
View File
@@ -1,7 +1,7 @@
{"arm": "open", "sets": [
{"id": "11if", "input": "11if/BopeA_18500_a_B2-PEF_11if/data/PSL-1503_13949_master.h5", "wavelength": 0.9786, "ref": {"sg": "P 43", "sgno": 78, "cell": [51.14, 51.14, 71.92, 90.0, 90.0, 90.0], "dmin": 1.51}, "tags": ["h5", "tetragonal"], "tiers": {"smoke": "Eiger NXmx from another facility, 4-fold screw"}},
{"id": "36gk", "input": "36gk/CLS-0074_5-3_36GK/data/CLS-0074_5-3_master.h5", "wavelength": 0.95371, "ref": {"sg": "I 2 2 2", "sgno": 23, "cell": [120.58, 189.49, 199.69, 90.0, 90.0, 90.0], "dmin": 2.28}, "tags": ["h5", "orthorhombic"]},
{"id": "3inp", "input": "3inp/IDP02542_3inp/data/idp02542b.001", "wavelength": 0.97872, "ref": {"sg": "F 41 3 2", "sgno": 210, "cell": [224.08, 224.08, 224.08, 90.0, 90.0, 90.0], "dmin": 2.05}, "tags": ["marCCD", "cubic"]},
{"id": "3inp", "input": "3inp/IDP02542_3inp/data/idp02542b.001", "wavelength": 0.97872, "ref": {"sg": "F 41 3 2", "sgno": 210, "cell": [224.08, 224.08, 224.08, 90.0, 90.0, 90.0], "dmin": 2.05}, "tags": ["marCCD", "cubic"], "tiers": {"ci": "marCCD, face-centred cubic F4132"}},
{"id": "3ky7", "input": "3ky7/IDP90258_3ky7/data/idp90258f.001", "wavelength": 0.97856, "ref": {"sg": "P 43 3 2", "sgno": 212, "cell": [125.176, 125.176, 125.176, 90.0, 90.0, 90.0], "dmin": 2.35}, "tags": ["marCCD", "cubic"]},
{"id": "3mc4", "input": "3mc4/series/206918e4_x0001.img", "wavelength": 1.54178, "ref": {"sg": "H 3", "sgno": 146, "cell": [104.03, 104.03, 105.54, 90.0, 90.0, 120.0], "dmin": 1.95}, "tags": ["smv", "trigonal", "home-source"]},
{"id": "3meb", "input": "3meb/series/202097g3_x0001.img", "wavelength": 1.54178, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [58.58, 101.15, 81.53, 90.0, 90.62, 90.0], "dmin": 1.9}, "tags": ["smv", "monoclinic", "home-source"]},
@@ -27,29 +27,29 @@
{"id": "6h2p_native", "input": "6h2p/ProlMut1MnCAC_6h2p/data/Prol_Mut1_Mn_X1_nat_1_0002.cbf", "wavelength": 0.9184, "ref": {"sg": "C 2 2 21", "sgno": 20, "cell": [103.453, 107.075, 216.543, 90.0, 90.0, 90.0], "dmin": 1.479}, "tags": ["cbf", "orthorhombic", "two-wavelength"]},
{"id": "6h2p_1p89A", "input": "6h2p/ProlMut1MnCAC_6h2p/data/Prol_Mut1_Mn_X_pk1_2_0001.cbf", "wavelength": 1.89317, "ref": {"sg": "C 2 2 21", "sgno": 20, "cell": [103.453, 107.075, 216.543, 90.0, 90.0, 90.0], "dmin": null}, "tags": ["cbf", "orthorhombic", "long-wavelength", "two-wavelength"]},
{"id": "6h5t", "input": "6h5t/6h5t/data/SH3-1_x2_1_001.img", "wavelength": 0.895, "ref": {"sg": "I 4 2 2", "sgno": 97, "cell": [86.792, 86.792, 141.768, 90.0, 90.0, 90.0], "dmin": 1.689}, "tags": ["marCCD", "tetragonal"]},
{"id": "6hv2", "input": "6hv2/6hv2/data/coll_1_master.h5", "wavelength": 0.99987, "ref": {"sg": "P 61 2 2", "sgno": 178, "cell": [68.928, 68.928, 133.563, 90.0, 90.0, 120.0], "dmin": 1.709}, "tags": ["h5", "hexagonal"]},
{"id": "6hv2", "input": "6hv2/6hv2/data/coll_1_master.h5", "wavelength": 0.99987, "ref": {"sg": "P 61 2 2", "sgno": 178, "cell": [68.928, 68.928, 133.563, 90.0, 90.0, 120.0], "dmin": 1.709}, "tags": ["h5", "hexagonal"], "tiers": {"ci": "HDF5, hexagonal P6122"}},
{"id": "6hwj", "input": "6hwj/bg3006_2_0001.cbf", "wavelength": 1.0332, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [59.812, 96.07, 80.252, 90.0, 106.69, 90.0], "dmin": 1.979}, "tags": ["cbf", "monoclinic"]},
{"id": "6i3j", "input": "6i3j/6i3j/data/BF19_go_1_0001.img", "wavelength": 0.91841, "ref": {"sg": "F 2 2 2", "sgno": 22, "cell": [134.382, 203.846, 226.744, 90.0, 90.0, 90.0], "dmin": 2.59}, "tags": ["marCCD", "orthorhombic"]},
{"id": "6iu5", "input": "6iu5/6iu5_VIT1_MBD_Zn/peak/peak_000001.cbf", "wavelength": 1.282, "ref": {"sg": "P 31", "sgno": 144, "cell": [84.942, 84.942, 98.19, 90.0, 90.0, 120.0], "dmin": 2.25}, "pinned": true, "tags": ["cbf", "trigonal", "twin"]},
{"id": "6iu5", "input": "6iu5/6iu5_VIT1_MBD_Zn/peak/peak_000001.cbf", "wavelength": 1.282, "ref": {"sg": "P 31", "sgno": 144, "cell": [84.942, 84.942, 98.19, 90.0, 90.0, 120.0], "dmin": 2.25}, "pinned": true, "tags": ["cbf", "trigonal", "twin"], "tiers": {"ci": "merohedrally twinnable P31, zinc anomalous peak"}},
{"id": "6iu6", "input": "6iu6/6iu6_VIT1_MBD_Ni/peak/peak_000001.cbf", "wavelength": 1.485, "ref": {"sg": "P 31", "sgno": 144, "cell": [84.744, 84.744, 97.398, 90.0, 90.0, 120.0], "dmin": 2.9}, "pinned": true, "tags": ["cbf", "trigonal", "twin"]},
{"id": "6iu8", "input": "6iu8/6iu8_VIT1_MBD_Co/low/low_000001.cbf", "wavelength": 1.648, "ref": {"sg": "P 31", "sgno": 144, "cell": [85.503, 85.503, 98.355, 90.0, 90.0, 120.0], "dmin": 2.7}, "tags": ["cbf", "trigonal"]},
{"id": "6iu9", "input": "6iu9/6iu9_VIT1_MBD_Fe/peak/data01_000001.cbf", "wavelength": 1.7401, "ref": {"sg": "P 31", "sgno": 144, "cell": [85.321, 85.321, 97.573, 90.0, 90.0, 120.0], "dmin": 3.0}, "pinned": true, "tags": ["cbf", "trigonal", "twin"]},
{"id": "6jgi", "input": "6jgi/6jgi/data/00001.img", "wavelength": 0.75, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [50.857, 62.403, 69.172, 90.0, 90.0, 90.0], "dmin": 0.85}, "tags": ["marCCD", "orthorhombic"]},
{"id": "6jgi", "input": "6jgi/6jgi/data/00001.img", "wavelength": 0.75, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [50.857, 62.403, 69.172, 90.0, 90.0, 90.0], "dmin": 0.85}, "tags": ["marCCD", "orthorhombic"], "tiers": {"ci": "marCCD, orthorhombic P212121 at 0.75 A"}},
{"id": "6jgj", "input": "6jgj/6jgj/data/000001.cbf", "wavelength": 0.35, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [50.87, 62.34, 68.85, 90.0, 90.0, 90.0], "dmin": 0.77}, "tags": ["cbf", "orthorhombic", "cdte"]},
{"id": "6moj", "input": "6moj/A9_1_00001.cbf", "wavelength": 0.97741, "ref": {"sg": "I 41 2 2", "sgno": 98, "cell": [130.418, 130.418, 293.453, 90.0, 90.0, 90.0], "dmin": 2.431}, "tags": ["cbf", "tetragonal"]},
{"id": "6moj", "input": "6moj/A9_1_00001.cbf", "wavelength": 0.97741, "ref": {"sg": "I 41 2 2", "sgno": 98, "cell": [130.418, 130.418, 293.453, 90.0, 90.0, 90.0], "dmin": 2.431}, "tags": ["cbf", "tetragonal"], "tiers": {"ci": "body-centred tetragonal I4122"}},
{"id": "6o2h", "input": "6o2h/lys_nitr_10_1_0001.cbf", "wavelength": 0.9768, "ref": {"sg": "P 1", "sgno": 1, "cell": [27.424, 32.134, 34.513, 88.657, 108.46, 111.877], "dmin": 1.212}, "tags": ["cbf", "triclinic", "diffuse"]},
{"id": "6oel", "input": "6oel/1449-8_3_001.img", "wavelength": 0.99994, "ref": {"sg": "F 41 3 2", "sgno": 210, "cell": [328.1, 328.1, 328.1, 90.0, 90.0, 90.0], "dmin": 3.1}, "tags": ["SMV", "cubic"], "tiers": {"smoke": "SMV reader (ADSC), cubic F4132"}},
{"id": "6p8p", "input": "6p8p/14_12_1_0001.cbf", "wavelength": 0.9792, "ref": {"sg": "P 4", "sgno": 75, "cell": [97.525, 97.525, 60.134, 90.0, 90.0, 90.0], "dmin": 1.635}, "tags": ["cbf", "tetragonal"]},
{"id": "6pb3", "input": "6pb3/14_16_1_000001.cbf", "wavelength": 0.97918, "ref": {"sg": "P 6", "sgno": 168, "cell": [100.436, 100.436, 48.86, 90.0, 90.0, 120.0], "dmin": 2.048}, "tags": ["cbf", "hexagonal"]},
{"id": "6pxb", "input": "6pxb/TJB1_3_rachel_1_0001.cbf", "wavelength": 0.9792, "pinned": true, "ref": {"sg": "P 32", "sgno": 145, "cell": [64.021, 64.021, 119.447, 90.0, 90.0, 120.0], "dmin": 1.747}, "ref_alternatives": [{"sg": "P 32 1 2", "sgno": 153, "why": "The deposition merged in point group 3 (its 55502 unique reflections to 1.747 A are what Laue class -3 holds, twice what -3 1 m would) and refined six chains in P 32. The intensities read point group 312 instead: the three added two-folds correlate at 0.98-0.99, at or above the three-folds nobody disputes (0.98), against 0.37-0.40 for the 321 and 622 operators, POINTLESS on our P1 merge picks P -3 1 m (likelihood 1.000), and the reflections centric in 312 but not in 3 are distributed as centric (+435 nats), which a twin law cannot produce. Against that, the deposited chains pair under the added two-fold at 0.3-0.7 A, more than coordinate error at 1.75 A, and the model tells the two indexings apart (R 0.22 against 0.25), so the two-fold may be a near-exact non-crystallographic one; ZANUDA settles on P 32 2 1, whose operators these data do not support. Neither answer is established, so both are accepted; P 31 1 2, which the data cannot separate from P 32 1 2, is accepted as its hand"}], "tags": ["cbf", "trigonal"]},
{"id": "6pxc", "input": "6pxc/TJB6_1_Rachel_1_0001.cbf", "wavelength": 0.9791, "ref": {"sg": "I 2 2 2", "sgno": 23, "cell": [44.19, 64.827, 87.239, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["cbf", "orthorhombic"]},
{"id": "6pxc", "input": "6pxc/TJB6_1_Rachel_1_0001.cbf", "wavelength": 0.9791, "ref": {"sg": "I 2 2 2", "sgno": 23, "cell": [44.19, 64.827, 87.239, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["cbf", "orthorhombic"], "tiers": {"ci": "body-centred orthorhombic I222"}},
{"id": "6r72", "input": "6r72/V-CK63-8-ld_1_master.h5", "wavelength": 0.98011, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [117.805, 110.754, 155.615, 90.0, 93.23, 90.0], "dmin": 3.95}, "pinned": true, "tags": ["h5", "monoclinic"]},
{"id": "6rlr", "input": "6rlr/_b4_1_master.h5", "wavelength": 0.97949, "ref": {"sg": "P 1", "sgno": 1, "cell": [39.986, 39.998, 63.643, 80.39, 76.29, 68.15], "dmin": 2.0}, "tags": ["h5", "triclinic", "twin"]},
{"id": "6toc", "input": "6toc/zenodo/dts_1_00001.cbf", "wavelength": 1.00004, "ref": {"sg": "P 42", "sgno": 77, "cell": [31.523, 31.523, 81.599, 90.0, 90.0, 90.0], "dmin": 1.853}, "ref_alternatives": [{"sg": "P 42 2 2", "sgno": 93, "why": "Our reduction and an independent POINTLESS run on our own P1 merge both read point group 422, and the deposited asymmetric unit's two chains are related by the very two-fold the higher group adds, to 0.16 A CA RMSD over 43 residues - coordinate error at 1.85 A. Merging in P 42 2 2 costs 0.0006 in R_meas for 1.75x the multiplicity and correlates better with the deposited model (0.9802 vs 0.9764). The refinement test is NOT unanimous: ZANUDA 1.097 refines P 42 2 2 to R-free 0.2561 against P 42's 0.2636 at half the parameters and reports the deposited assignment incorrect, while an independent Refmac 5.8.0431 comparison on a symmetry-consistent free set puts P 42 ahead by 0.004-0.020 depending on cycle count - less than the spread between refinement protocols. Neither answer is established: a pseudo-symmetry too exact for any test we have remains a live explanation, and so does the deposited assignment. Either is accepted"}], "tags": ["cbf", "tetragonal", "twin"]},
{"id": "6ttn", "input": "6ttn/6ttn/data/H6H_33_01_hyo_full_1_0001.cbf", "wavelength": 0.9184, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [39.894, 79.841, 104.701, 90.0, 90.0, 90.0], "dmin": 1.12}, "tags": ["cbf", "orthorhombic"]},
{"id": "6u7g", "input": "6u7g/6u7g/data/SNB02_11_8_1_master.h5", "wavelength": 1.03318, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [99.555, 98.682, 147.525, 90.0, 104.6, 90.0], "dmin": 2.35}, "pinned": true, "tags": ["h5", "monoclinic"]},
{"id": "6ukf", "input": "6ukf/6ukf/data/XDC-7_Pn6_000001.cbf", "wavelength": 0.8, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [61.018, 37.317, 69.027, 90.0, 109.768, 90.0], "dmin": 1.0}, "tags": ["cbf", "monoclinic"]},
{"id": "6v2r", "input": "6v2r/data/cbx7.248483.hv6_screen_0001.img", "wavelength": 1.54178, "ref": {"sg": "P 41 21 2", "sgno": 92, "cell": [40.193, 40.193, 83.127, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["smv", "tetragonal", "home-source"]},
{"id": "6v2r", "input": "6v2r/data/cbx7.248483.hv6_screen_0001.img", "wavelength": 1.54178, "ref": {"sg": "P 41 21 2", "sgno": 92, "cell": [40.193, 40.193, 83.127, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["smv", "tetragonal", "home-source"], "tiers": {"ci": "home source SMV, strong anomalous signal"}},
{"id": "6vww", "input": "6vww/IDP51000_6vww/data/m4H11g_00001.cbf", "wavelength": 0.97918, "ref": {"sg": "P 63", "sgno": 173, "cell": [150.539, 150.539, 111.31, 90.0, 90.0, 120.0], "dmin": 2.2}, "tags": ["cbf", "hexagonal", "twin"], "tiers": {"smoke": "merohedral twin, P63"}},
{"id": "6w4h", "input": "6w4h/IDP51000_6W4H/data/idp51000-201-a_1_2_3.001", "wavelength": 0.97872, "ref": {"sg": "P 31 2 1", "sgno": 152, "cell": [167.74, 167.74, 51.942, 90.0, 90.0, 120.0], "dmin": 1.8}, "tags": ["marCCD", "trigonal"]},
{"id": "6wzo", "input": "6wzo/9_1_1_000001.cbf", "wavelength": 0.97918, "ref": {"sg": "P 1", "sgno": 1, "cell": [43.718, 50.061, 69.337, 106.499, 90.094, 97.145], "dmin": 1.42}, "tags": ["cbf", "triclinic"]},
@@ -90,7 +90,7 @@
{"id": "8oic", "input": "8oic/8oic/data/_b20_1_master.h5", "wavelength": 0.9795, "ref": {"sg": "P 1", "sgno": 1, "cell": [73.055, 94.665, 120.589, 105.081, 89.959, 93.826], "dmin": 2.8}, "tags": ["h5", "triclinic"]},
{"id": "8owm", "input": "8owm/p13x4_1_00001.cbf.gz", "wavelength": 0.97625, "ref": {"sg": "P 1", "sgno": 1, "cell": [95.544, 95.629, 95.841, 90.416, 93.59, 117.775], "dmin": 1.7}, "tags": ["cbf", "triclinic"]},
{"id": "8pqd", "input": "8pqd/8pqd/data/11AT05_w1_1_1_master.h5", "wavelength": 0.9677, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [59.39, 59.37, 192.89, 90.0, 90.0, 90.0], "dmin": 1.5}, "tags": ["h5", "orthorhombic"]},
{"id": "8qaw", "input": "8qaw/p18x3/p18x3_1_00001.cbf.gz", "wavelength": 0.97625, "ref": {"sg": "H 3", "sgno": 146, "cell": [137.68, 137.68, 265.907, 90.0, 90.0, 120.0], "dmin": 1.55}, "tags": ["cbf", "trigonal", "long-axis"]},
{"id": "8qaw", "input": "8qaw/p18x3/p18x3_1_00001.cbf.gz", "wavelength": 0.97625, "ref": {"sg": "H 3", "sgno": 146, "cell": [137.68, 137.68, 265.907, 90.0, 90.0, 120.0], "dmin": 1.55}, "tags": ["cbf", "trigonal", "long-axis"], "tiers": {"ci": "large: 3600 frames of cbf.gz, rhombohedral H3, 266 A axis"}},
{"id": "8qj5", "input": "8qj5/8qj5/data/Lcsbc3_1_2_00001.cbf", "wavelength": 1.0, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [57.61, 100.63, 77.93, 90.0, 96.06, 90.0], "dmin": 1.63}, "tags": ["cbf", "monoclinic"]},
{"id": "8qq7", "input": "8qq7/cbf/SpNox-Sp49-B3-B_088_1_0001.cbf", "wavelength": 0.966, "ref": {"sg": "P 64 2 2", "sgno": 181, "cell": [145.967, 145.967, 153.619, 90.0, 90.0, 120.0], "dmin": 3.62}, "tags": ["cbf", "hexagonal"]},
{"id": "8r5r", "input": "8r5r/8r5r/data/D5-33805_1_1_master.h5", "wavelength": 0.8856, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [91.74, 132.91, 137.5, 90.0, 90.0, 90.0], "dmin": 3.08}, "tags": ["h5", "orthorhombic"]},
@@ -103,7 +103,7 @@
{"id": "8t7r", "input": "8t7r/8t7r/data/GREEN-04_Pn5_000001.cbf", "wavelength": 1.0, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [357.076, 259.582, 255.361, 90.0, 133.13, 90.0], "dmin": 3.84}, "tags": ["cbf", "monoclinic"]},
{"id": "8tha", "input": "8tha/1TEL_double_helix_8tha/data/A3_1_00001.cbf", "wavelength": 0.97946, "ref": {"sg": "P 64", "sgno": 172, "cell": [69.16, 69.16, 29.13, 90.0, 90.0, 120.0], "dmin": 1.68}, "tags": ["cbf", "hexagonal"]},
{"id": "8tyy", "input": "8tyy/CPS_2_1_000001.cbf", "wavelength": 0.97918, "ref": {"sg": "F 4 3 2", "sgno": 209, "cell": [214.891, 214.891, 214.891, 90.0, 90.0, 90.0], "dmin": 1.68}, "tags": ["cbf", "cubic"]},
{"id": "8u0i", "input": "8u0i/8u0i/data/dI-2-05a_4_00001.cbf", "wavelength": 1.00004, "ref": {"sg": "P 43 21 2", "sgno": 96, "cell": [50.317, 50.317, 90.596, 90.0, 90.0, 90.0], "dmin": 1.541}, "tags": ["cbf", "tetragonal"]},
{"id": "8u0i", "input": "8u0i/8u0i/data/dI-2-05a_4_00001.cbf", "wavelength": 1.00004, "ref": {"sg": "P 43 21 2", "sgno": 96, "cell": [50.317, 50.317, 90.596, 90.0, 90.0, 90.0], "dmin": 1.541}, "tags": ["cbf", "tetragonal"], "tiers": {"ci": "miniCBF, tetragonal P43212"}},
{"id": "8v4o", "input": "8v4o/CaalA_00629_a_FS11-AMP_8v4o/data/PSL-1602_2180_master.h5", "wavelength": 0.97949, "ref": {"sg": "P 61 2 2", "sgno": 178, "cell": [139.46, 139.46, 544.99, 90.0, 90.0, 120.0], "dmin": 2.7}, "tags": ["h5", "hexagonal"]},
{"id": "8xbp", "input": "8xbp/8xbp/data/puck2872_3_1_master.h5", "wavelength": 0.97856, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [148.29, 50.78, 60.21, 90.0, 92.33, 90.0], "dmin": 1.99}, "ref_override": {"cell": [148.736, 51.777, 60.181, 90.0, 92.36, 90.0]}, "ref_override_why": "the uploaded sweep is a different crystal from the one the deposited cell describes: master data_collection_date 2023-06-21, deposited _diffrn_detector.pdbx_collection_date 2023-06-23, and the deposited b = 50.78 is 2.0% from the b these images give. The override is the cell DIALS 3.29 indexes de novo on this master, b = 51.777(11); the deposited space group and d_min are kept", "tags": ["h5", "monoclinic"]},
{"id": "8xte", "input": "8xte/1101/G2_1_00001.cbf", "wavelength": 0.97853, "ref": {"sg": "P 32", "sgno": 145, "cell": [208.77, 208.77, 67.22, 90.0, 90.0, 120.0], "dmin": 1.99}, "ref_alternatives": [{"sg": "P 31 2 1", "sgno": 152, "why": "The evidence favours the higher group here. The twin-immune centric zone of the added two-folds - reflections the higher group makes centric, which are their own twin mates and so cannot be made to read centric by a merohedral twin law - gives <|E^2-1|> = 0.946 +/- 0.012 against a centric expectation of 0.968 and an acentric 0.736, at +707 nats. Re-refinement on a shared free set with the twin law removed from both sides favours P 3_2 2 1 (0.2177/0.2322) over P 3_2 (0.2460/0.2612), and the deposited entry's published R values reproduce only with an undeclared twin law h,-h-k,-l at alpha = 0.50, which is itself a 321-symmetric target. No refinement R can close the question in principle, because a merohedral twin at exactly alpha = 0.5 and true 321 predict identical intensities; the case rests on the centric zone. Both answers are accepted, ours being the better supported"}], "tags": ["cbf", "trigonal"]},
@@ -111,7 +111,7 @@
{"id": "8xtg", "input": "8xtg/1100/mpag15_1_00001.cbf", "wavelength": 0.97853, "ref": {"sg": "P 32", "sgno": 145, "cell": [199.54, 199.54, 67.15, 90.0, 90.0, 120.0], "dmin": 2.0}, "ref_alternatives": [{"sg": "P 31 2 1", "sgno": 152, "why": "The evidence favours the DEPOSITION here, and this row must not be read as the 8xte one. Every correlation-based instrument we have - our own operator correlations, POINTLESS (0.85 on our P1 merge) - reads point group 321, but our own twin-immune centric-zone test, the only one that separates real symmetry from pseudo-symmetry, read <|E^2-1|> = 0.869 at -44.9 nats against the promotion when it assumed an untwinned zone; read at the fraction of the crystal's other twin laws (rc174) it now favours the promotion, with an L-test twin fraction of 0.20-0.26. Whether this crystal is partially twinned or purely pseudo-symmetric is not established. Both answers are accepted, the deposition being the better supported"}], "tags": ["cbf", "trigonal"]},
{"id": "8y74", "input": "8y74/1_1/1_1_master.h5", "wavelength": 0.97918, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [125.782, 76.553, 87.143, 90.0, 92.449, 90.0], "dmin": 1.9}, "tags": ["h5", "monoclinic"]},
{"id": "8ys9", "input": "8ys9/8YS9_xray-data_8ys9/data/SDS_09_18112_master.h5", "wavelength": 0.97957, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [71.04, 77.68, 83.16, 90.0, 90.0, 90.0], "dmin": 1.46}, "tags": ["h5", "orthorhombic"]},
{"id": "9b22", "input": "9b22/KlpnC_20447_a_B1-AR6-AMP_9b22/data/PSL-1011_1580_master.h5", "wavelength": 0.97856, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [39.826, 92.659, 57.716, 90.0, 91.68, 90.0], "dmin": 1.3}, "tags": ["h5", "monoclinic"]},
{"id": "9b22", "input": "9b22/KlpnC_20447_a_B1-AR6-AMP_9b22/data/PSL-1011_1580_master.h5", "wavelength": 0.97856, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [39.826, 92.659, 57.716, 90.0, 91.68, 90.0], "dmin": 1.3}, "tags": ["h5", "monoclinic"], "tiers": {"ci": "HDF5, monoclinic P21 at 1.1 A"}},
{"id": "9bn8", "input": "9bn8/EscoA_17938_a_AE1-UMA-A1AQS_9bn8/data/PSL-0401_8296_master.h5", "wavelength": 0.97856, "ref": {"sg": "P 41", "sgno": 76, "cell": [65.488, 65.488, 134.764, 90.0, 90.0, 90.0], "dmin": 1.35}, "tags": ["h5", "tetragonal"]},
{"id": "9c18", "input": "9c18/BLVRB-2_5217_master.h5", "wavelength": 0.9201, "ref": {"sg": "P 1", "sgno": 1, "cell": [41.94, 41.977, 60.212, 84.11, 87.24, 63.66], "dmin": 1.9}, "tags": ["h5", "triclinic"]},
{"id": "9chw", "input": "9chw/D1.001", "wavelength": 0.97872, "ref": {"sg": "P 61", "sgno": 169, "cell": [98.686, 98.686, 82.062, 90.0, 90.0, 120.0], "dmin": 2.16}, "tags": ["marCCD", "hexagonal"]},
@@ -120,7 +120,7 @@
{"id": "9ea5", "input": "9ea5/K4_1_00001.cbf", "wavelength": 0.97946, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [65.868, 73.064, 98.399, 90.0, 108.725, 90.0], "dmin": 2.0}, "tags": ["cbf", "monoclinic"]},
{"id": "9fcg", "input": "9fcg/IBCH-15-p02x06_2_00001.cbf.gz", "wavelength": 0.97626, "ref": {"sg": "P 4", "sgno": 75, "cell": [87.79, 87.79, 35.633, 90.0, 90.0, 90.0], "dmin": 1.54}, "tags": ["cbf", "tetragonal"], "tiers": {"smoke": "cbf.gz reader, pure 4-fold"}},
{"id": "9fhc", "input": "9fhc/te/te312_2_001.img", "wavelength": 1.0, "ref": {"sg": "I 2 3", "sgno": 197, "cell": [227.46, 227.46, 227.46, 90.0, 90.0, 90.0], "dmin": 2.2}, "tags": ["marCCD", "cubic"]},
{"id": "9gdj", "input": "9gdj/slh34_w1_1_1_master.h5", "wavelength": 0.8856, "ref": {"sg": "P 41 21 2", "sgno": 92, "cell": [123.92, 123.92, 126.44, 90.0, 90.0, 90.0], "dmin": 1.47}, "tags": ["h5", "tetragonal", "cdte"]},
{"id": "9gdj", "input": "9gdj/slh34_w1_1_1_master.h5", "wavelength": 0.8856, "ref": {"sg": "P 41 21 2", "sgno": 92, "cell": [123.92, 123.92, 126.44, 90.0, 90.0, 90.0], "dmin": 1.47}, "tags": ["h5", "tetragonal", "cdte"], "tiers": {"ci": "CdTe detector (HDF5), 1.4 A, about 100 s"}},
{"id": "9gjx", "input": "9gjx/BlNTR_9gjx/data/SC6_1_master.h5", "wavelength": 0.9795, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [76.776, 115.807, 103.807, 90.0, 110.29, 90.0], "dmin": 2.4}, "tags": ["h5", "monoclinic"]},
{"id": "9gqg", "input": "9gqg/MX-2555/FKBP51-MSP500-A-5522-11_1_3094759/FKBP51-MSP500-A-5522-11_1_1_master.h5", "wavelength": 0.87313, "ref": {"sg": "P 32 2 1", "sgno": 154, "cell": [48.157, 48.157, 188.036, 90.0, 90.0, 120.0], "dmin": 2.0}, "tags": ["h5", "trigonal"]},
{"id": "9hnc", "input": "9hnc/asp_7_00001.cbf", "wavelength": 0.72931, "ref": {"sg": "P 1 2 1", "sgno": 3, "cell": [123.764, 123.645, 187.679, 90.0, 90.063, 90.0], "dmin": 1.879}, "tags": ["cbf", "monoclinic"]},
@@ -130,8 +130,8 @@
{"id": "9ig7", "input": "9ig7/9IG7/data/KOD-P596-G2_3_00001.cbf", "wavelength": 0.97626, "ref": {"sg": "P 21 21 2", "sgno": 18, "cell": [111.472, 153.471, 69.03, 90.0, 90.0, 90.0], "dmin": 2.6}, "tags": ["cbf", "orthorhombic"]},
{"id": "9ih9", "input": "9ih9/run_01_05_datacollection_9IH9/data/design-Xinjian-P1Thro-4_1_5_1_master.h5", "wavelength": 0.9677, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [78.758, 133.933, 82.32, 90.0, 101.356, 90.0], "dmin": 1.7}, "tags": ["h5", "monoclinic"]},
{"id": "9jq9", "input": "9jq9/pfplrxdata_9JQ9/data/lp13_001.cbf", "wavelength": 1.3477, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [48.551, 50.499, 78.571, 90.0, 90.0, 90.0], "dmin": 1.9}, "tags": ["cbf", "orthorhombic", "home-source"]},
{"id": "9jzo", "input": "9jzo/JS_35P2_C3-002_diffraction_files_9JZO/data/JS_35P2_C3-002_0001.cbf", "wavelength": 0.97942, "ref": {"sg": "P 1", "sgno": 1, "cell": [41.63, 43.1, 54.2, 112.97, 90.11, 118.18], "dmin": 1.4}, "tags": ["cbf", "triclinic"], "tiers": {"smoke": "triclinic P1"}},
{"id": "9khr", "input": "9khr/PfPlrx-DTT-9KHR/data-PfPlrx-DTT-9KHR/ods1467-lp13D1-01001.mccd", "wavelength": 0.97893, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [48.704, 50.31, 78.018, 90.0, 90.0, 90.0], "dmin": 2.0}, "tags": ["marCCD", "orthorhombic"], "tiers": {"smoke": "marCCD reader (.mccd), fast"}},
{"id": "9jzo", "input": "9jzo/JS_35P2_C3-002_diffraction_files_9JZO/data/JS_35P2_C3-002_0001.cbf", "wavelength": 0.97942, "ref": {"sg": "P 1", "sgno": 1, "cell": [41.63, 43.1, 54.2, 112.97, 90.11, 118.18], "dmin": 1.4}, "tags": ["cbf", "triclinic"], "tiers": {"smoke": "triclinic P1", "ci": "triclinic P1"}},
{"id": "9khr", "input": "9khr/PfPlrx-DTT-9KHR/data-PfPlrx-DTT-9KHR/ods1467-lp13D1-01001.mccd", "wavelength": 0.97893, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [48.704, 50.31, 78.018, 90.0, 90.0, 90.0], "dmin": 2.0}, "tags": ["marCCD", "orthorhombic"], "tiers": {"smoke": "marCCD reader (.mccd), fast", "ci": "marCCD reader (.mccd)"}},
{"id": "9mh4", "input": "9mh4/KlaeA_00150_a_B1_9mh4/data/PSL-0501_2719_master.h5", "wavelength": 0.97856, "ref": {"sg": "P 21 3", "sgno": 198, "cell": [138.65, 138.65, 138.65, 90.0, 90.0, 90.0], "dmin": 3.05}, "tags": ["h5", "cubic"]},
{"id": "9min", "input": "9min/1151/A8_31_00001.cbf", "wavelength": 1.00003, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [95.45, 98.54, 155.74, 90.0, 90.0, 90.0], "dmin": 2.05}, "tags": ["cbf", "orthorhombic"], "tiers": {"smoke": "known hard: halved axis"}},
{"id": "9o0h", "input": "9o0h/3TEL-GG-TNK1-UBA_9o0h/data/E1_1_00001.cbf", "wavelength": 0.97946, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [55.15, 65.54, 112.9, 90.0, 90.0, 90.0], "dmin": 2.24}, "tags": ["cbf", "orthorhombic"]},
@@ -143,7 +143,7 @@
{"id": "9rci", "input": "9rci/FEN1-CD029134_A09-3_AD049A-10_1_master.h5", "wavelength": 0.9801, "ref": {"sg": "P 1", "sgno": 1, "cell": [35.869, 39.297, 100.916, 98.3, 90.32, 90.09], "dmin": 1.662}, "ref_alternatives": [{"cell": [35.869, 39.297, 199.976, 87.087, 90.341, 90.09], "why": "The deposited cell is the (0,1/2,1/2)-centred sublattice of the supercell we report, to 0.17%, and both descriptions of this lattice are defensible. The Patterson has an off-origin peak at 62.5% of the origin, so a real translational NCS relates the two halves of our cell: describing the crystal by the doubled cell with the near-translation left in the content, or by its sublattice with the near-translation absorbed into the lattice, is a choice, not a measurement. The alternative cell is the deposited one doubled along c with the centring removed (c' = b + 2c), computed from the deposited cell alone - not from our output"}], "tags": ["h5", "triclinic", "tncs"]},
{"id": "9rcs", "input": "9rcs/760_B7_x1_1_master.h5", "wavelength": 0.61992, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [70.01, 78.8, 82.34, 90.0, 88.64, 90.0], "dmin": 3.012}, "tags": ["h5", "monoclinic", "cdte"]},
{"id": "9rp9", "input": "9rp9/data_9RP9/data/TAR148-TAR148_X2_1_master.h5", "wavelength": 0.97856, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [73.48, 59.78, 91.67, 90.0, 100.85, 90.0], "dmin": 2.1}, "tags": ["h5", "monoclinic"]},
{"id": "9sl0", "input": "9sl0/wt-1_9sl0/data/design-Yan-HLA-WT-1_1_5_1_master.h5", "wavelength": 0.87313, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [60.181, 80.201, 111.589, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["h5", "orthorhombic"]},
{"id": "9sl0", "input": "9sl0/wt-1_9sl0/data/design-Yan-HLA-WT-1_1_5_1_master.h5", "wavelength": 0.87313, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [60.181, 80.201, 111.589, 90.0, 90.0, 90.0], "dmin": 1.6}, "tags": ["h5", "orthorhombic"], "tiers": {"ci": "HDF5, orthorhombic P212121"}},
{"id": "9t6s", "input": "9t6s/CadC-AF6586_1_5_1_master.h5", "wavelength": 0.8856, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [63.004, 64.574, 102.705, 90.0, 90.0, 90.0], "dmin": 2.0}, "tags": ["h5", "orthorhombic", "tncs"]},
{"id": "9upt", "input": "9upt/Raw data 1A/C12_7_00001.img", "wavelength": 0.99984, "ref": {"sg": "P 6", "sgno": 168, "cell": [158.27, 158.27, 53.962, 90.0, 90.0, 120.0], "dmin": 2.369}, "tags": ["SMV", "hexagonal"]},
{"id": "9vyb", "input": "9vyb/Antitoxin Phd_9vyb/data/G7-5_4187_master.h5", "wavelength": 1.00003, "ref": {"sg": "P 21 21 21", "sgno": 19, "cell": [44.37, 47.76, 48.35, 90.0, 90.0, 90.0], "dmin": 2.12}, "tags": ["h5", "orthorhombic"]},
@@ -200,6 +200,6 @@
{"id": "5jk4", "input": "5jk4/dioxyhipeg/dioxyhipeg_1_001.img", "wavelength": 0.933, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [37.729, 77.856, 56.287, 90.0, 102.08, 90.0], "dmin": 1.1}, "tags": ["smv", "monoclinic"], "pinned": true},
{"id": "6cs9", "input": "6cs9/568/HBD2D7_2_1_001.img", "wavelength": 0.9537, "ref": {"sg": "P 1 21 1", "sgno": 4, "cell": [32.871, 25.538, 40.17, 90.0, 98.64, 90.0], "dmin": 1.85}, "tags": ["smv", "monoclinic"]},
{"id": "9lxl", "input": "9lxl/6/1_T10Y-FFp-PNPI_6_master.h5", "wavelength": 0.97919, "ref": {"sg": "P 41 21 2", "sgno": 92, "cell": [76.757, 76.757, 225.338, 90.0, 90.0, 90.0], "dmin": 2.191}, "tags": ["h5", "tetragonal"]},
{"id": "9s02", "input": "9s02/PYCR1-D11_1_master.h5", "wavelength": 0.97625, "ref": {"sg": "P 21 21 2", "sgno": 18, "cell": [163.674, 88.042, 116.731, 90.0, 90.0, 90.0], "dmin": 1.65}, "tags": ["h5", "orthorhombic"]},
{"id": "6gvk", "input": "6gvk/212_3_0001.cbf", "wavelength": 0.97915, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [105.58, 59.52, 42.4, 90.0, 113.5, 90.0], "dmin": 1.55}, "tags": ["cbf", "monoclinic"], "pinned": true}
{"id": "9s02", "input": "9s02/PYCR1-D11_1_master.h5", "wavelength": 0.97625, "ref": {"sg": "P 21 21 2", "sgno": 18, "cell": [163.674, 88.042, 116.731, 90.0, 90.0, 90.0], "dmin": 1.65}, "tags": ["h5", "orthorhombic"], "tiers": {"ci": "HDF5, orthorhombic P21212"}},
{"id": "6gvk", "input": "6gvk/212_3_0001.cbf", "wavelength": 0.97915, "ref": {"sg": "C 1 2 1", "sgno": 5, "cell": [105.58, 59.52, 42.4, 90.0, 113.5, 90.0], "dmin": 1.55}, "tags": ["cbf", "monoclinic"], "pinned": true, "tiers": {"ci": "C-centred monoclinic C2"}}
]}
+49
View File
@@ -6,6 +6,8 @@ import socket
import statistics
import sys
import gemmi
import depdata_check
import score
import shelx_check
@@ -685,3 +687,50 @@ def refres_note(r):
return (f"coverage: own cut {f(r.get('d_min'))} A is coarser than the reference, "
f"{r['refres_shells_past_limit']:.0f} shell(s) not merged")
return "like for like"
def console_table(res):
"""One line per set for a terminal or a CI log, each pair rugnux / reference: the space group,
then a tick where the set passed by score.judge's rule and a cross where it failed (a lattice,
symmetry, crash or missing input), d_min, ISa, CC1/2 overall and in the highest shell, R_meas
of the lowest shell, the model's R-free (rugnux's placement / the model's published) and
rugnux's own wall time. The references are XDS's on the XDS arms; the open arm has the
deposition's space group, d_min and R-free only. Every pair is rugnux right-aligned, "/", the
reference (right-aligned where it is a number), so the slashes, decimal points and ticks of a
column line up."""
def sg(no):
return gemmi.find_spacegroup_by_number(no).short_name() if no else None
def num(x, fmt, scale):
return None if x is None else fmt.format(x * scale)
# (header, key, reference key, format, scale, width of each side)
pairs = (("space group", "sgno", "sgno_ref", None, 1, 7),
("d_min", "d_min", "d_min_ref", "{:.2f}", 1, 5),
("ISa", "isa", "isa_ref", "{:.1f}", 1, 5),
("CC1/2%", "cc_half", "cc_half_ref", "{:.1f}", 100, 5),
("hi CC1/2%", "cc_half_high", "cc_half_high_ref", "{:.1f}", 100, 5),
("lo Rmeas%", "lowres_r_meas", "lowres_r_meas_ref", "{:.1f}", 100, 5),
("R_free%", "rfree", "rfree_deposited", "{:.1f}", 100, 5))
mark = {"pass": "✓", "fail": "✗", "not_run": "✗"}
def line(name, arm, cells, tick, time):
out = f"{name:18} {arm:7}"
for n, (_, _, _, _, _, w) in enumerate(pairs):
out += " " + cells[n]
if n == 0:
out += " " + tick
return f"{out} {time:>6}"
head = line("set", "arm", [h.center(2 * w + 1) for h, *_, w in pairs], " ", "time_s")
out = [head.rstrip(), "-" * len(head)]
for r in res:
name = r["set"] if len(r["set"]) <= 18 else r["set"][:17] + "~"
cells = []
for _, k, kr, fmt, scale, w in pairs:
a, b = ((sg(r.get(k)), sg(r.get(kr))) if fmt is None
else (num(r.get(k), fmt, scale), num(r.get(kr), fmt, scale)))
# numbers right-aligned on both sides, so the decimal points line up too
cells.append(f"{a or '-':>{w}}/" + (f"{b or '-':<{w}}" if fmt is None else f"{b or '-':>{w}}"))
out.append(line(name, r["arm"], cells, mark.get(r["verdict"], "?"), f(r.get("wall_s"), "{:.0f}")))
return "\n".join(out)
+22 -9
View File
@@ -21,13 +21,14 @@ REPORT_LINE = re.compile(r"^([A-Z_0-9]+)=\s*(.*)$")
def read_report(path):
"""KEY= value lines of a rugnux _report.txt, plus the lowest-resolution shell of its two shell
tables: LOWRES_D / LOWRES_R_MEAS from the table over its own range, REFRES_LOWRES_D /
REFRES_LOWRES_R_MEAS from the one over the reference range (it follows REFRES_RANGE=)."""
"""KEY= value lines of a rugnux _report.txt, plus the outer shells of its shell tables:
LOWRES_D / LOWRES_R_MEAS (the lowest-resolution shell) and HIGHRES_CC_HALF (the highest) from
the table over its own range, REFRES_LOWRES_D / REFRES_LOWRES_R_MEAS from the one over the
reference range (it follows REFRES_RANGE=)."""
out = {}
if not os.path.exists(path):
return out
header = None
header, first = None, False
for line in open(path, errors="replace"):
line = line.rstrip("\n")
m = REPORT_LINE.match(line)
@@ -36,19 +37,29 @@ def read_report(path):
continue
f = line.lstrip("#").split()
if f[:2] == ["d_min", "N_obs"]:
header = f
header, first = f, True
elif header and f and re.match(r"^\d+\.\d+$", f[0]):
# Three tables in report order: the run's own, the --report-resolution one, and the
# per-hand (FRIEDEL'S_LAW=FALSE) one, whose keys are written just above it.
prefix = ("ANOM_" if "ANOM_UNIQUE_REFLECTIONS" in out
else "REFRES_" if "REFRES_RANGE" in out else "")
out[prefix + "LOWRES_D"] = f[0]
r_meas = f[header.index("R_meas")].rstrip("%") # "3.7%", or "-" for none
out[prefix + "LOWRES_R_MEAS"] = "" if r_meas == "-" else str(round(float(r_meas) / 100, 4))
header = None # only the first row of each table
if first:
out[prefix + "LOWRES_D"] = f[0]
out[prefix + "LOWRES_R_MEAS"] = percent(f[header.index("R_meas")])
first = False
if not prefix: # every row of the own table; the last is the highest shell
out["HIGHRES_CC_HALF"] = percent(f[header.index("CC1/2")])
elif header and not first:
header = None # past the last row
return out
def percent(s):
"""A shell table's "3.7%" as "0.037", and "-" (none) as ""."""
s = s.rstrip("%")
return "" if s == "-" else str(round(float(s) / 100, 4))
# REFRES_* keys of the report read as numbers, stored lower-case under the same name
REFRES_KEYS = ("refres_shells_past_limit", "refres_unique_reflections", "refres_completeness",
"refres_multiplicity", "refres_i_over_sigma", "refres_r_meas", "refres_cc_half",
@@ -240,6 +251,8 @@ def judge(entry, rep, run_note):
refres_lowres_d=fnum(rep.get("REFRES_LOWRES_D")),
refres_lowres_r_meas=fnum(rep.get("REFRES_LOWRES_R_MEAS")),
lowres_d_ref=ref.get("dmin_low"), lowres_r_meas_ref=ref.get("r_meas_low"))
# CC1/2 of the highest-resolution shell: rugnux's own table and XDS's (reported, not scored)
r.update(cc_half_high=fnum(rep.get("HIGHRES_CC_HALF")), cc_half_high_ref=ref.get("cc_half_high"))
r["lowres_r_meas_ratio"] = (round(r["refres_lowres_r_meas"] / r["lowres_r_meas_ref"], 4)
if r["refres_lowres_r_meas"] and r["lowres_r_meas_ref"] else None)
r["cc_half_noise_ratio"] = cc_half_noise_ratio(r["refres_cc_half"], r["cc_half_ref"])