diff --git a/tools/battery/README.md b/tools/battery/README.md index 41ce6f2b7..9e4af6be0 100644 --- a/tools/battery/README.md +++ b/tools/battery/README.md @@ -23,7 +23,7 @@ data): `cd tools/battery && python3 doc_check.py`. | arm | datasets | reference | manifest | |---|---|---|---| | **open** | public PDB depositions of raw diffraction data, plus a few published small-molecule sets | the deposited space group, cell and resolution | `open.json` (committed) | -| **inhouse** | standard test crystals measured at the SLS (lysozyme, thaumatin, insulin, cytochrome C, myoglobin), small-molecule standards (aspirin, citric acid, HEPES, YAG, KDP, L-cystine, L-ascorbic acid), plus no-crystal controls | XDS, from the `CORRECT.LP` beside each dataset (the standard proteins also carry a reference model for R-free, reported only: `--model` below); for the small molecules the space group is the literature's (`ref_override`), as XDS reports only Sohncke groups; L-cystine, which XDS does not index, has only the literature reference | `inhouse.json` (committed) | +| **inhouse** | standard test crystals measured at the SLS (lysozyme, thaumatin, insulin, cytochrome C, myoglobin), small-molecule standards (aspirin, citric acid, HEPES, YAG, KDP, L-cystine, L-ascorbic acid, NaCl), plus no-crystal controls | XDS, from the `CORRECT.LP` beside each dataset (the standard proteins also carry a reference model for R-free, reported only: `--model` below); for the small molecules the space group is the literature's (`ref_override`), as XDS reports only Sohncke groups; L-cystine, which XDS does not index, has only the literature reference | `inhouse.json` (committed) | | **private** | user data | XDS, like inhouse | outside the repository; the local site config gives its path | | **refine** | public PDB depositions whose structure factors and coordinates go through refinement only, nothing processed | none: a set passes when the refinement ran; the R-factors and the solvent audit are reported | `refine.json` (committed) | | **multisweep** | several sweeps merged as one - small wedges of several crystals, several sweeps of one crystal (swung detector, kappa runs, repeated sweeps), small molecules - plus must-not-merge controls; opt-in, never part of a default run | the base row's: each row names an open or in-house row (`base`), whose reference scores the merge as that arm scores it, plus which sweeps joined (`sweeps_expect`, below) | `multisweep.json` (committed) | @@ -259,7 +259,7 @@ B=tools/battery/battery.py R=build/rugnux/rugnux $B run --rugnux $R # full battery: open + inhouse -$B run --rugnux $R --tier smoke # 21 sets covering readers, symmetry, known hard cases +$B run --rugnux $R --tier smoke # 22 sets covering readers, symmetry, known hard cases $B run --rugnux $R --tier ci # 29 sets every recent release passed (CI, below), plus the wrong-model null $B nullmodel --rugnux $R # the wrong-model null on its own (CI's second step) $B run --rugnux $R --only 5reo,lyso_ref # named sets diff --git a/tools/battery/doc_check.py b/tools/battery/doc_check.py index c6bea7c2c..dcc8989c8 100644 --- a/tools/battery/doc_check.py +++ b/tools/battery/doc_check.py @@ -30,7 +30,8 @@ DOCS = os.path.join(HERE, "..", "..", "docs") INHOUSE = {"lyso": "lysozyme", "lysoI": "lysozyme", "thau": "thaumatin", "insu": "insulin", "cytc": "cytochrome C", "myob": "myoglobin", "nothing": "no-crystal controls", "aspirin": "aspirin", "citricacid": "citric acid", "hepes": "HEPES", "yag": "YAG", - "kdp": "KDP", "lcystine": "L-cystine", "lascorbate": "L-ascorbic acid"} + "kdp": "KDP", "lcystine": "L-cystine", "lascorbate": "L-ascorbic acid", + "nacl": "NaCl"} errors = [] diff --git a/tools/battery/inhouse.json b/tools/battery/inhouse.json index 01d6677a5..279c67493 100644 --- a/tools/battery/inhouse.json +++ b/tools/battery/inhouse.json @@ -45,6 +45,7 @@ {"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)", "tiers": {"ci": "small molecule, tetragonal I-42d; I41md has the same absences"}}, + {"id": "nacl_x10sa_20keV", "input": "salt_x10sa/SaltPL_002_master.h5", "wavelength": 0.61993, "cod": "2108652", "tags": ["h5", "cubic", "small-molecule"], "ref": {"sgno": 209, "cell": [5.608, 5.608, 5.608, 90.0, 90.0, 90.0], "anomalous": false, "isa": 2.49, "completeness": 100.0, "r_meas": 0.379, "cc_half": 0.97, "multiplicity": 27.5, "dmin_low": 1.93, "r_meas_low": 0.339, "cc_half_high": 0.995, "dmin": 0.78, "dmin_rule": "xds_range", "dmin_xds": 0.78, "dmax": 50.0}, "ref_override": {"sg": "F m -3 m", "sgno": 225}, "ref_override_why": "rock salt (halite, NaCl), F m -3 m; COD 2108652 (a 5.6035, R 0.015) - V. Tsirelson, A. Stash, Acta Cryst. B76 (2020) 769-778, doi:10.1107/S2052520620009178. XDS reports only Sohncke groups (F 4 3 2); XDS indexed only its 150 strongest spots, given that group and the cell (several grains 5-10 deg apart; README_XDS beside the data)", "tiers": {"smoke": "known hard: tiny cubic F cell (rock salt), several grains, 99% of spots on powder rings; rc184 named the lattice tI and merged in I422"}}, {"id": "lascorbate", "input": "lascorbate/lascorbate_1_a39733_master.h5", "wavelength": 0.49594, "tags": ["h5", "orthorhombic", "small-molecule"], "ref": {"sgno": 19, "cell": [4.439, 8.496, 18.921, 90.0, 90.0, 90.0], "anomalous": false, "isa": 17.97, "completeness": 39.6, "r_meas": 0.039, "cc_half": 0.999, "multiplicity": 8.82, "dmin_low": 1.66, "r_meas_low": 0.037, "cc_half_high": 0.996, "dmin": 0.56, "dmin_rule": "xds_range", "dmin_xds": 0.56, "dmax": 50.0}}, {"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"}