Four CiPA compounds, read end to end.

Dofetilide, verapamil, ranolazine and astemizole, run on the published Kernik-Clancy human iPSC-cardiomyocyte model. Each read gives ranked ion-current mechanisms, a dose-response, a TdP class, one confirming experiment, and a statement of what the read cannot resolve. Two of the four are wrong. Both are here.

how to read these

Every read below starts from the same two public inputs: a panel of ion-channel IC50 and Hill values, and a free plasma Cmax. Both come from the CiPA reference dataset. Nothing proprietary is used and nothing is fitted to the answer.

The pipeline has two halves. The forward half applies static Hill block to the model's conductances at 1x, 2x, 3x and 4x free Cmax, simulates the action potential, and reports APD90. A frozen pair of thresholds turns the largest fractional APD90 change into one of three TdP classes. The inverse half throws away the known panel, takes only the resulting action-potential shape, and searches 1,560 conductance hypotheses over six currents for the ones that reproduce that shape. Then it asks which hypotheses it cannot tell apart.

The load-bearing caveat, stated once and applying to all four. The inverse rankings on this page are run against phenotypes this same model generated. They show what the search recovers when the data are internally consistent by construction. They are not evidence of accuracy on a measured wet-lab trace, because no measured trace was used. Treat the ranked mechanism lists as a demonstration of resolving power and degeneracy, not as a validated prediction.

what the risk score uses

The three-class TdP score is driven by three currents: hERG/IKr, Cav1.2/ICaL and peak Nav1.5/INa. IKs, IK1, Ito and late sodium are measured in the panel and read into the pipeline, but they do not enter the scored simulation. The inverse search is wider: it ranges over six currents, adding IKs, IK1 and Ito. Late sodium is in neither, because the Kernik-Clancy formulation has no distinct INaL. That gap decides one of the four cases below.

drug-free baseline, this run
biomarkerthis runpublished Kernik-2019
APD90413.31 ms414 ms
maximum diastolic potential-75.60 mV-76 mV
spontaneous rate61.04 bpm61 bpm

Every percentage below is against this 413.31 ms baseline. Re-running the July validation this week reproduced all four risk classes and moved the risk scores by about 0.002, which is solver tolerance, not a change in the answer.

case 01 · the clean one

Dofetilide · selective IKr blocker, class III

why this compound

Dofetilide is the reference positive control for TdP. It is a near-selective hERG blocker with a free Cmax of 2 nM and a hERG IC50 of 4.87 nM, so it sits at roughly one IC50 of its own target at therapeutic exposure. If a mechanism read cannot get dofetilide right, nothing else it says is worth reading. This is the easy case, and it is here to set the ceiling.

input data · CiPA reference panel
currentIC50 (nM)Hillblock at 1x Cmaxin the scored model
hERG / IKr4.870.9330.4%yes
Ito18.80.7715.1%no
Cav1.2 / ICaL2601.160.4%yes
Nav1.5 / INa peak3800.890.9%yes
Kir2.1 / IK13940.771.7%no
late Na / INaL7.53e50.263.4%no
IKsno value in the public panel

Free Cmax 2 nM. Concentrations examined: 2, 4, 6 and 8 nM.

ranked mechanisms at 1x free Cmax
rankhypothesisfit (normalised RMSE)
1hERG/IKr reduced to 0.65 of control0.123
2hERG/IKr reduced to 0.750.135
3IKs reduced to 0.200.414

Distinguishable. The true block is 30.4%, so the true conductance scale is 0.696. The search brackets it with the two adjacent grid points and puts the next current three times further away. The gap between rank 2 and rank 3 is a factor of three in fit error, which is the signature of an identifiable single-current mechanism.

Ambiguous. Allowing two currents instead of one produces a better number: hERG/IKr 0.75 paired with IKs 0.65 fits at 0.044. IKs is not part of dofetilide's mechanism. A second free parameter always improves a fit. We only promote a pair over a single when the single grid fails outright, which here it does not.

dose-response
multiple of free CmaxIKr blockICaL blockINa blockAPD90change
1x (2 nM)30.4%0.4%0.9%476.7 ms+15.3%
2x (4 nM)45.4%0.8%1.7%528.2 ms+27.8%
3x (6 nM)54.8%1.2%2.4%594.0 ms+43.7%
4x (8 nM)61.3%1.7%3.1%repolarisation fails
this read
High
driven by IKr; score at the 2.0 ceiling
CiPA reference class
High
correct
confirming experiment

None is needed to identify the mechanism, and that is the finding. The useful experiment here is quantitative rather than discriminating: a concentration series at 0.25x to 2x free Cmax on iPSC-CM optical action potentials, to test the predicted +15.3% APD90 at 2 nM.

Do not run it at 4x. At 4x the model stops repolarising, and every hypothesis that also stops repolarising scores identically. Collapse is a saturated signal: it tells you the compound is dangerous and nothing about which current did it. Three of the top hypotheses at 4x are tied at the same fit value for exactly this reason, including one, IK1 raised twofold, that has nothing to do with dofetilide.

limits of this read
  • Ito is ignored. Dofetilide blocks Ito by 15% at 1x and 34% at 4x. The scored model does not apply it. The APD90 numbers above are an IKr-and-calcium story with a real Ito effect left out.
  • No IKs data exists for dofetilide in the public panel, so the inverse search treats IKs as free. That is why it appears at rank 3.
  • Single cell, no tissue. There is no conduction, no QRS and no re-entry. The model bounds a cellular cause; it does not predict an arrhythmia.
what a plain hERG margin would have done

Also correct, at a fraction of the effort. A free hERG margin of -0.386 log units puts dofetilide over the High boundary. On this compound the mechanism read buys you the dose-response curve and the recommended concentration window, not a better class call.

case 02 · the hard one

Verapamil · balanced IKr and ICaL block

why this compound

Verapamil is the compound that broke hERG-only screening. It is a potent hERG blocker that never causes TdP in the clinic, because it blocks L-type calcium at the same time and the two effects cancel. It is the canonical argument for reading mechanism instead of a single channel. It is also the drug most often quoted in our favour, and the quote does not survive contact with the result: we get verapamil wrong too, just less wrong.

input data · CiPA reference panel
currentIC50 (nM)Hillblock at 1x Cmaxin the scored model
Cav1.2 / ICaL2021.1026.8%yes
hERG / IKr2880.9622.8%yes
late Na / INaL7.03e31.031.0%no
Ito1.34e40.821.5%no
Kir2.1 / IK13.49e80.27<0.1%no
Nav1.5 / INa peak, IKsno values in the public panel

Free Cmax 81 nM. Concentrations examined: 81, 162, 243 and 324 nM. The two IC50s are within a factor of 1.4 of each other, which is what makes this case hard and what makes it interesting.

ranked mechanisms at 1x free Cmax
ranksingle-current hypothesisfit
1IK1 raised to 1.100.171
2Ito raised to 2.000.327
3IK1 raised to 1.250.348

Every single-current answer is wrong. Verapamil's phenotype is a mild APD prolongation with the calcium contribution partly cancelling it, and no single conductance change in this model reproduces that shape. Publishing this failure is the point: a single-current search on a multi-channel compound returns a confident, wrong answer.

ranktwo-current hypothesisfit
1hERG/IKr 0.75 + ICaL 0.750.060
2hERG/IKr 0.90 + IK1 1.100.089
3IK1 1.10 + Ito 2.000.105

The pair grid recovers it. True scales are IKr 0.772 and ICaL 0.732; the search returns 0.75 and 0.75. At 4x the true scales are 0.472 and 0.373 and the search returns 0.50 and 0.35. Both currents, both magnitudes, from the action-potential shape alone.

Two hypotheses survive. Rank 1 and rank 2 are within a factor of 1.5 of each other, and they say different things: "the drug blocks calcium" against "the drug does not touch calcium and the cell is more polarised". Five voltage biomarkers cannot separate them. That is the ambiguity the confirming experiment exists to kill.

dose-response
multiple of free CmaxIKr blockICaL blockAPD90change
1x (81 nM)22.8%26.8%436.7 ms+5.7%
2x (162 nM)36.5%44.0%453.8 ms+9.8%
3x (243 nM)45.9%55.1%470.9 ms+13.9%
4x (324 nM)52.8%62.7%490.9 ms+18.8%

Compare with dofetilide: at 4x, dofetilide has stopped repolarising while verapamil has prolonged by 19%. That separation is produced entirely by the calcium block, and it is invisible to any hERG-only method.

this read
Intermediate
score 0.19; one class too high
CiPA reference class
Low
hERG-only baseline says High
confirming experiment · one assay, and we simulated the answer

Record the cytosolic calcium transient on the same iPSC-CM well as the action potential, drug against paired vehicle, and report transient amplitude as a percentage of the matched control.

hypothesispredicted Ca transient amplitude, % of control
drug-free baseline100.0%
IKr 0.772 + ICaL 0.732 (the true pair)88.6%
IKr 0.75 + ICaL 0.75 (grid winner)89.3%
IK1 1.10 (top single)103.2%
IKr 0.90 + IK1 1.10 (rank 2 pair)102.8%

The two surviving hypotheses move calcium in opposite directions, about 14 percentage points apart. That is a sign test, not a magnitude test, which is what makes it usable on a plate. A calcium readout adds one dye and no new instrument to an assay the customer is already running.

Caveat, because it matters: 14 points is the model's predicted separation, not a measured one. Well-to-well variability in iPSC-CM calcium amplitude is real, so this needs a paired vehicle design and enough wells to resolve 14 points. We have not run it on cells.

limits of this read
  • We get the class wrong. Verapamil is clinically Low and we call it Intermediate. The prolongation is real in the model and does not shrink enough to cross our frozen Low boundary.
  • No INa peak value exists in the public panel for verapamil, so sodium block is absent from the simulation entirely.
  • The pair grid stops at two currents. Three simultaneous currents are not identifiable from five biomarkers, tested and confirmed. If the real mechanism is three-way, this read will name two of them and be quietly wrong about the third.
what a plain hERG margin would have done

Worse, and this is the one place where that is true. The hERG margin is -0.551 against a frozen High boundary of -0.589, so it calls verapamil High and misses by two classes. It is the only compound in the 28 on which any method makes a two-class error. It is not, however, a compound we get right, and it is not the only one where we beat the margin. Head to head across the 28, our call is correct on two drugs the margin misses (astemizole and risperidone) and wrong on three it gets (loratadine, nifedipine, nitrendipine). Net, we are one compound behind. Verapamil shows what a multichannel read is for. It does not show that ours works.

case 03 · a loss the model cannot fix

Ranolazine · the current our model does not have

why this compound

Ranolazine is an anti-anginal whose therapeutic action is late sodium current block. It also blocks hERG. Clinically it is Low risk, because the late sodium block shortens the action potential by about as much as the hERG block lengthens it. We call it Intermediate. This case is on the site because the reason we get it wrong is structural and nameable, and a customer deserves to know the failure mode before they buy.

input data · CiPA reference panel
currentIC50 (nM)Hillblock at 1x Cmaxin the scored model
late Na / INaL7.88e30.9421.2%NO
hERG / IKr8.27e30.88721.7%yes
Nav1.5 / INa peak6.88e41.420.6%yes
IKs3.62e70.52<0.1%no
Cav1.2 / ICaL, Ito, Kir2.1 / IK1no values in the public panel

Free Cmax 1950 nM. Concentrations examined: 1950, 3900, 5850 and 7800 nM. Note the top two rows: the INaL and IKr IC50s are within 5% of each other. Ranolazine blocks both to almost exactly the same degree at every concentration tested, 21.2% against 21.7% at 1x and 49.8% against 48.7% at 4x. The Kernik-Clancy formulation carries only one of them.

ranked mechanisms at 1x free Cmax
ranksingle-current hypothesisfit
1hERG/IKr reduced to 0.750.073
2IKs reduced to 0.200.210
3hERG/IKr reduced to 0.900.237

The inverse read is self-consistent and useless here. True IKr scale is 0.783 and the search returns 0.75, correct to within one grid step at both 1x and 4x. It recovers exactly what it was given. It cannot recover the current it was never told about, and no amount of ranking fixes that.

dose-response
multiple of free CmaxIKr blockINaL block (not simulated)APD90change
1x (1.95 uM)21.7%21.2%455.0 ms+10.1%
2x (3.9 uM)33.9%34.1%486.8 ms+17.8%
3x (5.85 uM)42.4%43.1%515.7 ms+24.8%
4x (7.8 uM)48.7%49.8%543.9 ms+31.6%

The +31.6% at 4x is the number that pushes ranolazine over our Low boundary. A model carrying late sodium would shorten every row in that last column. We cannot tell you by how much, because we have not run one.

this read
Intermediate
score 0.31; one class too high
CiPA reference class
Low
hERG-only baseline also says Intermediate
confirming experiment

Record iPSC-CM action potentials with and without a selective late-sodium blocker in the background, then repeat the ranolazine concentration series in both conditions. If the compound's prolongation shrinks when late sodium is already blocked, the missing current is carrying the difference, and the size of the shrinkage is the correction our model owes you.

This experiment tells you how wrong the model is. An experiment that only confirms it tells you less.

limits of this read
  • The Kernik-Clancy 2019 formulation has no distinct late sodium current. This is the single largest known weakness of every read we publish. Any compound whose safety margin depends on INaL block will read too dangerous.
  • The direction of the error is predictable. Missing an APD-shortening current can only bias the class upward. It cannot make a dangerous compound look safe. That is the better direction for a screening tool to fail in, and it is still an error.
  • Flag before you buy. If your compound has a measured INaL IC50 within about a factor of ten of its hERG IC50, say so in the request. We will tell you the read is compromised rather than sell it to you. More on the model choice and its gaps.
what a plain hERG margin would have done

Equally wrong. The hERG margin is -0.627 and also lands on Intermediate. Both methods miss because neither one sees the net effect of late-sodium block cancelling hERG block. We tested the fix directly: adding a late-sodium current to the model recovers mexiletine but still does not recover ranolazine. Simplicity is not the problem here, and complexity is not the fix.

case 04 · the blind-set win

Astemizole · a potent blocker at a tiny exposure

why this compound

Astemizole was withdrawn for QT prolongation and TdP. It is a very potent hERG blocker with a free Cmax of 0.26 nM, so the therapeutic margin against hERG looks enormous: an IC50 of 33.3 nM is 128-fold above exposure. A margin-based method reads that number and calls it safe. It was not safe. Astemizole is in the held-out validation half of the benchmark, so its class was never used to set our thresholds.

input data · CiPA reference panel
currentIC50 (nM)Hillblock at 4x Cmaxin the scored model
hERG / IKr33.30.717.9%yes
Cav1.2 / ICaL5571.220.05%yes
Nav1.5 / INa peak5.5e30.7350.2%yes
INaL, Ito, IKs, IK1no values in the public panel

Free Cmax 0.26 nM. Concentrations examined: 0.26, 0.52, 0.78 and 1.04 nM. Only one current moves at all, and it moves by less than 8% even at the top concentration.

ranked mechanisms · the null result

At 1x free Cmax no current is blocked by as much as 5% and the action potential is 1.25% off drug-free baseline. The search still returns a ranked list, because it always does. Its top answer is IKs reduced to 0.75, a current astemizole has no measured value for and does not meaningfully block. The three top hypotheses are separated by 0.016 in fit error.

rankhypothesis at 4x free Cmaxfit
1IKs reduced to 0.500.0332
2hERG/IKr reduced to 0.90 (the true mechanism)0.0385
3IKs reduced to 0.350.0496

Nothing here is identifiable, and the report refuses to name a winner. The true mechanism sits at rank 2, behind a wrong answer by 0.0053. Compare dofetilide, where the gap between the right current and the next one was 0.28. Fifty times smaller phenotype, fifty times less resolving power. A ranked list without a stated gap is a list that pretends to know things.

We also checked whether the calcium readout that rescued verapamil helps here. It does not: the two surviving hypotheses predict 99.6% and 99.3% of control calcium amplitude. That is 0.3 percentage points, well under any plate's noise floor. Reporting a discriminating assay that cannot discriminate would be worse than reporting none.

dose-response
multiple of free CmaxIKr blockAPD90change
1x (0.26 nM)3.1%418.5 ms+1.3%
2x (0.52 nM)5.0%421.7 ms+2.0%
3x (0.78 nM)6.5%424.5 ms+2.7%
4x (1.04 nM)7.9%426.8 ms+3.3%
this read
Intermediate
score 0.03; correct, held-out
CiPA reference class
Intermediate
hERG-only baseline says Low
confirming experiment

Measure IKs block directly by voltage clamp, KCNQ1 with KCNE1, at 1x to 10x free Cmax.

The rationale is not that we suspect IKs. It is that the public panel has no IKs value at all for astemizole, so the search treats IKs as an unconstrained free parameter and it wins on that freedom rather than on evidence. One measurement removes the degeneracy by removing the freedom. This is what a confirming experiment is for: it is chosen to kill an ambiguity, not to confirm a belief.

Second, cheaper option: run the concentration series out to 10x or 30x free Cmax. IKr block rises to a level the biomarkers can resolve, and the phenotype stops being degenerate. Only do this if a supratherapeutic exposure is meaningful for your programme.

limits of this read
  • The class call is right and the mechanism call is not. Those are separate outputs and they fail separately. Do not read a correct class as evidence that the ranked list underneath it is correct.
  • A 3% APD90 change is inside the range where a real plate would show nothing. Our own noise testing shows that small-magnitude causes are recovered correctly about a third of the time at 5% biomarker noise, against about 80% for large-magnitude causes.
  • Four of the eight panel currents have no value for this compound. Missing inputs do not make a read impossible; they make it wider, and the width belongs in the report.
what a plain hERG margin would have done

Wrong. The margin is -2.107, comfortably under the frozen Low boundary of -2.034, so the baseline calls astemizole Low. A drug withdrawn from the market for TdP is read as safe by the 128-fold hERG margin, and read as Intermediate by a model that simulates what a 3% APD change does to a cell. That is the case for mechanism, stated on the single compound where it holds.

what the four cases show together

Two right, two wrong, and the wrong ones are more informative. Dofetilide and astemizole land on the correct class. Verapamil and ranolazine do not. On the full 28-drug panel we get 17 of 28 exactly right and a plain hERG margin gets 18 of 28, so the simple method still wins on aggregate accuracy and we publish that.

Resolving power scales with phenotype size, not with compound importance. Dofetilide moves APD90 by 15% and the right current wins by a factor of three. Astemizole moves it by 1.3% and the right current loses by 0.005. The same pipeline, the same six candidate currents, and completely different amounts of knowledge in the output. A read that does not tell you which of those two situations you are in is not worth reading.

A single-current answer on a multi-channel drug is confidently wrong. Verapamil's single-current grid names IK1 at every concentration. Only the pair grid finds calcium. If a method never widens its hypothesis space, it will never notice that it should have.

Some questions the model cannot answer, and the report should say so. Ranolazine fails because of a current that does not exist in the formulation. That failure is not fixable by ranking harder, by adding data, or by a confirming experiment on our side. It is fixable by knowing about it in advance.

Want this on a compound of yours? The first read is free. Send one compound with published or non-confidential ion-channel data and an approximate free Cmax, and you get the same report format shown above. What a free read covers, in detail.

request a free first read -> where this method loses
Ion-channel IC50, Hill and free Cmax values from the CiPA 28-drug reference dataset, derived from the FDA/CiPA public repository (branch Model-Validation-2018) and Li et al. 2017; TdP classes from Colatsky et al. 2016. Fractional block is the Hill equation applied to those values at the stated multiple of free Cmax. Action potentials are the Kernik-Clancy 2019 human iPSC-CM model (doi.org/10.1113/JP277724) integrated with Myokit/CVODE; baseline and dose-response re-run 2026-09-06. Risk scores and classes reproduce the frozen CiPA validation run (T-151, 2026-07-03) to within 0.002. Inverse rankings are a 1,560-hypothesis grid over six conductances, scored against phenotypes generated by the same model. Calcium-transient predictions are from the model's own cytosolic calcium state and have not been measured on cells.
get in touch
[email protected]