Every file below is listed in SHA256SUMS, which is append-only. A published checkpoint is never replaced in place.
curl -O https://pharmcast.ai/models/pharmcast_scp_v10.pt
curl -O https://pharmcast.ai/models/SHA256SUMS
shasum -a 256 pharmcast_scp_v10.pt # macOS / Linux
certutil -hashfile pharmcast_scp_v10.pt SHA256 # Windows
SCP v10 is the current model. Superseded releases move to the model archive: still downloadable, still checksummed, but not what new work should use.
PharmCast SCP v10 current
Screening collection + ChEMBL + peptides, trained 1 September 2026
- Download
- pharmcast_scp_v10.pt 32,887,857 bytes (31.4 MB)
- SHA-256
- b25ad356fb9b4bc2a05f6a7c06e87efc81a0832195ad73068d90448dd36284cf
- Training set
- 5,887,229 molecules for gradient updates, drawn from a sealed snapshot of 5,946,696: 4,609,488 screening collection, 1,214,214 activity-backed ChEMBL from 142 to 1000 Da, 122,994 loop peptides. 1% (59,467) was reserved as a molecular-weight-stratified stopping set.
- Fingerprint width
- 10,549, one output per pharmacophore
- Parameters
- 8,045,877. Inputs 2,059, binary2048 features, hidden 1024 and 512, batch 256, learning rate 0.001.
- Training
- 100 epochs, the epoch-68 weights restored as the best stopping loss.
- Accuracy
- Measured on molecules the model cannot have seen.
The peptide row is the reserved test set of 13,500 loops held back from the corpus and never trained on. It is the largest and most stable of the three and the one to read first. Per fingerprint rather than per pair, its median MCC is 0.914, with a 10th percentile of 0.846 and a 90th of 0.958.Population n Median error Within 0.05 Pearson r Ranking Loop peptides, reserved test set 13,500 0.016 88% 0.984 0.952 ChEMBL, activity backed 139,700 0.027 75% 0.936 0.889 Catalog chemistry 155,648 0.008 89% 0.980 0.936 Reference against itself 0.006 0.995 ceiling The catalog row is 155,648 real, purchasable June 2026 catalog compounds that the ingest filter excluded, so no version has trained on them and none can. They span 42 to 977 Da.
- License
- Apache-2.0, same as the code. Keep the NOTICE file.
Using it
The loader is the PharmCast Python package. It is pure Python over NumPy, PyTorch and RDKit, and runs on Apple Silicon, Intel macOS, Windows and Linux alike. Inference runs on the CPU: an 8-million-parameter network needs no accelerator to fingerprint a molecule. Training is a different matter, and version 10 was trained on the GPU.
pip install git+https://github.com/smuskal/pharmcast.git
from pharmcast import PharmCast, pharmtan
pc = PharmCast.load("pharmcast_scp_v10.pt")
a, b = pc.words_batch(["CC(=O)Oc1ccccc1C(=O)O", "OC(=O)c1ccccc1O"])
pharmtan(a, b) # 0.379