
This toolkit is open source. Any third-party models, product names, or trademarks referenced are the property of their respective owners, and Proto is not affiliated with them.
Background
DockQ (Basu and Wallner, 2016) is a continuous interface-quality measure for protein-protein docking models that combines the CAPRI quality indicators (fraction of native contacts, interface RMSD, and ligand RMSD) into a single score in the range 0 to 1. The published thresholds approximate the CAPRI quality classes of Acceptable (DockQ ≥ 0.23), Medium (DockQ ≥ 0.49), and High (DockQ ≥ 0.80). DockQ requires a known reference complex and cannot be computed when only the predicted structure is available. pDockQ (Bryant, Pozzati, and Elofsson, 2022) was introduced as a predicted version of DockQ that uses only AlphaFold2 outputs, with no reference complex required. It estimates DockQ for a dimer from the mean pLDDT of interface residues together with the logarithm of the number of interface contacts, calibrated against ground-truth DockQ values on a benchmark of heterodimers. pDockQ2 (Zhu, Shenoy, Kundrotas, and Elofsson, 2023) generalises pDockQ to larger multi-chain complexes and replaces the contact-count term with the Predicted Aligned Error (PAE) matrix, which captures pairwise residue-position uncertainty across chains. For each interface, the score combines the contact-weighted mean interface pLDDT with the mean of1 / (1 + (PAE / 10)²) over interface residue pairs, then passes the product through a logistic sigmoid whose parameters were fit against ground-truth DockQ values on the AlphaFold-Multimer benchmark. The published analysis demonstrates that pDockQ2 estimates DockQ for each interface in a multimer rather than only for a single dimer.
Learning Resources
- ElofssonLab/afm-benchmark (Elofsson Lab, Stockholm University). Reference implementation of pDockQ2 and the benchmark data from the original publication.
- bjornwallner/DockQ (Wallner Lab, Linköping University). Reference implementation of the underlying DockQ measure that pDockQ2 estimates.
Tools
pDockQ2 Interface Quality (pdockq2)
Scores the per-interface quality of a cofolded protein complex by computing pDockQ2 for each chain pair and aggregating the per-chain scores into a single overall score. The tool takes a Structure with per-residue pLDDT in the B-factor column and the PAE matrix attached at structure.metrics["pae"], identifies CA-CA contacts between every pair of chains within a configurable distance cutoff, applies the published sigmoid, and returns the overall score together with a per-chain interface breakdown.API Reference
Input: PDockQ2Input
Input: PDockQ2Input
b_factor_type must be PLDDT or NORMALIZED_PLDDT) and the PAE matrix attached at structure.metrics['pae'] as a square list[list[float]] whose dimension matches the structure’s total residue count.Config: PDockQ2Config
Config: PDockQ2Config
pDockQ.pDockQ2 wrapper default.True is coerced to 1 and False to 0.None waits indefinitely.BaseToolOutput.approx_equal), and the seed participates in cache keys. When None, cacheable seed-sensitive tools skip cache until seeded.Output: PDockQ2Output
Output: PDockQ2Output
| Metric | Type | Range | Availability |
|---|---|---|---|
pdockq2 | float | 0.0 to 1.0 | always |
avg_interface_plddt | float | 0.0 to 100.0 | always |
avg_interface_pae | float | 0.0 to 1.0 | always |
num_interface_contacts | int | ≥ 0.0 | always |
Applications
This tool is appropriate for filtering and ranking cofolded complexes from structure-prediction tools such as AlphaFold-Multimer, AlphaFold 3, Chai-1, Boltz-2, and Protenix. Representative applications include gating candidate protein binders from a design pipeline by predicted interface quality, ranking the most promising poses in a multi-chain prediction ensemble, and screening large sets of predicted complexes before committing to more expensive downstream analyses.Usage Tips
- The PAE matrix is required and must be attached at
structure.metrics["pae"]as a squarelist[list[float]]whose dimension matches the total residue count of the structure. The input is rejected when the matrix is missing, not square, or of the wrong dimension. - Per-residue pLDDT must be supplied via the B-factor column. Structure predictors in proto-tools return the correct
b_factor_typeautomatically, andStructure.from_file()auto-detects it for AlphaFold DB and ModelArchive files. For manually provided structures from other sources, passb_factor_type=BFactorType.PLDDT(raw 0 to 100) orBFactorType.NORMALIZED_PLDDT(0 to 1) explicitly. The input is rejected whenb_factor_typeis any other value, since the published sigmoid was fit on a 0 to 100 pLDDT scale. - A pDockQ2 score above 0.23 corresponds to the “Acceptable” DockQ quality class. The thresholds derive from the underlying DockQ measure (Basu and Wallner, 2016): scores above 0.49 correspond to “Medium” quality and scores above 0.80 to “High” quality. Scores below 0.23 typically reflect either low interface pLDDT or high cross-chain PAE.
- The overall score is the mean of
pmidockqover target chains that contact the binder chain. When no target chain intarget_chainsis within the distance cutoff ofbinder_chain, the overall score is set to0.0,num_interface_contactsis reported as0, and a warning is logged. Verify the chain identifiers and the cutoff before interpreting an all-zero result as a poor interface. distance_cutoffcontrols the CA-CA contact distance used to define interface residues. The wrapper default of10.0Å is more permissive than the8.0Å default used by the Elofsson Lab reference implementation against which the published sigmoid was calibrated. The qualitative DockQ-quality interpretation still applies at10.0Å, but quantitative scores will not exactly match the published values. Setdistance_cutoff=8.0for scores that match the original pDockQ2 calibration. The PAE normalisation distance inside the sigmoid is independently fixed at 10 Å per the published formula and is not affected by this setting.- The interface pLDDT is contact-pair weighted, not residue-deduplicated. A residue that contacts
kcross-chain partners contributes its pLDDTktimes to the interface mean. This matches the published pDockQ2 definition and is preserved by the wrapper. - The per-chain breakdown is available on
result.metrics.interfaces. EachInterfacePDockQ2entry exposeschain_id,neighbor_chains,if_plddt(0 to 100 pLDDT scale),norm_pae(0 to 1 normalised confidence, higher is more confident), andpmidockq(0 to 1 DockQ-scale prediction) for one chain. Inspect this list when debugging multi-chain targets or when the overall mean masks variation across interfaces.
Toolkit Notes
These apply to every pDockQ2 tool in this toolkit (pdockq2).
- Outputs are returned as typed metric objects. Each
PDockQ2Metricsresult carries the overallpdockq2score (0 to 1),avg_interface_plddt(0 to 100 pLDDT scale),avg_interface_pae(0 to 1 normalised confidence), andnum_interface_contacts(integer count) together with a per-chaininterfacesbreakdown. The headlineprimary_metricispdockq2, and results can be exported to JSON through the standard export method. - The tool implementation runs entirely in-process and uses CPU only. The scoring formula is re-implemented in pure Python with numpy, and no standalone environment or separate program is invoked. Per-call runtime is sub-second for typical complex sizes and scales quadratically with the total residue count because of the all-against-all CA-CA distance computation.