Skip to the content

Geometric deep learning KDD 2022

Turn the chain. The numbers hold still, the arrows turn with it.

GBPNet: Universal Geometric Representation Learning on Protein Structures

  1. Sarp Aykent*
  2. Tian Xia*
Affiliation at the time of publication

Auburn University, Auburn, AL, USA (both authors). *Both authors contributed equally to this research.

The paper introduces a drop-in block that updates a protein’s scalar features and its 3D vector features together, built so that rotating the protein leaves the scalars unchanged and rotates the vectors with it, and reports it on three protein tasks.

Figure 1Illustration

Drag to turn or pick a point

Point 9 of 28
9810254
A number: distance to the nearest neighbour 1.14 unchanged by turning
An arrow: direction to it (x, y, z) (−0.55, +0.51, +0.66) turns with the chain
0°
0°

IllustrationA made-up chain of 28 points, not a real protein. Each point stands in for one amino acid residue. Both values are computed in your browser from this toy. Click a point, or use the point stepper, to pick another.

01 The problem

In a folded protein, residues far apart along the chain can sit side by side in space.

The paper turns a protein into a graph: every amino acid residue is a node, and each node is joined to its k nearest neighbours in space, measured between Cα atoms. It notes that “amino acids pairs that are sequentially far apart might be spatially in contact”, so the range of interaction a network has to cover is large.

Figure 2Illustration

Pick a point and see who its neighbours are

Along the chain the same 28 points laid out in order; arcs join the selected point to its neighbours

The 28 points of the toy chain in a row. Arcs join the selected point to each of its neighbours: short arcs are neighbours along the chain, long arcs are contacts made by folding. 1591015202528

In space drag to turn, click a point to select it

98102541426

Point 9 has 6 neighbours in space. 2 of them sit more than 8 positions away along the chain. Across the whole toy graph, 19 of 168 edges do.

9
6
Neighbours chosen by

IllustrationThe same made-up chain of 28 points as above, not a real protein. The counts are computed in your browser from this toy and say nothing about how often this happens in real proteins. k and the threshold of 8 positions are toy settings. “Nearest along the chain” is shown for contrast only; it is not a description of any earlier method.

How to read it. Long arcs on the ruler are contacts that only exist because the chain is folded. Switch to “nearest along the chain” and they disappear: a graph built from chain order alone never joins point 9 to point 25, although they sit next to each other in space. Source for the graph construction: Section 3, p.3.

Every residue and every contact carries two kinds of features, and neither is complete alone.

The paper describes each node and each edge with a tuple: plain numbers that do not care how the protein is held, and 3D arrows that do. On this page a number is always a square or a bar, and an arrow is always an arrow.

Figure 2bIllustration

What the network is given for point 9 and one of its contacts

Contact of point 9 with

Follows the point and k chosen in Figure 2. An arc on its ruler selects the same contact. Turn its fold and the arrows below turn too.

Residue point 9 (a node)

Numbers

Identity embedding
Named in Section 3. Section 4.4 uses “identity” for the amino acid type of a residue.
not in the toy: the chain has no amino acid types
Dihedral angles
Three backbone angles (φ, ψ, ω) from the C, N and Cα atoms, each kept as a sine and a cosine: “six features per amino acid”.
not in the toy: it has no backbone atoms

Arrows

Orientations
Two unit vectors, one towards the next Cα along the chain and one towards the previous.
toynext (+0.65, +0.51, −0.56)
toyprevious (−0.55, +0.51, +0.66)
Sidechain direction
A unit vector for the direction of Cβ seen from Cα.
not in the toy: it has no backbone atoms

Contact 9 · 25 (an edge)

Numbers

Relative distance
The distance between the two residues, passed through RBF kernels so the network sees an approximation, not the raw value.
toy1.44 toy units, the plain distance
Relative position
The difference of the two residues’ sinusoidal position embeddings, Pi − Pj.
toy+16 positions, the plain offset along the chain

Arrow

Direction unit vector
The difference of the two Cα positions, normalised to length one.
toy(+0.32, −0.85, −0.41)

IllustrationValues tagged “toy” are computed in your browser from the made-up chain. The paper passes distances through RBF kernels, and gives relative position as the difference of two sinusoidal position embeddings, Pi − Pj. The toy shows the plain distance and the plain offset along the chain instead, in toy units. Three features need information this toy chain does not have, the amino acid type and the backbone atoms, so they are listed, not computed. Source for the feature definitions: Section 3 and Appendix A.1, p.3 and p.10.

“the scalar and vector features for nodes and edges are mutually related, so a module with the ability to learn scalar and vector features jointly is essential”

The paper, Section 1, p.2.

02 The idea

Inside the block, arrows reach the numbers only as lengths.

The paper’s Geometric Bottleneck Perceptron (GBP) updates both kinds of features at once. The arrows are mixed down into a few latent arrows and mixed back up. The numbers get to see those latent arrows, but only how long they are. Turning an arrow does not change its length, so turning the protein cannot change the numbers, and the arrows that come out have turned by exactly the same amount.

Figure 3Illustration

Turn the input arrows and watch what moves

The Geometric Bottleneck Perceptron as two lanes. Arrows lane: V, Downsampling Layer, latent arrows z, Upsampling Layer, V u, a gate, V prime. Numbers lane: s joined with the lengths of z, a linear map, an activation, s prime. One bridge joins the lanes, from z to the numbers, and it carries lengths only.Arrows lane / 3D vector featuresturns with the input4.4e-16Numbers lane / scalar featuresholds still while the input turns2.2e-16L2 Normlengths onlythe only link between the two lanesV8 input arrowsDDownsampling Layerwd · 8 → 2 arrowsz2 latent arrowsUUpsampling Layerwu · 2 → 8 arrowsVubefore the gateGate: one dial per arrowL2 Norm, Activation,Element-wise MultiplicationV′8 output arrowss6 input numbersConcatenation2 lengths + 6 numbersflinear map ws8 → 6 numbersσActivationtanh in this toythin mark:the valuebefore the turns′6 output numbers
Try

Four things to try, in order. Or select a part of the drawing (D, z, L2 Norm, U, the gate, f, σ) to read what it does.

35°
15°
Where you stand
Bottleneck λ
Variants the paper measured (Table 4)
Break the length rule (counter-examples, not from the paper)
Numbers out (s′) largest change from the unturned input 2.2e-16 unchanged
Arrows out (V′) largest gap between turn-then-run and run-then-turn 4.4e-16 turns with the input

IllustrationThe paper’s Equations 1 to 5 running in your browser on made-up features with random weights: it is not the trained network, nothing computed here is a result, and the two counter-examples are blocks broken on purpose by this page, not ablations from the paper and not any earlier method.

Weights in this toy block

Latent arrows2of 8r / λ
Arrows path32weightsa direct 8 × 8 map has 64
Numbers layer48weights(t + r / λ) × t′

Toy arithmetic, counted from the shapes printed in Eqs. 1, 2 and 5 with r = r′ = 8 and t = t′ = 6. Not the model’s parameter count. The paper uses λ = 4 for its protein design experiments.

MeasuredIn the paper, protein design task, Table 4, p.8

Scalar Only

The paper: “The Scalar Only variation removes the (V) paths for nodes and edges. The model performance decreases severely on both perplexity and recovery scores.” In the toy, the arrows lane and the bridge are removed and s′ is computed from s alone.

- Vector Projection

The paper: “The Vector Projection variation removes the bottleneck down-scaling and up-scaling operations on the V path when possible.” This toy reads that as keeping both maps and removing only the squeeze (λ = 1); the reading is this page’s. The toy’s weight counter is hidden here, so that no toy count is read as an explanation of the parameter cell in Table 4.

- Vector Identity

The paper: “The Vector Identity variation removes the element-wise multiplication is used to calculate V′ in the GBP block.” In the toy, V′ is Vu with no gate. Eq. 3 has no learnable weight; Table 4 prints 1.677M parameters with and without the gate. Computed by this page from Table 4, the three recovery cells differ by 1.02, 1.65 and 0.59 percentage points, which is 3.1%, 5.0% and 1.4% of the full model’s cells (mean 3.1%); the paper describes the drop as “3% on average” and does not say which of the two it means.

None of the three measured variants breaks the turning rule in the toy. What they change is how well the model does, and only the paper’s experiments can show that. The full table is in section 05.

How to read the drawing

Arrows are drawn from the centre of each dial, fainter when they point away from you. The ring shows how far the input has been turned. Part names are the paper’s (Figure 3, p.5); the arrangement and the drawing are this page’s own. Toy choices: 8 arrows and 6 numbers in and out, no bias terms because none are printed, a sigmoid gate (the case the paper calls a gating mechanism) and tanh for the numbers, where Eq. 5 says “the non-linearity”. In this toy a gate dial never reads below one half, because a length is never negative. With only 8 arrows the toy’s squeeze is very tight: at λ = 4 two latent arrows remain, so all eight output arrows lie in one plane, and at λ = 8 on one line.

Equations 1 to 5, in plain words
  1. Downsampling Layer (Eq. 1). The r input arrows are mixed by learned weights wd into r/λ new arrows, the latent representation z. Each new arrow is a weighted sum of the input arrows.
  2. The bridge (Eq. 4). The lengths of the latent arrows (their L2 norms) are appended to the input numbers s. Lengths, not directions.
  3. The numbers update (Eq. 5). A linear map ws and a non-linearity turn the t + r/λ numbers, s and the lengths together, into the t′ output numbers s′.
  4. Upsampling Layer (Eq. 2). The r/λ latent arrows are mixed again, by wu, into r′ arrows, Vu.
  5. The gate (Eq. 3). Each arrow of Vu is scaled by a number that depends only on its own length. Its direction is untouched. That gives the output arrows V′.

Source: Section 4.2, Eqs. 1 to 5, p.4 to p.5. The paper says the block “can be stacked ω times”.

Why turning cannot leak into the numbers

The paper’s Appendix B gives the argument for one GBP block and for rotations. Mixing arrows with fixed weights and then rotating gives the same arrows as rotating first and then mixing. Rotating an arrow does not change its length, so the lengths that cross the bridge are the same before and after, and so is s′. The gate depends only on lengths too, so V′ turns exactly as the input turns.

The bench above checks that argument numerically, for the toy block only. The two readouts are what is left after the subtraction, and they sit at the level of floating point rounding.

Source: Appendix B, Eqs. 15 to 18, p.10.

03 One example, followed

One contact, followed from two residues to a prediction.

Take points 9 and 25 of the toy chain: 16 positions apart along the chain, next to each other in space. This is the path one message between them takes through GBPNet, as the paper describes it. Every box opens its own detail.

Figure 4Diagram

Step through one message, or select any box

The example what happens to points 9 and 25 at this step

The architecture where this step happens; every box opens its detail

GBPNet in three zones. Graph: residues as points, k nearest neighbour edges, a residue tuple and a contact tuple. Encoder, repeated: concatenate, a GBP block, the block applied again, aggregate, skip connection, feed-forward. Heads: protein design, structure ranking and binding affinity. Graph3D coordinatesEncoderone layerHeadsone per taskCα pointsone per residuekNN edgesnearest in spaceResidue tuplenumbers + arrowsContact tuplenumbers + 1 arrowConcatenate3 into 1GBPmessageω timesGBP againAggregateany order+ Skipadd oldFeed-forwardper residuerepeat γ timesProtein design · CPD20 classes per residueStructure ranking · PSRone quality scoreBinding affinity · LBAone binding strength
  1. Start from coordinates

    Nodes are amino acid residues. Edges join each residue to its k nearest neighbours, found from the 3D coordinates of the Cα atoms. That is how points 9 and 25 become connected although they are far apart along the chain.

    In
    3D coordinates, one Cα per residue
    Out
    a k nearest neighbour graph
  2. Describe the two residues

    Each residue gets a tuple. Numbers: an identity embedding, and its dihedral angles as six numbers per residue. Arrows: the forward and backward orientation and the sidechain direction.

    In
    residues 9 and 25
    Out
    two tuples (numbers, arrows)
  3. Describe the contact

    The edge between them gets a tuple of its own. Numbers: the relative distance, through RBF kernels, and the relative position Pi − Pj. Arrow: the unit direction from one Cα to the other.

    In
    the edge 9 to 25
    Out
    one tuple (numbers, arrow)
  4. Write the message

    The contact and its two residues are concatenated, numbers with numbers and arrows with arrows, and passed through one GBP block (Eq. 7). This is the block on the bench above.

    In
    three tuples
    Out
    one message (numbers, arrows)
  5. Refine it ω times

    GBP is applied again to its own output, ω times in all (Eq. 8). The base model in Table 5 uses γ = 9, δ = 1 and ω = 6.

    In
    the message
    Out
    the message after ω GBP layers
  6. Gather the neighbourhood

    Messages from all of a residue’s neighbours are combined by a function that ignores their order: the paper names mean, sum or max (Eq. 9). The result is added to what the residue already held, a skip connection (Eq. 10).

    In
    one message per neighbour
    Out
    updated features for the residue
  7. Think per residue, then repeat

    A position-wise feed-forward network with shared weights follows, again built from GBP layers (Eq. 11). Then the whole layer repeats: nine encoder blocks for protein design, five for structure ranking, eight for binding affinity.

    In
    features of every residue
    Out
    the same shape, one layer deeper
  8. Answer the question

    One design, three kinds of question, each with its own depth and head. Protein design predicts an amino acid for every residue. Structure ranking and binding affinity average the final numbers of all nodes (Eq. 12) and turn that average into one value. Select a head for its detail.

    In
    final node features
    Out
    20 classes per residue, or one number

Select any box in the drawing to read what it does. Arrow keys move between boxes.

Cα points

Only the Cα atom of each residue places the node. The paper’s reason for building a graph at all: to represent the structure “without handcraft features to avoid bias”.

Section 3, p.3

kNN edges

The paper names two ways to choose neighbours: the k nearest, or all nodes within a given radius. The toy in Figure 2 opens with k = 6, a toy setting.

Section 3, p.3; Section 4.3.1, p.5

Residue tuple

The six dihedral numbers are a sine and a cosine for each of three backbone angles, kept that way to “keep the circular property of the angles”. The sidechain arrow is computed from the N, C and Cα positions (Eq. 14). Figure 2b lists every feature.

Appendix A.1, p.10

Contact tuple

Why the distance is not given raw: “if the absolute values are provided to a network, it tends to memorize than learn the structure”. The number of RBF kernels is left as a hyper-parameter.

Appendix A.1, p.10

Concatenate

In the paper’s words: “Both vector and scalar representations are concatenated then integrated by the GBP layer.”

Eq. 7, Section 4.3.1, p.5

GBP, the message

The Geometric Bottleneck Perceptron: two lanes and one bridge that carries lengths only. Run it on the bench above.

Section 4.2, Figure 3, p.4 to p.5

ω times

“The GBP module can be stacked ω times to enhance further the feature blending and expressiveness of the geometric feature representations in the neural network.” Table 5 tries ω from 4 to 10.

Section 4.2.2 and Eq. 8, p.5; Table 5, p.8

Aggregate

The messages for a node are combined by “a permutation invariant function including MEAN, SUM or MAX”.

Eq. 9, Section 4.3.1, p.5

Skip connection

The aggregated message is added to the node’s previous features. The paper’s reason: “to allow the non-synchronicity of changes in the feature representation space”.

Eq. 10, Section 4.3.1, p.5

Feed-forward

For each node “a linear function with shared weights is applied”, then p layers of GBP.

Eq. 11, Section 4.3.2, p.5

Repeat γ times

Encoder blocks per task: nine for protein design, five for structure ranking, eight for binding affinity. The paper reads Table 5 as improving “slightly until nine, and then the performance drops” (Section 7.3.1); γ = 11 is the only deeper setting it tested.

Appendix C, p.10; Table 5 and Section 7.3.1, p.8

Computational protein design (CPD)

Decoder layers follow the encoder. The sequence is predicted one residue at a time, and edges from a residue to later residues are masked “to prevent information leakage”. A linear layer gives 20 outputs, one per amino acid, trained with cross-entropy loss.

Definition 3.1, p.3; Section 4.4, p.6

Structure ranking (PSR)

The final numbers of all nodes are averaged (Eq. 12), and a prediction function U, which the paper says can be an MLP, turns the average into one quality score for the predicted structure. Only the numbers are read out. Trained with mean squared error.

Definition 3.2, p.3; Eq. 12 and Section 4.5, p.6

Binding affinity (LBA)

The same readout gives one binding strength for a protein and ligand complex, which Definition 3.3 speaks of modelling as an atom-level graph. Trained with mean squared error.

Definition 3.3, p.3; Eq. 12 and Section 4.5, p.6

How to read it. Two original drawings of the architecture described in Sections 3 and 4 of the paper. The upper one follows points 9 and 25 of the same made-up chain as above; the lower one shows where that step sits in the network. Inside a token a square stands for numbers and an arrow for arrows; how many are drawn is schematic. The dashed line is the repeat of the encoder layer, a different kind of link from the solid data flow. The address bar follows the step, so a copied link reopens it.

04 The evidence

On three protein tasks, the paper reports the best value in every column of its comparison tables.

One classification task and two regression tasks, each with its own depth and head. The bars below are the paper’s printed cells, drawn from zero so that a small margin looks small. Point at a row to set it beside GBPNet.

Figure 5Measured, Tables 1 to 3

Choose a task and a metric, then compare any method with GBPNet

Computational protein design (CPD): Table 1

Metric
Test subset
Table 1, p.7. “Comparison of the proposed GBPNet with the benchmarks on the CPD task.”
Perplexity lower is betterRecovery higher is better
Method Short Single All Short Single All
STran8.549.036.8528.3027.6036.40
SGNN8.318.886.5528.4028.1037.30
GVP7.107.445.2932.1032.0040.20
GBPNet6.146.465.0333.2233.2242.70

Bold underlined cells are the ones the paper prints in bold, the best value in the column. Method names as the table prints them.

The question
Given a protein’s 3D structure and the sequence so far, predict the next amino acid, from the first position to the last. A classification task.
The data
Chains from the CATH classification: 18024 for training, 609 for validation and 1120 for testing, with every test topology removed from training and validation.
The metrics
Perplexity, the exponential of the cross-entropy: lower is better. Recovery (%), the median over test sequences of a per-sequence score (Eq. 13): higher is better. Short, Single and All are test subsets named in the paper.

Protein structure ranking (PSR): Table 2

Scope
Correlation
Table 2, p.7. “Comparison of the proposed GBPNet with the benchmarks on the PSR task.”
Local higher is betterGlobal higher is better
Method p Sp K p Sp K
3DCNN0.4910.4310.2720.6430.7690.481
ProQ3D0.4440.4320.3040.7960.7720.594
VoroMQA0.4120.4190.2910.6880.6510.505
RWplus0.1920.1670.1370.0330.0560.011
SBROD0.4310.4130.2910.5510.5690.393
Ornate0.3930.3710.2560.6250.6690.481
DimeNet0.3020.3510.2850.6140.6250.431
GraphQA0.3570.3790.2510.8210.8200.618
GVP0.5810.4620.3310.8050.8110.616
GBPNet0.6120.5170.3720.8560.8530.656

Bold underlined cells are the ones the paper prints in bold. Read from the cells by this page: the closest baseline is a different method on each side of the table, GVP on the Local columns and GraphQA on the Global ones.

The question
Given a predicted structure (a decoy), estimate its quality: a score called GDT_TS that measures how close a predicted structure is to the experimentally observed one. A regression task, also known as model quality assessment.
The data
Predicted 3D models submitted to nine CASP competitions, with the same splits as the earlier work the paper follows.
The metrics
Pearson (p), Spearman (Sp) and Kendall (K) correlation: higher is better. Local is computed per target and averaged. Global is computed over all samples in the test set.

Ligand binding affinity (LBA): Table 3

Metric
Table 3, p.7. “Comparison of the proposed GBPNet with the baselines on the LBA task. The results are averaged over 3 independent runs.”
Method RMSE p Sp
ENN
Cormorant1.568 ± 0.0120.3890.408
CNN
3DCNN1.416 ± 0.0210.5500.553
DeepAffinity1.893 ± 0.6500.4150.426
Graph
GCN1.570 ± 0.0250.5450.533
DGAT1.719 ± 0.0470.4640.472
DGIN1.765 ± 0.0760.4260.432
DGAT-GCN1.550 ± 0.0170.4980.496
GVP1.594 ± 0.0730.4340.432
Ours
GBPNet1.405 ± 0.0090.5610.557

Bold underlined cells are the ones the paper prints in bold. Family labels (ENN, CNN, Graph, Ours) are as printed. The ± is as printed in Table 3, for RMSE only; the paper’s text calls it a standard deviation. The bars show the first number. On the RMSE chart a thin whisker under each bar end spans the printed ±; no whisker is drawn for p or Sp, because none is printed.

The question
Given the structure of a protein and ligand complex, predict their binding strength. A regression task.
The data
Complexes from the PDBBind database of experimentally measured binding affinities, with the same splits as the earlier work the paper follows.
The metrics
RMSE, printed without a unit: lower is better. Pearson (p) and Spearman (Sp) correlation: higher is better. Results are averaged over 3 independent runs.
How to read it. Every bar starts at zero and ends with the cell exactly as printed. The difference in the strip under a chart is a plain subtraction of two printed cells, made by this page. A diamond and the words “this paper” mark GBPNet.

05 Taken apart

Remove one part at a time, and the paper measured what each removal cost.

Table 4 removes one thing per row on the protein design task: a part of the block, or one of six input features. The paper calls the Direction Unit vector “the most salient feature”. The table shows that, and a nuance: which removal costs most depends on the column you read.

Figure 6Measured, Table 4

Remove one part and set the result beside the full model

On every residue

On every contact

Inside the GBP block select a part of the drawing or its chip

One part at a time, because that is what the paper measured. The struck-through piece is the one removed.

Rank every removal by
Test subset
Show Table 4 as printed
Table 4, p.8. “Ablation study of proposed GBPNet.” Protein design task. Δt is the average time to complete a training epoch, in seconds.
Perplexity lower is betterRecovery higher is better
Ablation Parameters Δt Short Single All Short Single All
Architecture
Scalar Only1.588M128s7.2817.5677.24728.71%28.36%31.99%
- Vector Projection1.780M146s6.7946.4935.27331.24%33.16%40.90%
- Vector Identity1.677M140s6.1576.4865.02632.20%31.57%42.11%
Node Features
- Scalar: Dihedral1.677M138s7.8558.3015.38629.87%28.57%39.87%
- Vector: Orientation1.677M139s7.1247.3926.20629.55%28.57%36.28%
- Vector: Sidechain1.677M139s6.7236.9975.91531.45%29.96%37.92%
Edge Features
- Scalar: Relative Distance1.677M137s6.7116.8335.63031.53%30.43%38.43%
- Scalar: Relative Position1.677M138s6.1876.4775.09032.01%31.23%41.49%
- Vector: Direction Unit1.677M141s7.0297.1476.22330.12%29.42%35.59%
Full model
GBP1.677M145s6.1446.4585.02533.22%33.22%42.70%

Rows and labels as printed; the last group heading, “Full model”, is this page’s (the paper leaves it blank). One part removed at a time. Bold underlined cells are the paper’s bold. The paper prints a direction for Perplexity and Recovery only, none for Parameters or Δt.

What to look for. Read from the printed cells by this page: on the All columns, Direction Unit is the most costly feature to remove (perplexity 6.223, recovery 35.59%). On Short and Single perplexity, removing Dihedral costs more (7.855 and 8.301). Removing every arrow, the Scalar Only row, is the most costly removal on the All columns overall (7.247 and 31.99%). Cells: Table 4, p.8. Among the features, the paper singles out Direction Unit (Section 7.2.2).

Figure 7Measured, Table 5

Change one depth setting at a time and compare it with the base model

Metric
Test subset

Show Table 5 as printed
Table 5, p.8. “The parameter sensitivity analysis of the proposed GBPNet model.” Protein design task. PM is the number of trainable parameters, in millions.
Perplexity lower is betterRecovery % higher is better
γδωPM ShortSingleAll ShortSingleAll
3160.687.0387.5635.19831.0630.8340.84
5161.016.1536.4675.03433.6830.9341.63
7161.346.1596.4855.02933.7832.2442.02
11162.016.1696.5195.11132.8831.1141.73
9362.016.1786.4995.08532.5231.3241.55
9562.356.3056.6745.18730.8530.2239.20
9962.357.8158.2945.53028.3627.6038.45
9141.466.3316.6525.22733.8130.9240.83
9151.466.4546.8325.17833.3932.6941.85
9171.896.3686.7025.05932.9732.2442.28
9181.896.2056.4775.02931.4732.5242.21
91102.106.5016.2095.04233.3232.4841.38
9161.686.1446.4585.02533.2233.2242.70

Cells as printed, including the repeated PM values (2.01 twice, 2.35 twice, 1.46 twice, 1.89 twice). “Each model variant only changes one parameter” against the base model in the last row, whose cells match the GBPNet row of Table 1 to the two decimals printed there; Appendix C describes the protein design model with three decoder blocks and eight stacked GBP blocks. Dots, not lines: the paper tested separate settings, and a line would suggest values in between.

The paper’s reading: with encoder depth γ, results improve “slightly until nine, and then the performance drops”, and the three layer encoder, at 0.68 million parameters, “could be a lightweight option for real-world applications”. The paper also trains on 10% to 100% of the training set and reports that performance rises with dataset size (its Figure 4). That figure is not redrawn here, because this page charts printed values only. Source: Section 7.3, p.8 to p.9.

The one idea

Arrows may speak to numbers only through their lengths.

Two kinds of features

Every residue and every contact carries plain numbers and 3D arrows, and one drop-in block updates both together.

One narrow bridge

The arrows are squeezed through a bottleneck and reach the numbers only as lengths, so turning the protein leaves the numbers unchanged and turns the arrows with it.

What is not tested

The paper tests three protein tasks. It reports no experiment outside proteins, none inside another backbone, and no speed or memory comparison with other methods.

06 Office hours

The night shift answers.

Written by Tian's agent while Tian slept and Pepper supervised. Pepper accepts no liability either.

Each answer says where in the paper it comes from, so you can check the agent's work.

Pepper, the tabby cat, supervising: fast asleep on his blanket on the sofa, beside the laptop.
How is this block different from GVP, the baseline it is compared with on all three tasks?

The paper lists GVP as a baseline and describes it in one line, as a method that “encodes protein structure as scalars and vectors and processes the features by message passing neural network”. It does not set the two blocks side by side.

What it does isolate are two parts of its own block. Without the bottleneck: perplexity All 5.273 against 5.025, recovery All 40.90% against 42.70%, and 1.780M parameters against 1.677M. Without the gate: perplexity is about the same (5.026 against 5.025) and recovery All is 42.11% against 42.70%.

Source: Appendix D, p.11; Table 4 and Section 7.2.1, p.7 to p.8
Does the bottleneck make the model faster?

Not measurably in what the paper reports. With the bottleneck an average training epoch takes 145 s; without it, 146 s. The measured difference is in size (1.677M against 1.780M parameters) and in quality.

The complexity section gives Θ(MD² + ND²), with M edges, N nodes and representation depth D, and says the bottleneck “reduces the representation D by λ times”. The paper reports no speed, memory or size comparison with any other method.

Source: Table 4, p.8; Section 5, p.6
Is the turning rule proven or tested? What about shifting the protein, or its mirror image?

It is argued on paper for rotations, in Appendix B, and the printed argument covers one GBP block; the paper calls the whole network SO(3)-equivariant without writing that longer argument out.

For shifts, the paper states the property and builds its features from differences between positions and from distances, but prints no separate proof. Mirror images are not discussed. No numerical test is reported. The bench on this page checks the rotation rule numerically, for the toy block only.

Source: Appendix B, p.10; Section 1, p.2; Section 3, p.3
How solid are the margins?

For binding affinity the paper averages three runs: GBPNet’s RMSE is 1.405 ± 0.009 and the closest baseline, 3DCNN, is 1.416 ± 0.021. The difference between the two, 0.011, is smaller than 3DCNN’s own printed ±.

The protein design and structure ranking tables print single values with no spread and no number of runs, and the paper does not say whether the baseline values were re-run or taken from the cited papers. It reports no significance tests.

Source: Tables 1 to 3, p.7; Section 6.2, p.6
The title says “universal”. What was actually tested?

Three protein tasks: one classification task and two regression tasks, which the paper says “span different use cases” of its framework, using the same block and layer design with a different depth and head for each (nine, five and eight encoder blocks).

The abstract says the block can be placed in other backbones and used in other domains; the paper reports no experiment outside proteins and none inside another backbone. The ablation and sensitivity studies are on protein design only.

Source: Abstract, p.1; Section 6, p.6; Sections 7.2 and 7.3, p.7 to p.9; Appendix C, p.10