EXTERNAL_TEST_DATA.md gains a row per dataset in the existing form - deposited beamline, resolution, space group, cell and title from the RCSB API, source repository with its citable DOI, and the detector read out of the image files themselves. Every DOI was resolved before it was written down; one differs from the pattern the rest follow (5EPE is 10.18430/m3159c, not the m3<pdbid> form), which is the reason the page insists on resolving them rather than constructing them. Seven of the 51 name a detector in the PDB entry that the files contradict, now listed with the others. Two are not merely a model or size: one deposited as a "MAR CCD 165 mm" writes a 225 mm plate, and one deposited as a "RAYONIX MX300-HS" writes SMV with 315 mm geometry. marCCD and SMV headers name no model at all, so the Detector column carries what those headers do state - plate size, serial - and the page explains that. A new section gives the composition of the round: repository, file format as the files are on disk, facility and crystal system. It is metadata about the depositions, not measurement: no quantity measured by this software appears on the page, as the page's own preamble promises. The format spread is the point of the round, and is why Rugnux now reads marCCD, SMV and gzipped miniCBF natively. ACKNOWLEDGEMENT.md adds XRDa, the archive three of these came from, in the form the preceding documentation sweep settled on for a repository with no canonical citation paper: name, link and what it asks to be cited, and no substitute reference. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
398 lines
29 KiB
Markdown
398 lines
29 KiB
Markdown
# Acknowledgements
|
||
|
||
Citation: F. Leonarski, M. Bruckner, C. Lopez-Cuenca, A. Mozzanica, H.-C. Stadler, Z. Matej, A. Castellane, B. Mesnet, J. Wojdyla, B. Schmitt and M. Wang, "Jungfraujoch: hardware-accelerated data-acquisition system for kilohertz pixel-array X-ray detectors" (2023), J. Synchrotron Rad., 30, 227-234 [doi:10.1107/S1600577522010268](https://doi.org/10.1107/S1600577522010268).
|
||
|
||
## Funding and support
|
||
|
||
The project is supported by:
|
||
* Innosuisse via Innovation Project "NextGenDCU high data rate acquisition system for X-ray detectors in structural biology applications" (101.535.1 IP-ENG; Apr 2023 - Sep 2025).
|
||
* ETH Domain via Open Research Data Contribute project (Jan - Dec 2023).
|
||
* AMD University Program with donation of licenses of Ethernet IP cores and Vivado software.
|
||
|
||
## Crystallographic methods adopted from other packages
|
||
|
||
The analysis pipeline reimplements methods first published, and in most cases first implemented, by
|
||
other crystallographic software. The code below is Jungfraujoch's own; the methods are theirs, and
|
||
are acknowledged here. Where a package's source was consulted this is said explicitly. Most of these
|
||
packages are neither linked nor vendored; the three that are - GEMMI, traccc and
|
||
fast-feedback-indexer - also carry a licence obligation, recorded in
|
||
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
||
|
||
### Spot finding
|
||
|
||
**[CrystFEL](https://www.desy.de/~twhite/crystfel/)** — spot finding, the three-ring integration
|
||
region, the serial/stills processing model, and the per-frame indexing acceptance test
|
||
(`indexing_peak_check()` in `peaks.c`). T. A. White, R. A. Kirian, A. V. Martin, A. Aquila, K. Nass,
|
||
A. Barty and H. N. Chapman, "CrystFEL: a software suite for snapshot serial crystallography" (2012),
|
||
J. Appl. Cryst. 45, 335-341 [doi:10.1107/S0021889812002312](https://doi.org/10.1107/S0021889812002312).
|
||
The self-calibrating spot finder's per-resolution-ring background statistics, with the Bragg peaks
|
||
excluded by iterated clipping, follow Cheetah's peakfinder8: A. Barty, R. A. Kirian,
|
||
F. R. N. C. Maia, M. Hantke, C. H. Yoon, T. A. White and H. N. Chapman, "Cheetah: software for
|
||
high-throughput reduction and analysis of serial femtosecond X-ray diffraction data" (2014),
|
||
J. Appl. Cryst. 47, 1118-1131
|
||
[doi:10.1107/S1600576714007626](https://doi.org/10.1107/S1600576714007626).
|
||
|
||
Spot extraction groups strong pixels into spots with the sparse connected-component labelling of the
|
||
ACTS traccc project: P. Gessinger, H. M. Gray, A. Krasznahorkay, C. Leggett, J. Niermann,
|
||
A. Salzburger, S. N. Swatman and B. Yeo, "traccc: GPU track reconstruction library for HEP
|
||
experiments" (2025), [arXiv:2505.22822](https://arxiv.org/abs/2505.22822);
|
||
[traccc](https://github.com/acts-project/traccc). The CPU spot extractor adapts its SparseCCL source,
|
||
and the CUDA spot extractor follows the design of its GPU counterpart - a backward-neighbour graph
|
||
over a sorted hit list, resolved by a parallel union-find. traccc is MPL-2.0; see
|
||
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). The SparseCCL algorithm itself is A. Hennequin,
|
||
B. Couturier, V. V. Gligorov and L. Lacassagne, "SparseCCL: Connected Components Labeling and
|
||
Analysis for sparse images" (2019), DASIP 2019, 65-70
|
||
[doi:10.1109/DASIP48288.2019.9049184](https://doi.org/10.1109/DASIP48288.2019.9049184).
|
||
|
||
### Indexing
|
||
|
||
**[MOSFLM](https://www.mrc-lmb.cam.ac.uk/mosflm/)** — the Rossmann FFT autoindexing algorithm and
|
||
post-refinement practice, including which parameters are safe to refine per image and which must be
|
||
refined over a wedge. The autoindexing algorithm itself — projecting the reciprocal-space points
|
||
onto many directions and Fourier-transforming the 1D projection histograms — is I. Steller,
|
||
R. Bolotovsky and M. G. Rossmann, "An algorithm for automatic indexing of oscillation images using
|
||
Fourier analysis" (1997), J. Appl. Cryst. 30, 1036-1040
|
||
[doi:10.1107/S0021889897008777](https://doi.org/10.1107/S0021889897008777); MOSFLM is the
|
||
implementation whose practice is followed. A. G. W. Leslie and H. R. Powell, "Processing diffraction data with MOSFLM"
|
||
(2007), in *Evolving Methods for Macromolecular Crystallography*, NATO Science Series II, vol. 245,
|
||
41-51 [doi:10.1007/978-1-4020-6316-9_4](https://doi.org/10.1007/978-1-4020-6316-9_4);
|
||
T. G. G. Battye, L. Kontogiannis, O. Johnson, H. R. Powell and A. G. W. Leslie, "iMOSFLM: a new
|
||
graphical interface for diffraction-image processing with MOSFLM" (2011), Acta Cryst. D67, 271-281
|
||
[doi:10.1107/S0907444910048675](https://doi.org/10.1107/S0907444910048675); H. R. Powell,
|
||
T. G. G. Battye, L. Kontogiannis, O. Johnson and A. G. W. Leslie, "Integrating macromolecular X-ray
|
||
diffraction data with the graphical user interface iMosflm" (2017), Nat. Protoc. 12, 1310-1325
|
||
[doi:10.1038/nprot.2017.037](https://doi.org/10.1038/nprot.2017.037).
|
||
|
||
**[fast-feedback-indexer](https://github.com/paulscherrerinstitute/fast-feedback-indexer)** — the
|
||
known-cell indexer for serial stills (`-X ffbidx`) is PSI's fast-feedback-indexer library, linked at
|
||
build time (BSD-3-Clause; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)), which implements
|
||
the TORO algorithm: P. Gasparotto, L. Barba, H.-C. Stadler, G. Assmann, H. Mendonça, A. W. Ashton,
|
||
M. Janousch, F. Leonarski and B. Béjar, "TORO Indexer: a PyTorch-based indexing algorithm for
|
||
kilohertz serial crystallography" (2024), J. Appl. Cryst. 57, 931-944
|
||
[doi:10.1107/S1600576724003182](https://doi.org/10.1107/S1600576724003182).
|
||
|
||
### Cell reduction and lattice symmetry
|
||
|
||
**[GEMMI](https://github.com/project-gemmi/gemmi)** — symmetry operations, unit-cell and
|
||
structure-factor machinery, and MTZ / XDS_ASCII I/O. Vendored in `gemmi_gph/`, so it also carries a
|
||
licence obligation. M. Wojdyr, "GEMMI: A library for structural biology" (2022), J. Open Source
|
||
Softw. 7, 4200 [doi:10.21105/joss.04200](https://doi.org/10.21105/joss.04200).
|
||
|
||
**Křivý & Gruber's Niggli reduction, and the lattice-character table** — the reduction that puts
|
||
every candidate cell in a comparable form is I. Křivý and B. Gruber, "A unified algorithm for
|
||
determining the reduced (Niggli) cell" (1976), Acta Cryst. A32, 297-298
|
||
[doi:10.1107/S0567739476000636](https://doi.org/10.1107/S0567739476000636), used through GEMMI's
|
||
implementation; the table of lattice characters that maps a reduced cell to Bravais lattices and
|
||
centrings follows International Tables for Crystallography Vol. A, Table 9.2.5.1.
|
||
|
||
**Grosse-Kunstleve, Sauter & Adams's numerically stable cell reduction** - the magnitude-scaled
|
||
tolerance that decides the sign of a structurally-zero scalar product, and with it the Niggli type a
|
||
reduced cell is presented in. R. W. Grosse-Kunstleve, N. K. Sauter and P. D. Adams, "Numerically
|
||
stable algorithms for the computation of reduced unit cells" (2004), Acta Cryst. A60, 1-6
|
||
[doi:10.1107/S010876730302186X](https://doi.org/10.1107/S010876730302186X).
|
||
|
||
**Le Page's metric-symmetry search** - the obliquity of each of the 81 candidate two-folds of a
|
||
reduced cell, which is what tells a run that its lattice metric hosts more rotational symmetry than
|
||
the group its intensities supported, and the derivation of the conventional axes from that
|
||
rotation group, which is what the run then offers to the space-group search as a second lattice
|
||
candidate. The two-fold search is used through GEMMI's implementation of it. Y. Le Page, "The
|
||
derivation of the axes of the conventional unit cell from the dimensions of the Buerger-reduced
|
||
cell" (1982), J. Appl. Cryst. 15, 255-259
|
||
[doi:10.1107/S0021889882011959](https://doi.org/10.1107/S0021889882011959).
|
||
|
||
### Integration and rotation geometry
|
||
|
||
**[XDS](https://xds.mr.mpg.de/)** — rotation geometry and notation, the reciprocal Lorentz and
|
||
partiality treatment, the maximum-likelihood mosaicity estimate, the `MINPK` criterion for rejecting
|
||
a reflection whose predicted profile is not cleanly its own, the intensity-based test for a
|
||
centred lattice, the recognition of shaded detector regions by comparing a pixel's background
|
||
against the background at its own resolution (`DEFPIX`), and the scaling correction surfaces
|
||
indexed by image number and detector region. W. Kabsch, "XDS" (2010), Acta Cryst. D66, 125-132
|
||
[doi:10.1107/S0907444909047337](https://doi.org/10.1107/S0907444909047337); W. Kabsch, "Integration,
|
||
scaling, space-group assignment and post-refinement" (2010), Acta Cryst. D66, 133-144
|
||
[doi:10.1107/S0907444909047374](https://doi.org/10.1107/S0907444909047374).
|
||
|
||
**Profile fitting** with reweighted, de-biased variances is the Kabsch/Otwinowski iteration, from the
|
||
second XDS paper above and from Z. Otwinowski and W. Minor, "Processing of X-ray diffraction data
|
||
collected in oscillation mode" (1997), Methods Enzymol. 276, 307-326
|
||
[doi:10.1016/S0076-6879(97)76066-X](https://doi.org/10.1016/S0076-6879%2897%2976066-X).
|
||
|
||
**The two-dimensional integration architecture** — integrating each image in the detector plane
|
||
and only afterwards assembling a reflection's partials into a full across images, as against
|
||
three-dimensional profile fitting through the image stack — is the architecture of DENZO/SCALEPACK
|
||
and MOSFLM, and it is the one Rugnux's rotation pipeline follows (per-image profile-fitted
|
||
integration, then partials combined into fulls; §9 and §10.6 of the [data-analysis reference](CPU_DATA_ANALYSIS.md)). The
|
||
Otwinowski & Minor citation above and the MOSFLM citations below carry the credit for the paradigm
|
||
as well as for the specifics taken from each.
|
||
|
||
### Space group, twinning and pseudo-symmetry
|
||
|
||
**[POINTLESS](https://www.ccp4.ac.uk/)** (CCP4) — the space-group search. Stage A scores each
|
||
candidate rotation operator by the correlation of I(h) with I(Rh) on **resolution-normalised**
|
||
intensities (E²), as POINTLESS does — both arms of a symmetry pair sit at the same |s|, so on raw
|
||
intensities the resolution fall-off is variance shared between them and lifts a false operator's
|
||
correlation as much as a true one's; the screw-axis test scores a
|
||
predicted-absent class against the rest of its own axial row rather than against a global mean or a
|
||
fixed cut, and lets confidence fall away with the number of axial reflections instead of refusing
|
||
below a count; the glide-plane test is that same test applied to a zone, scoring the extinguished
|
||
class against the rest of its own plane, as POINTLESS scores zonal absences. P. Evans, "Scaling and assessment of data quality" (2006), Acta Cryst. D62, 72-82
|
||
[doi:10.1107/S0907444905036693](https://doi.org/10.1107/S0907444905036693); P. R. Evans, "An
|
||
introduction to data reduction: space-group determination, scaling and intensity statistics" (2011),
|
||
Acta Cryst. D67, 282-292 [doi:10.1107/S090744491003982X](https://doi.org/10.1107/S090744491003982X);
|
||
P. R. Evans and G. N. Murshudov, "How good are my data and what is the resolution?" (2013), Acta
|
||
Cryst. D69, 1204-1214 [doi:10.1107/S0907444913000061](https://doi.org/10.1107/S0907444913000061);
|
||
J. Agirre, M. Atanasova, H. Bagdonas et al., "The CCP4 suite: integrative software for macromolecular
|
||
crystallography" (2023), Acta Cryst. D79, 449-461
|
||
[doi:10.1107/S2059798323003595](https://doi.org/10.1107/S2059798323003595).
|
||
|
||
**The twinning L test** is Padilla and Yeates's: pairing each acentric reflection with a
|
||
symmetry-independent neighbour and reading the first and second moments of
|
||
L = (I1−I2)/(I1+I2) against their untwinned and perfect-twin values. J. E. Padilla and
|
||
T. O. Yeates, "A statistic for local intensity differences: robustness to anisotropy and
|
||
pseudo-centering and utility for detecting twinning" (2003), Acta Cryst. D59, 1124-1130
|
||
[doi:10.1107/S0907444903007947](https://doi.org/10.1107/S0907444903007947). Their title claims
|
||
robustness to pseudo-centering, and this program's partner steps deliver it: a step of 2 along an
|
||
axis preserves the class of a half-integer pseudo-translation, which is what a pseudo-centering is.
|
||
That robustness does not extend to a pseudo-translation which is not half-integer, and the partner
|
||
steps are restricted when one is detected - see the translational-pseudo-symmetry note below.
|
||
|
||
**Translational pseudo-symmetry** is detected from the native Patterson computed from the merged
|
||
intensities, and the interpretation of an off-origin peak as a pseudo-translation between copies of
|
||
the contents of the asymmetric unit - together with the modulation it puts on the intensities, which
|
||
is the second half of the test here - is Read, Adams and McCoy's. Their fitted peak-height table is
|
||
not used: the peak is scored against a per-dataset within-shell permutation null instead, because the
|
||
noise floor of the statistic depends strongly on how many reflections a dataset has. The same
|
||
modulation is what the axial systematic-absence test scores against, so that a reflection class a
|
||
pseudo-translation merely suppresses is not read as extinct and does not buy a screw axis; the
|
||
estimate of its depth there is our own, measured per axial row from the merged intensities rather
|
||
than from the Patterson vector. R. J. Read,
|
||
P. D. Adams and A. J. McCoy, "Intensity statistics in the presence of translational
|
||
noncrystallographic symmetry" (2013), Acta Cryst. D69, 176-183
|
||
[doi:10.1107/S0907444912045374](https://doi.org/10.1107/S0907444912045374).
|
||
|
||
### Scaling, merging and data quality
|
||
|
||
**[DIALS](https://dials.github.io/)** — the resolution cutoff from the CC1/2 fall-off, per-observation
|
||
outlier rejection at merge, the scaling error model, and the treatment of a reflection whose
|
||
background is contaminated. Its published behaviour, and in places its source, settled several
|
||
choices here. G. Winter, D. G. Waterman, J. M. Parkhurst et al., "DIALS: implementation and
|
||
evaluation of a new integration package" (2018), Acta Cryst. D74, 85-97
|
||
[doi:10.1107/S2059798317017235](https://doi.org/10.1107/S2059798317017235); D. G. Waterman,
|
||
G. Winter, R. J. Gildea et al., "Diffraction-geometry refinement in the DIALS framework" (2016),
|
||
Acta Cryst. D72, 558-575 [doi:10.1107/S2059798316002187](https://doi.org/10.1107/S2059798316002187);
|
||
J. Beilsten-Edmands, G. Winter, R. Gildea et al., "Scaling diffraction data in the DIALS software
|
||
package: algorithms and new approaches for multi-crystal scaling" (2020), Acta Cryst. D76, 385-399
|
||
[doi:10.1107/S2059798320003198](https://doi.org/10.1107/S2059798320003198); J. M. Parkhurst,
|
||
G. Winter, D. G. Waterman et al., "Robust background modelling in DIALS" (2016), J. Appl. Cryst. 49,
|
||
1912-1921 [doi:10.1107/S1600576716013595](https://doi.org/10.1107/S1600576716013595).
|
||
|
||
**Diffraction anisotropy** — the description of the overall fall-off by a single anisotropic
|
||
displacement tensor, its symmetry constraints, and the fact that only its deviatoric part is
|
||
determined (the isotropic part being degenerate with the overall scale) are Sheriff and Hendrickson's.
|
||
The estimator fits that tensor to the observed intensity distribution, taking sigma(I) into account,
|
||
in the sense of Popov and Bourenkov. The directional diffraction limits - <I/sigma(I)> in a cone about
|
||
each principal direction, and the reporting of the anisotropic deltaB as the range of the principal
|
||
components - follow AIMLESS. Rugnux reports these; it corrects no intensity and removes no reflection
|
||
on a directional criterion. S. Sheriff and W. A. Hendrickson, "Description of overall anisotropy in
|
||
diffraction from macromolecular crystals" (1987), Acta Cryst. A43, 118-121
|
||
[doi:10.1107/S010876738709977X](https://doi.org/10.1107/S010876738709977X); A. N. Popov and
|
||
G. P. Bourenkov, "Choice of data-collection parameters based on statistic modelling" (2003), Acta
|
||
Cryst. D59, 1145-1153 [doi:10.1107/S0907444903008163](https://doi.org/10.1107/S0907444903008163);
|
||
P. R. Evans and G. N. Murshudov, "How good are my data and what is the resolution?" (2013), Acta
|
||
Cryst. D69, 1204-1214 [doi:10.1107/S0907444913000061](https://doi.org/10.1107/S0907444913000061).
|
||
|
||
**Data-quality statistics** follow the established conventions rather than any one program: R_meas
|
||
and R_pim, CC1/2 and CC\*, the per-shell CC(model, data) between F^2_calc and F^2_obs, and the
|
||
reporting of I/sigma(I). K. Diederichs and P. A. Karplus, "Improved
|
||
R-factors for diffraction data analysis in macromolecular crystallography" (1997), Nat. Struct. Biol.
|
||
4, 269-275 [doi:10.1038/nsb0497-269](https://doi.org/10.1038/nsb0497-269); P. A. Karplus and
|
||
K. Diederichs, "Linking crystallographic model and data quality" (2012), Science 336, 1030-1033
|
||
[doi:10.1126/science.1218231](https://doi.org/10.1126/science.1218231); K. Diederichs and
|
||
P. A. Karplus, "Better models by discarding data?" (2013), Acta Cryst. D69, 1215-1222
|
||
[doi:10.1107/S0907444913001121](https://doi.org/10.1107/S0907444913001121).
|
||
|
||
**The frame disposition** - which stretches of a rotation sweep are kept, carried at reduced weight or
|
||
dropped from the merge - decides every exclusion on delta-CC1/2, the change in the overall CC1/2 when a
|
||
group of images is left out, measured in the sigma-tau form so that no random half-dataset split is
|
||
involved. The statistic, the Fisher transformation used to compare it across CC1/2 values, its standard
|
||
error going as the inverse square root of the reflection count, and the rejection discipline (never
|
||
remove a group whose delta-CC1/2 is positive or near zero; remove a little, re-form the reference and
|
||
repeat) are all taken from its authors, whose XDSCC12 is the reference implementation.
|
||
G. Assmann, W. Brehm and K. Diederichs, "Identification of rogue datasets in serial crystallography"
|
||
(2016), J. Appl. Cryst. 49, 1021-1028
|
||
[doi:10.1107/S1600576716005471](https://doi.org/10.1107/S1600576716005471); G. M. Assmann, M. Wang and
|
||
K. Diederichs, "Making a difference in multi-data-set crystallography: simple and deterministic
|
||
data-scaling/selection methods" (2020), Acta Cryst. D76, 636-652
|
||
[doi:10.1107/S2059798320006348](https://doi.org/10.1107/S2059798320006348). That the same statistic
|
||
belongs at scaling, applied to groups of images rather than to whole datasets, follows
|
||
[DIALS](https://dials.github.io/) (`dials.scale`, delta-CC1/2 image-group filtering):
|
||
J. Beilsten-Edmands, G. Winter, R. Gildea et al., "Scaling diffraction data in the DIALS software
|
||
package: algorithms and new approaches for multi-crystal scaling" (2020), Acta Cryst. D76, 385-399
|
||
[doi:10.1107/S2059798320003198](https://doi.org/10.1107/S2059798320003198).
|
||
|
||
**Uncertainty conventions** follow the IUCr Commission on Crystallographic Nomenclature:
|
||
D. Schwarzenbach, S. C. Abrahams, H. D. Flack et al., "Statistical descriptors in crystallography:
|
||
Report of the IUCr Subcommittee on Statistical Descriptors" (1989), Acta Cryst. A45, 63-75
|
||
[doi:10.1107/S0108767388009596](https://doi.org/10.1107/S0108767388009596); D. Schwarzenbach,
|
||
S. C. Abrahams, H. D. Flack, E. Prince and A. J. C. Wilson, "Statistical descriptors in
|
||
crystallography. II. Report of a Working Group on Expression of Uncertainty in Measurement" (1995),
|
||
Acta Cryst. A51, 565-569 [doi:10.1107/S0108767395002340](https://doi.org/10.1107/S0108767395002340).
|
||
|
||
### Physical corrections and calibration
|
||
|
||
**Sensor absorption at oblique incidence, and the flight path** — the angle-dependent quantum
|
||
efficiency of a flat sensor, the radial parallax variance that comes from the same integral, and the
|
||
attenuation of a reflection in the air between the sample and its pixel are all the Beer-Lambert law
|
||
taken along a ray that crosses t/cos(alpha) of sensor, or D/cos(alpha) of air, and converts at a
|
||
random depth. The attenuation coefficients, for silicon, CdTe, dry air and helium alike, are the
|
||
NIST tabulation: J. H. Hubbell and S. M. Seltzer, "Tables of X-Ray
|
||
Mass Attenuation Coefficients and Mass Energy-Absorption Coefficients from 1 keV to 20 MeV for
|
||
Elements Z = 1 to 92 and 48 Additional Substances of Dosimetric Interest" (1995, data updated 2004),
|
||
NIST Standard Reference Database 126
|
||
[doi:10.18434/T4D01F](https://doi.org/10.18434/T4D01F).
|
||
|
||
**Polarization correction** — the azimuthal polarization factor applied to the azimuthally
|
||
integrated profile, to the integrated Bragg intensities and to the ring background the beam-stop
|
||
shadow test compares a pixel against is the one derived for a partially polarized
|
||
synchrotron source by R. Kahn, R. Fourme, A. Gadet, J. Janin, C. Dumas and D. Andre, "Macromolecular
|
||
crystallography with synchrotron radiation: photographic data collection and polarization
|
||
correction" (1982), J. Appl. Cryst. 15, 330-337
|
||
[doi:10.1107/S0021889882012060](https://doi.org/10.1107/S0021889882012060).
|
||
|
||
**Hexagonal-ice ring positions** — the eleven ring $d$ spacings from 3.895 to 1.522 Å that the
|
||
ice-ring score, the ice-ring flagging and the ice calibrant are all built on are taken from the
|
||
measurements of Moreau and co-workers, not enumerated from a cell. D. W. Moreau, H. Atakisi and R. E. Thorne, "Ice in
|
||
biomolecular cryocrystallography" (2021), Acta Cryst. D77, 540-554
|
||
[doi:10.1107/S2059798321001170](https://doi.org/10.1107/S2059798321001170).
|
||
|
||
That list ends at 1.522 Å by its own scope, so the eight bands below it are calculated here rather
|
||
than taken from anyone: ice Ih structure factors on the oxygen sublattice, kept where they reach 3% of
|
||
the strongest line, which reproduces the eleven measured positions exactly. The lattice constants are
|
||
Röttger and co-workers'. K. Röttger, A. Endriss, J. Ihringer, S. Doyle and W. F. Kuhs, "Lattice
|
||
constants and thermal expansion of H2O and D2O ice Ih between 10 and 265 K" (1994), Acta Cryst. B50,
|
||
644-648 [doi:10.1107/S0108768194004933](https://doi.org/10.1107/S0108768194004933).
|
||
|
||
### Model-based analysis and maps
|
||
|
||
**Bulk-solvent correction and overall scaling** — the model's structure factors are put on the
|
||
observed scale with an overall factor, an anisotropic B and a flat bulk-solvent term, the flat-mask
|
||
model of A. Fokine and A. Urzhumtsev, "Flat bulk-solvent model: obtaining optimal parameters"
|
||
(2002), Acta Cryst. D58, 1387-1392
|
||
[doi:10.1107/S0907444902010284](https://doi.org/10.1107/S0907444902010284), which is also the source
|
||
of the starting values and of the range those two parameters are physically meaningful over. The
|
||
procedure that fits them — a grid search over that range for the solvent pair, with the overall
|
||
scale and the anisotropic B refitted at every grid point — follows P. V. Afonine,
|
||
R. W. Grosse-Kunstleve and P. D. Adams, "A robust bulk-solvent correction and anisotropic scaling
|
||
procedure" (2005), Acta Cryst. D61, 850-855
|
||
[doi:10.1107/S0907444905007894](https://doi.org/10.1107/S0907444905007894). The fit is unweighted,
|
||
as in both that procedure and REFMAC5: G. N. Murshudov, P. Skubak, A. A. Lebedev, N. S. Pannu,
|
||
R. A. Steiner, R. A. Nicholls, M. D. Winn, F. Long and A. A. Vagin, "REFMAC5 for the refinement of
|
||
macromolecular crystal structures" (2011), Acta Cryst. D67, 355-367
|
||
[doi:10.1107/S0907444911001314](https://doi.org/10.1107/S0907444911001314).
|
||
|
||
**sigma_A map coefficients** — the maps written by `--model` are weighted by a maximum-likelihood
|
||
sigma_A estimated per resolution shell, giving 2mFo-DFc and mFo-DFc rather than 2Fo-Fc and Fo-Fc.
|
||
What is taken is the formalism itself: the Rice and Woolfson likelihoods of |Fo| given |Fc| and
|
||
sigma_A, the figure of merit m and the scale D that follow from it, and the result that the
|
||
bias-corrected coefficient is 2mFo-DFc for an acentric reflection and mFo for a centric one.
|
||
R. J. Read, "Improved Fourier coefficients for maps using phases from partial structures with
|
||
errors" (1986), Acta Cryst. A42, 140-149
|
||
[doi:10.1107/S0108767386099622](https://doi.org/10.1107/S0108767386099622).
|
||
|
||
**[ANODE](https://doi.org/10.1107/S0021889811041768)** — reading the anomalous difference map at the
|
||
atoms of a supplied model and reporting the strongest sites by name, instead of searching the map for
|
||
blobs. The map itself is the textbook anomalous difference Fourier; what is taken from ANODE is that
|
||
reading: A. Thorn and G. M. Sheldrick, "ANODE: anomalous and heavy-atom density calculation" (2011),
|
||
J. Appl. Cryst. 44, 1285-1287
|
||
[doi:10.1107/S0021889811041768](https://doi.org/10.1107/S0021889811041768).
|
||
|
||
**Uniform random rotations** — the null a supplied model is scored against re-orients that model at
|
||
random about its own centroid, and the rotations are drawn uniformly from SO(3) through a uniform
|
||
random unit quaternion. K. Shoemake, "Uniform Random Rotations", in *Graphics Gems III*, ed. D. Kirk,
|
||
Academic Press (1992), 124-132 (no DOI).
|
||
|
||
## Software and computing methods
|
||
|
||
Decoding bitshuffle+LZ4 images on the GPU, rather than decompressing them on the host and uploading
|
||
the result, follows Jon Wright (ESRF): "Experiences with GPU decompression for bitshuffle + LZ4
|
||
data", HDF5 User Group meeting (2021), and [bslz4decoders](https://github.com/jonwright/bslz4decoders).
|
||
The CUDA kernels in Jungfraujoch are its own, but the approach is his.
|
||
|
||
This software uses the Viridis, Magma and Inferno colormaps from Matplotlib under its
|
||
BSD-compatible license. J. D. Hunter, "Matplotlib: A 2D graphics environment" (2007), Comput. Sci.
|
||
Eng. 9, 90-95 [doi:10.1109/MCSE.2007.55](https://doi.org/10.1109/MCSE.2007.55).
|
||
|
||
## File formats read from a published specification
|
||
|
||
**CBF / imgCIF** - the native miniCBF reader implements the `x-CBF_BYTE_OFFSET` compression scheme
|
||
and reads the imgCIF `_axis` table (the laboratory directions of the image's fast and slow pixel
|
||
directions, of the goniometer axes and of a 2theta arm) from the specification alone; no CBFlib or
|
||
other CBF code is used, so there is no licence obligation, only this credit.
|
||
H. J. Bernstein and A. P. Hammersley, "Specification of the Crystallographic Binary File
|
||
(CBF/imgCIF)" (2006), International Tables for Crystallography Vol. G, 37-43
|
||
[doi:10.1107/97809553602060000729](https://doi.org/10.1107/97809553602060000729);
|
||
A. P. Hammersley, H. J. Bernstein and J. D. Westbrook, "Image dictionary (imgCIF)" (2006),
|
||
International Tables for Crystallography Vol. G, 444-458
|
||
[doi:10.1107/97809553602060000746](https://doi.org/10.1107/97809553602060000746).
|
||
|
||
## Public diffraction data used for testing
|
||
|
||
In addition to in-house datasets collected at SLS 2.0, Jungfraujoch is tested against public
|
||
diffraction data collected on other people's beamlines, on detectors and in file formats we do not
|
||
produce ourselves - most of it at other facilities, a few sets at the Swiss Light Source but not by
|
||
this system. That data was collected and published by other people. Every dataset used, the DOI to
|
||
cite for it, and the deposition it belongs to are listed in
|
||
[EXTERNAL_TEST_DATA](EXTERNAL_TEST_DATA.md); we thank the depositors, and the repositories that make
|
||
the data findable and citable.
|
||
|
||
**[IRRMC](https://proteindiffraction.org/)**, the Integrated Resource for Reproducibility in
|
||
Macromolecular Crystallography (Minor lab, University of Virginia), is the source of most of them.
|
||
IRRMC releases its data under CC0 and asks that the DOI of the dataset be
|
||
cited. M. Grabowski, K. M. Langner, M. Cymborowski, P. J. Porebski, P. Sroka, H. Zheng,
|
||
D. R. Cooper, M. D. Zimmerman, M.-A. Elsliger, S. K. Burley and W. Minor, "A public database of
|
||
macromolecular diffraction experiments" (2016), Acta Cryst. D72, 1181-1193
|
||
[doi:10.1107/S2059798316014716](https://doi.org/10.1107/S2059798316014716); M. Grabowski,
|
||
M. Cymborowski, P. J. Porebski, T. Osinski, I. G. Shabalin, D. R. Cooper and W. Minor, "The
|
||
Integrated Resource for Reproducibility in Macromolecular Crystallography: Experiences of the first
|
||
four years" (2019), Struct. Dyn. 6, 064301
|
||
[doi:10.1063/1.5128672](https://doi.org/10.1063/1.5128672).
|
||
|
||
**[SBGrid Data Bank](https://data.sbgrid.org/)**, the structural biology community's data
|
||
publication service (SBGrid Consortium, Harvard Medical School). P. A. Meyer,
|
||
S. Socias, J. Key, E. Ransey, E. C. Tjon, A. Buschiazzo et al., "Data publication with the
|
||
structural biology data grid supports live analysis" (2016), Nat. Commun. 7, 10882
|
||
[doi:10.1038/ncomms10882](https://doi.org/10.1038/ncomms10882).
|
||
|
||
**[Zenodo](https://zenodo.org/)**, CERN's open repository, hosts datasets deposited there directly
|
||
by the groups that collected them. European Organization for Nuclear Research and OpenAIRE,
|
||
"Zenodo" (2013), CERN [doi:10.25495/7GXK-RD71](https://doi.org/10.25495/7GXK-RD71). Some of those
|
||
deposits are described in IUCrData Raw Data Letters; the letters are cited on the
|
||
[EXTERNAL_TEST_DATA](EXTERNAL_TEST_DATA.md) page, beside the datasets they describe.
|
||
|
||
**[MXRDR](https://mxrdr.icm.edu.pl/)**, the Macromolecular Xtallography Raw Data Repository
|
||
(ICM, University of Warsaw), releases its data under CC0 and asks that the DOI of the dataset be
|
||
cited.
|
||
|
||
**[XRDa](https://xrda.pdbj.org/)**, the Xtal Raw Data Archive (Protein Data Bank Japan), which
|
||
publishes raw diffraction images - X-ray, electron and neutron - and mints a DOI for each; it asks
|
||
that the DOI of the dataset be cited. It has no canonical citation paper.
|
||
|
||
**The [ESRF data portal](https://data.esrf.fr/)**, through which the European Synchrotron
|
||
publishes raw data under its data policy (CC BY 4.0, with the dataset DOI to be cited).
|
||
R. Dimper, A. Götz, A. De Maria, V. A. Solé, M. Chaillet and B. Lebayle, "ESRF Data Policy,
|
||
Storage, and Services" (2019), Synchrotron Rad. News 32, 7-12
|
||
[doi:10.1080/08940886.2019.1608119](https://doi.org/10.1080/08940886.2019.1608119).
|
||
|
||
The beamline, resolution, space group and unit cell quoted for each dataset are the values
|
||
deposited with the corresponding PDB entry, read from the RCSB PDB data API. H. M. Berman,
|
||
J. Westbrook, Z. Feng, G. Gilliland, T. N. Bhat, H. Weissig, I. N. Shindyalov and P. E. Bourne,
|
||
"The Protein Data Bank" (2000), Nucleic Acids Res. 28, 235-242
|
||
[doi:10.1093/nar/28.1.235](https://doi.org/10.1093/nar/28.1.235).
|
||
|
||
## Generative AI usage declaration
|
||
|
||
Large language models were used extensively in developing this code. Jungfraujoch development was
|
||
supported with JetBrains AI (mostly GPT models) to refactor and verify particular code fragments.
|
||
Rugnux was developed with the assistance of Claude Code (mostly the Opus model). This documentation
|
||
was written with the assistance of Claude Opus and Fable models.
|