---
title: "Reading AlphaFold Confidence Correctly: A Structural Census of All 21 Human CDKs"
description: "K-Dense Web analyzed AlphaFold models for all 21 human CDKs and found that chain-level confidence says almost nothing about the kinase domain drug hunters target."
updatedAt: "2026-09-25"
author: "Darshil Patel"
authorTwitter: "Darshil2710"
authorLinkedIn: "https://www.linkedin.com/in/darshilpatel2710/"
tags: ["Use Case", "Structural Biology", "AlphaFold", "Kinases", "Drug Discovery"]
canonical: "https://www.k-dense.ai/blog/alphafold-cdk-family-structural-census"
---
**Across the 21 human cyclin-dependent kinases, the average AlphaFold confidence of the whole chain has essentially zero correlation with the confidence of the kinase domain (Pearson r = -0.02).** CDK12 looks like one of the worst-predicted CDKs at the chain level (mean pLDDT 50.8) and one of the best at the kinase domain (93.5). If you rank CDKs for a structure-based project by the number AlphaFold DB puts on the front page, the ranking tells you almost nothing: CDK12 and CDK13 land at the bottom of the list, even though they have two of the three most confident kinase domains in the family.

CDKs are among the most heavily pursued kinase targets in oncology. CDK4/6 inhibitors are standard of care in HR+/HER2-negative breast cancer, and CDK2, CDK7, CDK9 and CDK12 all have active programs. Structure-based work on the less-studied members of the family often starts from an [AlphaFold DB](https://alphafold.ebi.ac.uk) model, because experimental structures are sparse or absent for many of them. That makes it important to know which parts of each model can be trusted, and what conformational state the predicted active site is actually in.

In this case study, K-Dense Web took a single short prompt and produced a family-wide structural census: every model downloaded and checked, confidence broken down by region, the active site of each model classified against two crystal structures, and a fully referenced report. The session ran for about two hours at high effort. You can inspect the full session, including every script and intermediate file, [here](https://app.k-dense.ai/share/session_20260923_173635_4feb2d34f8c5).

![Key findings from the CDK structural census](https://www.k-dense.ai/blog/alphafold-cdk-family-structural-census/key_findings_card.png)
*Headline results from the session. All values were computed by the agent from the AlphaFold DB models and PDB structures.*

## The Pipeline

The agent planned and executed an eight-stage analysis, writing 37 Python scripts along the way:

1. **Identity resolution.** Resolved every CDK gene symbol against reviewed human UniProt entries before downloading anything, and checked each against the accession list in its own plan.
2. **Model acquisition.** Downloaded all 21 AlphaFold DB models and their predicted aligned error (PAE) matrices.
3. **Domain mapping.** Located each kinase domain and mapped structural landmarks (glycine-rich loop, hinge, αC helix, DFG motif, activation segment) onto every sequence, using two independent methods (a Pfam HMM and a BLOSUM62 alignment) that agreed on a median 93% of residues.
4. **Confidence partitioning.** Split per-residue pLDDT into N-terminal tail, kinase domain and C-terminal tail, and into lobes and loops within the domain.
5. **Reference alignment.** Superposed each kinase core onto two CDK2 crystal structures: [1JST](https://www.rcsb.org/structure/1JST) (phosphorylated CDK2 bound to cyclin A, the canonical active state) and [1HCK](https://www.rcsb.org/structure/1HCK) (monomeric CDK2, inactive).
6. **Classifier control.** Ran the conformation classifier on the two crystal structures first, where the right answer is known.
7. **Conformation calls.** Classified every model's DFG motif using the [Modi and Dunbrack](https://doi.org/10.1073/pnas.1814279116) distance criteria, and its αC helix using both the β3 lysine to αC glutamate salt bridge and helix orientation.
8. **Reporting.** Generated figures, verified every headline number against the underlying tables, and wrote a 33-page report with 96 references.

![The analysis pipeline](https://www.k-dense.ai/blog/alphafold-cdk-family-structural-census/pipeline.png)
*The same pipeline condensed into five stages, with the per-step verification and the classifier control shown as banners. Identity resolution is part of Acquire, and reporting is not drawn. Note that this figure reports the rank (Spearman) correlation between core and chain confidence, while the text above reports the Pearson correlation. Both lead to the same conclusion: the chain-level number is a poor proxy for the core.*

## Finding 1: The Low Confidence Lives in the Tails

Across the family, 4,832 residues fall below pLDDT 70, the threshold below which AlphaFold's backbone placement should not be trusted. Only 558 of them sit inside a kinase domain. For the median CDK, 81% of its low-confidence residues are in the terminal tails, and only 9% of the kinase core falls below 70. Low pLDDT in these long tails is expected: in AlphaFold's [human proteome analysis](https://doi.org/10.1038/s41586-021-03828-1), very low confidence was shown to be a good predictor of intrinsic disorder rather than a failure of the model.

The consequence is that tail length, not fold quality, drives the chain-level score. CDK12 and CDK13 each carry more than 1,000 residues outside the kinase domain (roughly 80% of the chain), so their whole-chain averages collapse even though their cores are among the most confident in the family. Meanwhile the compact cell-cycle CDKs, which are almost all kinase domain, look excellent at the chain level and merely average at the core.

![Whole-chain versus kinase-core pLDDT across the CDK family](https://www.k-dense.ai/blog/alphafold-cdk-family-structural-census/plddt_profiles.png)
*Left: mean pLDDT of the whole chain (open circles) against the kinase core only (diamonds) for each CDK. CDKs that move five or more rank places are marked in orange if they climb and in blue if they fall, with the size of the move labeled. Right: the share of each chain below pLDDT 70, split by where those residues sit. The long termini of CDK11, CDK12, CDK13 and the CDK14 to 18 subfamily carry most of the low-confidence residues.*

The table lists every CDK whose rank moves by five or more places when it is scored on the kinase domain instead of the whole chain. That is 10 of the 21, the same set highlighted in the figure. Three CDKs climb and seven fall, and every one of the seven drops at least seven places.

| CDK | Full-chain mean pLDDT | Kinase-domain mean pLDDT | Rank (full chain) | Rank (kinase domain) | Change |
|-----|----:|----:|----:|----:|----:|
| CDK12 | 50.8 | 93.5 | 20 | 2 | +18 |
| CDK13 | 49.8 | 93.2 | 21 | 3 | +18 |
| CDK8 | 79.8 | 91.8 | 11 | 5 | +6 |
| CDK2 | 88.5 | 89.5 | 3 | 10 | -7 |
| CDK4 | 86.8 | 88.5 | 5 | 12 | -7 |
| CDK15 | 72.4 | 85.6 | 14 | 21 | -7 |
| CDK18 | 73.2 | 86.9 | 13 | 20 | -7 |
| CDK7 | 82.0 | 87.2 | 10 | 18 | -8 |
| CDK1 | 89.3 | 89.5 | 2 | 11 | -9 |
| CDK3 | 86.1 | 87.7 | 6 | 15 | -9 |

The full range tells the same story. Full-chain means span 49.8 to 91.6 across the family, while kinase-domain means span only 85.6 to 93.8. Every CDK kinase domain is predicted with high confidence. The one region inside the domain that is consistently weak is the activation segment, where the median CDK has 64% of residues below pLDDT 70. That is the flexible loop whose conformation depends on cyclin binding and phosphorylation, so it is also the region most relevant to the next question.

## Finding 2: AlphaFold Predicts Monomers, and the Active Sites Show It

All 21 models are DFG-in, and the αC helix splits almost evenly: 11 models are αC-in and 10 are αC-out. The αC-out group includes CDK1, CDK2, CDK3 and CDK6, the classic cell-cycle kinases whose αC helix is held in the active position by cyclin binding. Without a cyclin in the prediction, AlphaFold places them in the inactive monomer state. The CDK2 model makes this concrete: its pocket sits 0.77 Å from the inactive 1HCK structure and 2.54 Å from the active 1JST structure, against a 3.13 Å difference between the two crystals themselves.

This is not a flaw in AlphaFold so much as a property of what it was asked to predict. A single-chain model of a cyclin-dependent kinase shows the kinase without its cyclin. But it means a docking campaign against the CDK2 AlphaFold model is a campaign against the inactive pocket, whether or not the user intended that.

![Active-site conformations across the CDK family](https://www.k-dense.ai/blog/alphafold-cdk-family-structural-census/active_site_comparison.png)
*Active-site state for every model. Left: how closely each ATP pocket resembles active 1JST versus inactive 1HCK, with CDK2 labeled. Right: the lysine to glutamate salt-bridge distance that defines αC-in versus αC-out, with the two crystal structures marked as controls.*

The per-model calls also show that no single readout is enough. For 11 of the 21 models, the αC call and the "which crystal does the pocket resemble" call point in different directions, as the table below shows.

| CDK | αC call | Salt bridge (Å) | Pocket closer to | Readouts agree? |
|-----|-----|----:|-----|-----|
| CDK1 | αC-out | 14.6 | Inactive 1HCK | Yes |
| CDK2 | αC-out | 14.0 | Inactive 1HCK | Yes |
| CDK3 | αC-out | 11.7 | Inactive 1HCK | Yes |
| CDK4 | αC-in | 2.8 | Inactive 1HCK | No |
| CDK5 | αC-in | 2.8 | Active 1JST | Yes |
| CDK6 | αC-out | 10.1 | Inactive 1HCK | Yes |
| CDK7 | αC-out | 12.5 | Active 1JST | No |
| CDK8 | αC-in | 2.7 | Active 1JST | Yes |
| CDK9 | αC-in | 2.7 | Inactive 1HCK | No |
| CDK10 | αC-in | 2.7 | Inactive 1HCK | No |
| CDK11A | αC-in | 2.7 | Inactive 1HCK | No |
| CDK11B | αC-in | 2.6 | Inactive 1HCK | No |
| CDK12 | αC-in | 2.7 | Active 1JST | Yes |
| CDK13 | αC-in | 2.7 | Active 1JST | Yes |
| CDK14 | αC-out | 11.0 | Inactive 1HCK | Yes |
| CDK15 | αC-out | 11.6 | Active 1JST | No |
| CDK16 | αC-out | 12.7 | Active 1JST | No |
| CDK17 | αC-out | 7.5 | Active 1JST | No |
| CDK18 | αC-out | 5.3 | Active 1JST | No |
| CDK19 | αC-in | 2.7 | Active 1JST | Yes |
| CDK20 | αC-in | 2.7 | Inactive 1HCK | No |

Six αC-in models (CDK4, CDK9, CDK10, CDK11A, CDK11B and CDK20) have pockets that sit closer to the inactive reference, while CDK7 and CDK15 to 18 are αC-out with pockets closer to the active one. CDK18 is also the one model where the two αC criteria disagree with each other (salt bridge 5.3 Å). A structure-based project should look at the motif-level measurements, not a single label.

## The Classifier Was Tested Before It Was Trusted

A conformation classifier is only useful if it gets the known cases right, so the agent ran it on the two reference crystals first. The active 1JST structure came back αC-in with a 2.76 Å salt bridge, and the inactive 1HCK structure came back αC-out at 16.6 Å. Only after that control passed were the 21 AlphaFold calls reported.

The agent was also explicit about where its calls are weaker. CDK8 and CDK19 carry a DMG motif in place of the canonical DFG, so the Dunbrack criteria, which were developed for the phenylalanine, do not apply cleanly. Their DFG-in calls are marked provisional in the report rather than reported alongside the others as if they were equally certain.

## The Agent Caught Errors in Its Own Plan

The most useful part of this session for me, as someone who reads a lot of K-Dense Web output, is what happened before any structure was downloaded. The research plan listed a UniProt accession for each of the 21 CDKs. Instead of using those accessions directly, the agent resolved every gene symbol against reviewed human UniProt entries and compared the two lists. Four of the plan's accessions were wrong.

| CDK | Accession in the plan | Resolved accession | What went wrong |
|-----|-----|-----|-----|
| CDK15 | Q00536 | Q96Q40 | Plan used the CDK16 accession |
| CDK16 | Q00537 | Q00536 | Plan used the CDK17 accession |
| CDK17 | Q00532 | Q00537 | Plan pointed to a different protein |
| CDK20 | Q8NDZ2 | Q8IZL9 | Plan pointed to a different protein |

Had the plan been followed literally, the census would have silently analyzed the wrong structures for four family members, and every downstream table and figure would have looked perfectly normal. The same habit showed up throughout the run. The agent found that the AlphaFold DB file version named in its plan no longer resolved and switched to the current release, corrected the plan's claim that CDK7 carries a DMG motif (it is CDK8 and CDK19), fixed the year of the 1HCK citation, and checked all 30 headline values in the report against the result tables before finishing.

## What the Analysis Does Not Claim

A few limits are worth stating plainly. pLDDT measures confidence in local structure, not correctness of the biological state, so a high-confidence αC-out prediction is a confident prediction of the monomer, not evidence that the drug-relevant state is inactive. The analysis covers single-chain predictions only, with no cyclins, partner proteins or phosphorylation. The report also went through the session's internal verification step, but it has not been independently peer reviewed.

## What This Pipeline Replaced

A structural census like this is normally a multi-week side project for a computational structural biologist. It means identity-checking accessions across databases, writing parsers for AlphaFold files and PAE matrices, building a residue correspondence to a reference kinase, implementing and validating a conformation classifier, and then turning it all into figures and a referenced write-up. In this session, one prompt produced all of it, along with the scripts and intermediate tables needed to rerun or extend any step.

The broader lesson applies well beyond CDKs. Whenever a protein family mixes compact domains with long disordered regions, a single confidence number per model is the wrong summary. Partition by region, check the state against known structures, and verify identifiers before anything else.

Try it yourself at [app.k-dense.ai](https://app.k-dense.ai), or browse the full session [here](https://app.k-dense.ai/share/session_20260923_173635_4feb2d34f8c5).

Questions? Contact us at contact@k-dense.ai.
