KinaseFoundationModel
Local installation

Download the models

Model release: 12 August 2026. Both models on this page come from that release.

Every model behind this site can be downloaded and run on your own machine. The command line package is github.com/smuskal/KFM; the weights are served from here. Nothing on this page is a different model from the one the website uses, the command line imports the bundle's own predict.py, so it computes the same number.

The weights are licensed separately from the code. Research and evaluation only: free for academic and non-profit research and teaching. Full terms travel with every bundle as LICENSE-MODELS.txt, and downloading is accepting them.

Two limits apply to everyone, including academic and non-profit users. This licenses you to run a model trained on the Kinase Knowledgebase. It grants no license to the Knowledgebase itself, to any part of it, or to any data in it. And it does not permit reverse engineering, nor any attempt to extract, reconstruct, infer or approximate the Knowledgebase from the weights or their outputs, including by systematic or bulk querying.

Install once, then download once

The weights are fetched by an explicit command, not by pip install and not on every run. They are cached on your machine and every later run reads them from disk without touching this site.

git clone https://github.com/smuskal/KFM.git cd KFM ./install.sh

One command installs the code and both models, then proves it works by scoring the published worked example: if bosutinib does not come back at 0.85 against ABL1 it fails rather than reporting success. Name a single model to install just that one.

Everything stays inside the KFM folder: the environment in ./env, the weights in ./kfm-models. No global environment is created or changed, nothing is written to your home directory, and deleting the folder removes every trace. It uses conda when it can find it and falls back to Python's own venv when it cannot.

./kfm.sh potency -t ABL1 -l @examples/ABL1_potency.smi ./kfm.sh where # where the models are, and the RAM each needs

Always run through ./kfm.sh. It uses the environment the installer built; a plain python is usually a base conda install with a different scikit-learn, which cannot load these models.

They land in ./kfm-models, in the directory you run the download from: in plain sight, not in a hidden cache under your home directory. A later command run from a subdirectory still finds them. KFM_HOME moves them, but do not point it inside Dropbox, iCloud or Drive, or every machine you own will re-sync several gigabytes of random forest.

What hardware you need

What went into them

Both models are trained on the Kinase Knowledgebase, Q2-2026 release, and on nothing else. ChEMBL is held back and used only to test, so every accuracy quoted for these downloads was measured on measurements the models have never seen. Targets are keyed by sequence, so a mutant is a target in its own right.

QuantityPotencySelectivity
Measurements from the Knowledgebase841,187841,187
Distinct ligands302,99999,739
Distinct target sequences733728
Comparisons fitted on15,256,0174,340,117
Rows after the label-reversal swap40,056,4528,680,234
Held-out ChEMBL comparisons scored1,836,1003,137,588
Targets covered by that test477482

A comparison is built from a pair of measurements, which is why the comparison counts run far ahead of the measurement count: one kinase measured against 1,000 compounds yields 499,500 ordered pairs from 1,000 experiments. Full construction and every caveat are in the potency report and the selectivity report.

RAM is the constraint, not disk, not cores, and no GPU is used. These are random forests pickled with joblib, and they expand about sevenfold when loaded, so the file size badly understates what a machine needs. Measured on arm64, Python 3.11, scikit-learn 1.7.2:

ModelOn diskRAM once loadedLoad time
Potency0.76 GB5.0 GB~8 s
Selectivity2.84 GB22 GB~27 s
A 16 GB laptop runs potency comfortably, but cannot run selectivity. It will thrash swap for several minutes and then be killed by the operating system, which looks like a broken model rather than a machine that is too small. Selectivity wants 32 GB, which is why the service behind this site runs it on a 32 GB instance.

kfm where prints each model's requirement next to what your machine actually has, and says which are too big. More cores make scoring faster but none are required; a single core works, just slower.

The bundles

Loading…

What each model can and cannot do: limitations. Inquiries: Eidogen-Sertanty.

Related: Family Foundation Model · GPCR Foundation Model · PharmCast · Reverse Screen · ToxPred · Built by