Pre-clustering data sets using cluster4x improves the signal-to-noise ratio of high-throughput crystallography drug-screening analysis

Separating multi-data sets based on Cα differences can help to identify additional hits for drug- and fragment-screening crystallography experiments, expanding the range of crystal systems to which this technique can be applied. This is made available in a graphical user interface.


Introduction
Potential ligands are either soaked into pre-formed crystals or co-crystallized with their targets for X-ray diffraction data collection in drug-and fragment-screening experiments, which have been developed on several beamlines, such as XChem, developed by Diamond Light Source in collaboration with the Structural Genomics Consortium (Whitman, 2018), and the pipeline at the BESSY MX beamlines (Schiebel et al., 2016;Wollenhaupt et al., 2020). Recent advances in detectors, robotics and beam optics (Grimes et al., 2018) have helped to fully realize the potential of the concept of fragment screening (Blundell et al., 2002), and more beamlines are expected to specialize in high-throughput screening over the next few years (Fö rster & Schulze-Briese, 2019).
Modern screens produce a number of related individual data sets, known as multi-data sets, each of which must undergo data reduction and model refinement. These multidata sets commonly have hundreds or thousands of individual members. Multi-data-set methods extract information from the plurality of data sets to inform analysis of the individual data sets. For example, one such method performs a statistical characterization to enable comparison across all collected data sets, thereby allowing the identification of a signal over background noise in electron-density maps (a hit). This method is implemented in the software package PanDDA (Pearce et al., 2016). This software overcomes significant drawbacks in 2mF o À F c and F o À F c maps, where phase and overfitting biases can completely wash out any electron density associated with a hit. In these situations the ligand can often be clearly identified by PanDDA. PanDDA calculates the mean and standard deviation on a per-voxel basis across a multi-data set (the statistical characterization step) and produces event maps where voxel values are expressed in terms of standard deviations from the mean (the Z-map and event-map calculation step). Peaks which register above a certain Z-value are expanded by connecting them to neighbouring voxels above a minimum Z-value. Those which pass a minimum size threshold become potential hits for manual inspection. PanDDA has been effective in enabling ligand identification in a range of crystallographic screens (Keedy et al., 2018;Glö ckner et al., 2020;Douangamath et al., 2020).
Although PanDDA includes some realignment of maps according to C -position variations, broad structural differences caused by crystal heterogeneity will diminish the signalto-noise ratio by widening the distributions of individual voxels. To sidestep this problem, the focus is currently on obtaining a good crystal system in the first place rather than exploiting downstream processing methods, which has been described as the bottleneck (Collins et al., 2018). This paper shows that providing PanDDA with pre-clustered data sets, where these variations are minimized within the sets, can enhance the power of the PanDDA method.
Choosing the members of each cluster is a similar problem to ensuring that data from multiple crystals are only merged if they are relatively isomorphous, which has also been tackled using hierarchical clustering (Giordano et al., 2012). Another hierarchical method for grouping the most similar data sets has been developed in the computer program BLEND (Foadi et al., 2013).
The most related method to that used in cluster4x is the XSCALE_ISOCLUSTER module in XDS (Diederichs, 2017). This is based on the correlation between absolute intensities in reciprocal space, and therefore gives an indication of the relative closeness of data sets, as well as the identification of clusters, based on a previous algorithm for ensuring uniformity of indexing choice for X-ray free-electron data snapshot images for space groups with an indexing ambiguity (Brehm & Diederichs, 2014). The Brehm and Diederichs algorithm introduced the concept of using an N-dimensional vector to represent each data set. The angle between two of these vectors, after clustering, has an inherent meaning: two data sets with a correlation coefficient of zero between them would have vectors at right angles with respect to the origin, and two data sets with a correlation coefficient of one would have a corresponding angle of zero degrees. However, variations which are small enough to fall within the level of the noise, but which may still have an impact on multi-data-set analyses, may go unnoticed, making it difficult to distinguish clusters by eye. The underlying methods for the clustering analysis presented in cluster4x rely on correlation between differences in reflection amplitudes or model C positions, rather than their absolute values, and therefore the ability to identify subtle clusters by eye is enhanced, at the expense of highlighting the magnitude of the differences between them.
Another modification of the underlying original algorithm for breaking indexing ambiguities (Brehm & Diederichs, 2014) is implemented in dials.cosym (Gildea & Winter, 2018), not only to break the ambiguity, but also to identifiy the indexing ambiguity itself by the inclusion of all potential symmetry operations leading to merohedral twinning in a given lattice type. The lack of prior assumptions about the lattice symmetry makes this particularly suited to automatic processing pipelines.
For the cluster4x clustering methods reported in this paper, although the detection and breaking of indexing ambiguities is possible, the focus is on identifying subtle variations that are found within a consistent indexing choice and do not necessarily have boundaries that are as clear-cut. The choice of clustering is manual and is powered through a graphical user interface (GUI), but is not a time-consuming or labourintensive process, and provides plenty of opportunity for researchers to become acquainted with the peculiarities of their sets of crystals. Clustering using this method does not have to be limited to drug or fragment screens, but could be applied to the partitioning or verification of induced crystal changes for a wide range of additional variables.

Generating average sets
Average data sets were generated from either reciprocalspace reflection amplitudes or real-space C -atom positions. A default but alterable resolution cutoff of 3.5 Å removes reflections beyond this limit from the analysis. This default was chosen to balance the speed and quality of clustering results. If multiple conformations of one C atom are present, only the first C conformer is used. Each multi-data set has N data sets. Each data set n has I reflections with amplitudes F i,n . For every reflection i, N n amplitudes have been recorded and N À N n amplitudes are missing from the data set. An average data set is generated, comprising N reflections, each of which with an amplitude F i , where Each data set has an associated model with J C atoms with 3D coordinate vectors c j,n in real space. J n atoms in data set n have been modelled for every C atom j, and J À J n atoms remain unmodelled. Similarly, an average model is generated with J C atoms, each of which with a coordinate vector c j , where research papers As one may not want to guarantee that all of the entered data sets will be of the same space group, this is not restricted to any asymmetric unit.

Scaling data sets
A scaling step is carried out on each individual data set to remove the effect of any global isotropic B factors on downstream comparisons. Reciprocal space is divided into 20 equal volume bins, with concentrically spherical boundaries centred on the origin, and the diameter of the final bin equal to the d* value of the furthest recorded reflection amplitude (in Å À1 ). Each bin has a list of B reflection indices, b 1 , b 2 , . . . , b B , which point to a subset of all I reflections. For every data set, each bin only has B n recorded reflections, and B À B n unrecorded reflections. For each data set n and for every bin (not enumerated), a scale factor k is derived. Each amplitude F i,n in this bin is then multiplied by k,

Pairwise correlation coefficients
Correlation coefficients are calculated between series of values associated with data sets m and n, which are used in downstream analysis. For comparison in reciprocal space, spanning only amplitudes F i,m and F i,n recorded in both data sets, the series of values are V m ¼ fv 1 ; v 2 ; . . . ; v m g ¼ fF 1;m À F 1 ; F 2;m À F 2 ; . . . ; F i;m À F i g; For comparison of C positions, spanning only vectors c j,n and c j,m modelled in both atomic models, . . . ; v m g ¼ fx 1;m À x 1 ; y 1;m À y 1 ; z 1;m À z 1 ; x 2;m À x 2 ; y 2;m À y 2 ; z 2;m À z 2 ; . . . ; x j;m À x j ; y j;m À y j ; z j;m À z j g; V n ¼ fv 1 ; v 2 ; . . . ; v n g ¼ fx 1;n À x 1 ; y 1;n À y 1 ; z 1;n À z 1 ; x 2;n À x 2 ; y 2;n À y 2 ; z 2;n À z 2 ; . . . ; x j;n À x j ; y j;n À y j ; z j;n À z j g; where c j;n ¼ x j;n y j;n z j;n 0 @ 1 A and c j ¼ A Pearson correlation coefficient a m,n was calculated between values series v m and v n , and bounded to a value between 0 and 1.

Clustering analysis
A matrix M was prepared with N Â N rows and columns. Each element M n m where m 6 ¼ n was set equal to a n m ; where m = n, M n m was set to zero. Singular value decomposition (SVD) was then performed on this matrix, where U and V are orthogonal, and W is a diagonal matrix with positive or zero elements. In the GUI, the researcher is presented with the N values of the W diagonal entries. The researcher is allowed to choose the three axes to display from a choice of W axis values; those with larger values encompass more of the variation seen in the data. If entries n 1 , n 2 and n 3 are picked, a submatrix S formed of N Â 3 rows and columns is formed, A three-dimensional plot is populated with N vectors, each of which has elements equal to each row of S. Each of these vectors represents the association of a single data set with the three selected clusters n 1 , n 2 and n 3 .

Subclustering
Structures which deviated significantly from the C positions could easily be identified and were removed from the clustering analysis; this was only required for the multi-data sets PTP1B and BRD1A. For each PTP1B structure, the appropriate symmetry operation was applied to bring all C positions to a common average position. On the removal of outliers and the application of symmetry operators, the Cposition averages could be recalculated without bias from outliers. Subclusters were selected manually using both the real-space and reciprocal-space clustering results as a guide. This was performed by rotating the three-dimensional SVD plot and either adding or subtracting from a selection using keyboard modifiers and clicking and dragging with the mouse. This required a few minutes to complete the clustering per data set. Sometimes, clusters were separated from the main group and clustering was rerun on these using either recalculated sets of averaged structure factors and C atoms or using the original averaged sets. This allowed the finer separation of subclusters, should some data sets further from the mean exhibit significant further internal variation, by recalculating a new average. Alternatively, clusters could be marked as complete if they were deemed to require no further subdivision.

research papers 2.7. PanDDA analysis
The output from clustering was organized into separate runs and the pandda.analyse module from PanDDA version 0.2.14 (Pearce et al., 2016) included with CCP4 version 7.1 (Winn et al., 2011) was executed on these partitioned data sets and also on the unpartitioned data sets. In both cases, this was run with the nonstandard parameter min_build_datasets=20, but otherwise with the default parameters. Event maps were inspected manually using pandda.inspect, with unclear results not reported in the original studies being re-evaluated, and new event maps evaluated by eye to determine whether they were true hits or whether the electron density was not clear enough. The criteria that a hit was considered to be a bound ligand were as follows: after the exclusion of backbone rearrangements, side-chain flips, water-molecule rearrangements and ions, the event-map density at the background-corrected sigma level of 1.0 had to cover the entirety of the ligand when modelled into the density or, for low-resolution structures, cover the vast majority of the ligand and leave little room for interpretation as one of the other excluded events. For BAZ2BA, JMJD2DA and BRD1A, hits were ignored if they were clearly present in both data sets, even if they were not reported in the initial study, including some ligands that were not modelled in the original analysis as they lay between nonphysiological contact sites. Owing to the fact that all original hits could be prescribed to two clusters in PTP1B, the 18 PTP1B clusters without any hits from the original analysis were not subject to this restriction.

Results
For a total of N data sets, pairwise correlations between difference data sets were calculated, and so every data set was described using a vector of N scalar coefficients. Singular value decomposition (SVD) is a linear algebra technique which can draw out the accessible subspace of a matrix. This subspace is the possible range of vectors which can be reached through well defined linear combinations of the component axes of a matrix. SVD produces a set of orthogonal axes, weighted by their relative contribution to the accessible subspace. If there is some concerted behaviour of several data sets that behave in similar ways with respect to the average data set (i.e. having more similar correlation vectors), this is indicative that these should be combined into a cluster. SVD will therefore output a single heavily weighted subspace axis which describes this concerted variability. Axes associated with smaller weights represent more minor variations between data sets, and sufficiently small weights can be ignored. Although there are N orthogonal axes output from SVD, only a handful of these will have a large weight associated with them. The ratio between weights is important, rather than their absolute values. This clustering method can be carried out using either the deviation in the reflection amplitudes or the deviation in C positions from refined structures, or, owing to the interactive nature of the GUI developed to aid the application of this algorithm, a mixture of both.
A large multi-data set from a fragment screen of PTP1B (Keedy et al., 2017(Keedy et al., , 2018 and three smaller publicly available multi-data sets published with the original PanDDA study (BAZ2BA, JMJD2DA and BRD1A; Krojer et al., 2017a,b,c) were downloaded. Additional processing results for the PTP1B study were kindly provided by Daniel Keedy, and for the three smaller multi-data sets pannda.analyse was used to recalculate the event maps and Z-maps (here referred to as the unpartitioned analysis). Alternatively, multi-data sets were divided into clusters using the cluster4x GUI before executing individual pandda.analyse runs on the clusters (pre-clustered analysis). The default parameter min_build_datasets, which usually requires 40 data sets at a minimum resolution to be reached for further processing, was lowered to 20 data sets in order to compensate for the reduced number of data sets in each cluster. An increase in noise in the statistical characterization may be offset by increased homogeneity in the selected clusters. The least homogenous multi-data set is PTP1B, for which cluster4x facilitated a dramatic improvement in the ligand-identification rate. The three smaller data sets contain fairly homogenous crystals; however, cluster4x is still capable of identifying additional hits in the screens. These smaller multi-data-set fragment screens are considerably smaller than what is routinely achieved following improvements in highthroughput methodology.
PTP1B was the most populous multi-data set, with 1626 paired reflection lists and atomic models, and exhibited the highest variability. Data sets were first clustered on reciprocallattice amplitudes (resolving an inconsistency in the indexing ambiguity choice) into two major groups and were then further subclustered into 20 data sets using C differences, after collapsing the coordinates of all structures onto each other via applying the appropriate symmetry operator. For one of the resolved indexing choices, the correlation matrix was re-ordered by cluster and redrawn with a recalculated average. The correlations for amplitude differences (Fig. 1a) and C differences (Fig. 1b) show a divide into two major subclusters (clusters 1-5 and clusters 6-9), after which more subtle variations were extracted. For the other indexing choice there were more data sets, and therefore slightly more subdivisions could be supported (nine versus 11). The C positions for clusters 2, 3 and 6, which were chosen for their distinct translational and rotational shifts, are shown in Fig. 1(c), showing the significant variability that can arise.
The resolution, unit-cell dimensions, R work /R free and hit information for each cluster are shown in Table 1. The original study (Keedy et al., 2018) identified 380 putative hits, of which 110 were accepted. The 110 original hits were concentrated into only two subclusters (one from each indexing choice) comprising 117 structures from clusters 1 and 10. These had significantly lower R work and R free values (18.8% and 21.7% on a background of 25.5% and 27.9%, respectively) and were distinguishable in the C positions in real space owing to an allosterically active alternative conformation in the N-and C-termini. They also had the highest average resolution (below 1.8 Å ). There were no original hits in any of the other 18 clusters. The original study was executed on all data sets research papers together, but PanDDA still groups structures by resolution range to avoid Fourier truncation errors. The likely explanation for the skewed pattern of hits is that this grouping by resolution acted as a pseudo-clustering which would have enriched the number of structures from clusters 1 and 10 analysed together in the highest resolution bins. A secondary effect from the significantly lower R work /R free values would also increase the clarity of the event maps and the signal to noise of the Z-maps. When the original analysis examined lower resolution structures, structures from a wider range of clusters would be combined and the signal-to-noise ratio would reduce.
Pre-clustered analysis with PanDDA resulted in 472 hits in total. There were only two additional hits within clusters 1 and 10 together. However, across the clusters in which identified ligands were absent in the original analysis, an additional 74 hits were identified, together increasing the number of identified hits by 69% across the whole multi-data set. Changes in the signal level in the calculated Z-maps for many of the identified ligands within clusters 1-9 are shown in Fig. 1(d).
PanDDA reports two values for clusters of voxels (here termed peak-clusters) characterized as hits: the mean Z-value of the peak-cluster and the peak-cluster volume in Å 3 , which is the total volume of the peak-cluster extending above the minimum peak value of Z = 2.5. One can calculate an estimate of the total signal for ligands shared between both runs by multiplying the peak-cluster volume by the mean Z-value. For data sets where a single putative hit was shared between the research papers 1138 Ginn Pre-clustering data sets using cluster4x Acta Cryst. (2020). D76, 1134-1144

Figure 1
Cluster outcomes for multi-data set PTP1B. (a) Correlation plot showing relationships between data sets in reciprocal space according to Section 2 for clusters 1-9 in that order. The colour scale ranges from blue (coefficient of 0) through white (coefficient of 0.5) to red (correlation of 1). Alternating dark/ light boundaries down the right-hand-side bar are a guide to the cluster boundaries. (b) Similar correlation plot based on C differences. (c) Two views of C positions for structures from clusters 2 (light blue), 3 (purple) and 6 (pink). (d) Views of 16 of the newly identified ligands, chosen from clusters 1-9 where the data-set number is less than y1000. PanDDA background-corrected event maps are displayed from the pre-clustered analysis in all cases (2), as these were often not calculated for maps dropping below the Z threshold in the unpartitioned analysis. Z-maps were available for both analyses in all cases, and so the corresponding map is displayed with positive values in green and negative values in red (AE3). Electron-density figures were rendered in Coot (Emsley et al., 2010). unpartitioned and pre-clustered analyses, the total signal increased by 15%, and was broken down into an increase of 18.4% in the the peak-cluster volume and a reduction in the mean Z-value of 3.5%, although the pre-clustered mean Z-value is calculated over a larger number of voxels and is therefore not strictly comparable. This suggests that preclustering produces broader peaks rather than higher peaks in the Z-maps. Note that this comparison does exclude a subset of weaker hits only identified in the pre-clustered analysis.
The PanDDA analysis of the unpartitioned data sets for the three smaller multi-data sets reproduced similar results as in the original study (Pearce et al., 2016) as viewed using research papers Table 1 Average R work , R free , unit-cell dimensions and hit information for the 20 clusters determined by cluster4x for PTP1B.   Table 3 Average R work , R free and unit-cell dimensions for the two clusters determined by cluster4x for JMJD2DA.

Cluster
No. of data sets  pandda.inspect. Small differences will be attributable to the change in the min_build_datasets parameter from the default. The list of putative hits is a mixture of events such as clearly bound ligands, unclearly bound ligands, backbone rearrangements, catalytic events, side-chain flips, bound ions, solvent fluctuations and false hits owing to statistical error rather than true density variation. Events in all but the first category are discarded. As for the PTP1B multi-data set, discarded events significantly outnumber those which are accepted as identified hits. False positives resulting from statistical error cannot be easily distinguished from true positive results where poor binding has led to unclear electron density. The same inspection was carried out on each of the pre-clustered analysis outputs. If a potential plausible ligand was identified but was present in both the pre-clustered and unpartitioned analyses, it was not included in the list of additional hits from cluster4x. The BAZ2BA multi-data set comprised 199 data sets for a small four-helix bundle. The protruding N-terminus lay alongside the equivalent from one of the symmetry mates, and the longer loop region between the first and second helices sat against the corresponding loop of another symmetry mate. This was pre-clustered using cluster4x before downstream research papers 1140 Ginn Pre-clustering data sets using cluster4x Acta Cryst. (2020). D76, 1134-1144 Table 4 Average R work , R free and unit-cell dimensions for the eight clusters determined by cluster4x for BRD1A.

Cluster
No. of data sets

Figure 3
Screenshot of the cluster4x GUI. (a) View of the correlation-coefficient matrix plot after clustering. Clusters are listed down the left-hand column, which will also be populated with subclusters. Controls for generating new clusters are displayed on the right. (b) Rotatable SVD plot, with clusters selected manually by clicking and dragging to either add (+ Shift key) or subtract (+ Ctrl key) rendered in yellow. (c) Rotatable hkl space for viewing the amplitudes and unit cell of a cluster, which can also be rendered per data set, which is good for identifying mis-indexing results. (d) View of all C atoms, including those selected in (b) rendered in yellow.
analysis with PanDDA. Owing to the small number of data sets, this was divided into only two major clusters: A (101 data sets) and B (98 data sets) (Figs. 2a-2c). Clustering was easily carried out in reciprocal space with no need to separate on C positions, as this produced similar results. Fig. 2(a) shows that for a significant number of data sets, the deviations from the average of all members of the multi-data set show no net positive correlation with other data sets, which is coloured in blue on the diagram. Data sets which do not correlate well with one another are separated into separate clusters, which is why Figs. 2(b) and 2(c) have a reduced proportion of blue (zero) entries in the diagram. The properties of the two clusters are shown in Table 2. Data sets were separated manually in cluster4x according to the SVD output (Fig. 2d). In real space, the two clusters showed a shifting of the four-helix bundle as a rigid unit, while part of the N-terminus (residues 1857-1859) and the longer loop (residues 1893-1908) forming the crystal contacts remained anchored against their neighbours (Fig. 2e). As changes in the internal motions of the protein will be accompanied by adjustment of the unit-cell dimensions to compensate, this will then also be correlated with adjustments in the reciprocal-lattice amplitudes (with the unusual exception of the protein expanding and contracting in a similar manner to that of the unit cell). In this case, the largest change in the unit cell was correlated with a decrease in the length of the a axis from 82.5 Å in cluster A to 82.1 Å in cluster B (Fig. 2f ). Although the a axis length in cluster A is greater than in cluster B, there is still a significant overlap between the two groups, showing that the partition in reciprocal space cannot be established by unit-cell dimension alone. The use of the GUI to generate these plots is demonstrated in Fig. 3. research papers Figure 4 (a) Newly identified hits for JMJD2DA showing PanDDA maps as displayed in Fig. 2 labelled with the data-set name and the cluster of which it was a member. (b) Left, x377, cluster A from the unpartitioned PanDDA analysis, present but not easily interpretable; right, x377, cluster A density using preclustering, now easily identifiable as the ligand. (a) and (b) were rendered in Coot (Emsley et al., 2010). (c) Total signal from the PanDDA event map, plotted for all data sets shared between the unpartitioned (blue) and pre-clustered (orange) points, ordered by the pre-clustered total signal. All lines are drawn as visual guides to show the change in signal per data set.
JMJD2DA is a larger protein and separated in reciprocal space into three clusters, A (70 data sets), B (43 data sets) and C (108 data sets), associated with small unit-cell shifts (Table 3) and corresponding real-space changes. Again, separation of the clusters manually was straightforward in reciprocal space and the C differences were not consulted. However, it is clear from the overlay of all structures that there is no substantial variation in C -atom positions and these variations are small. The enrichment of hits was equally distributed between the clusters. Nevertheless, although they exhibited only small variations of C positions, running PanDDA on the clusters separately did identify nine new hits (three additional hits from cluster A, four from cluster B and two from cluster C; Figs. 4a and 4b). One hit from cluster A (x377) was registered in the unpartitioned analysis, but was not sufficiently defined without pre-clustering to be certain of the presence of the ligand (Fig. 4b).
False negatives can be identified as those which are not shared with the published ligands in the original PanDDA study. In JMJD2DA, there were false negatives in both the unpartitioned and pre-clustered analyses: two common to both and four unique to each of the unpartitioned and preclustered analyses. The unpartitioned run therefore also missed ligands that had been previously reported. This was owing to the modification of the min_build_datasets parameter. In general, the total signal is either roughly identical or significantly improved by cluster4x (Fig. 4c). The average increase of 9.2% is owing to a 16% increase in volume, which is balanced by a reduction of 5.3% in the mean Z-value.
BRD1A is a four-helix bundle protein and the only one of the fragment-screen multi-data sets which showed a clear ordered separation of crystal morphologies according to crystal number, presumably collected chronologically (Fig. 5a). There is also a strong correlation, as expected, between reciprocal-space variation and real-space variation (Fig. 5b). The separation was less clear-cut in reciprocal space alone, and so a broad separation into three larger groups was carried out using amplitude differences followed by C differences to produce a finer slicing of clusters. The tree showing subclustering outcomes is shown in Fig. 5(c). These separated into eight distinct clusters from 302 data sets, summarized in Table 4, of which four fell below the default parameter for the minimum number of data sets required to trigger statistical characterization in PanDDA (40) and two fell below the number chosen in this analysis (20). Only one group exceeded the threshold recommended for statistical characterization (60).
One of the clusters of 11 data sets yielded considerably higher R factors (R work = 27.3%, R free = 31.4%) compared with the average (R work = 20.1%, R free = 23.7%) and exhibited a considerable rotation of the protein, along with the largest expansion of the a axis by 0.6 Å over the average. Although this brought the average a axis within 0.1% of that for the b research papers 1142 Ginn Pre-clustering data sets using cluster4x Acta Cryst. (2020). D76, 1134-1144

Figure 5
Multi-data set BRD1A. (a) Matrix plot showing the relationships between data sets in reciprocal space using the same colour scheme as in Fig. 2(a). (b) Matrix plot showing relationships in real space between C positions. (c, d) PanDDA maps displayed as in Fig. 2. (c) Tree showing the generation of subclusters from all data sets. Selections for subclusters were chosen through inspection of the SVD plots. A subselection of data sets contributes to each matrix plot, and of these a subset is highlighted in yellow, either denoting the final members of clusters A-H or, if a non-terminal cluster, the subselection displayed in the downstream matrix plots. Clusters A and B were split along reciprocal amplitude differences, and clusters C-H were further split along C differences. axis and therefore ran the risk of mis-indexing during data reduction, no mis-indexing was detected in reflection ampltidues from individual data sets. Exclusion of these 11 data sets identified from cluster4x increased the average total signal, as calculated above, by 1.4% and produced one extra event to analyse after running PanDDA (87 instead of 86 potential hits). No hits were originally found in these 11 data sets. The second small cluster, a set of ten sequential data sets which appeared to vary similarly to one another and distinctly differently to the rest of the data sets, had no elevation in R factor (R work = 19.0%, R free = 22.6%) but also did not harbour any hits in the original analysis or in a forced PanDDA analysis. Overall, for BRD1A the small number of data sets collected and the wide variability in the protein meant that most of the clusters dropped below the threshold for statistical characterization. However, one clean additional hit was detected in a cluster of 25 data sets (Fig. 5c) and another in the largest cluster of 63 data sets (Fig. 5d). No hits found in the unpartitioned analysis were missing from the pre-clustered analysis.

Conclusions
In this paper, cluster4x has been applied to drug screens; however, it could be applied to other types of experiment as a separate, unbiased method to validate the presence of a concerted change in signal in the amplitudes as a function of another dimension, such as in time-resolved experiments or those involving static laser-induced or temperature-induced changes.
In all four test cases, pre-clustering was instrumental in identifying new hits and clarifying previous hits, but this was most marked in the highly heterogenous multi-data set PTP1B, which also benefited from a larger number of starting structures, which allowed greater subdivision into clusters. Of the three smaller and more homogenous multi-data sets, the reduction in the number of data sets entering the statistical characterization is a drawback. However, analysing more homogenous clusters of data sets is also a way to enhance the signal to noise in the statistical characterization, and this remains a balancing act. As a result, for more homogenous multi-data sets with clusters which often drop below 60 members, the recommendation would be to run both an unpartitioned and a pre-clustered analysis to capture all fringe hits. Nevertheless, treating all these multi-data sets with preclustering did reveal additional hits which otherwise fell below the Z-map threshold. Analysis of most multi-data sets would therefore benefit from pre-clustering, if only to be certain that all possible putative hits are being found, despite any residual heterogeneity.
Pressure is now mounting to identify ligands disrupting the function of SARS-CoV-2 (Riva et al., 2020). Although coronaviruses have large genomes by the standard of RNA viruses, we are limited to a targeting a small number of structural, nonstructural and putative open reading frame proteins in the coronavirus genome with small-molecule inhibitors. The widespread economic and social devastation caused by the SARS-CoV-2 pandemic necessitates an understanding of these protein structures for inhibitor design and discovery as quickly as possible. When a virus is of such global significance, lower quality crystals may still provide an acceptable basis to perform a drug screen in a timely fashion. cluster4x has already been instrumental in identifying an existing drug, 2-methyl-1-tetralone, which covalently binds to the active site of the main protease (Gü nther et al., 2020) and other compounds which have passed at least phase I trials (Gü nther et al., unpublished work). These successes show how crucial it is to minimize losses of potential hits owing to heterogeneity in crystal systems used in X-ray crystallography drug or fragment screens, and cluster4x is well placed to address many of the problems caused by crystal-to-crystal fluctuations.
One may argue that some of the main benefits of cluster4x are the drill-down interactive methods provided by the graphical user interface and the opportunity for researchers to explore and understand the peculiarities of their crystals. cluster4x is provided as a submodule within the Vagabond software suite (https://vagabond.hginn.co.uk). It is written in C++ and published under the GPLv3 software licence.