Accept the SyntheticGestalt Technical Verification and Academic Research License

These weights are released under the SyntheticGestalt Technical Verification and Academic Research License (SG-TVAR-1.0), whose full text is in LICENSE.md in this repository. It permits evaluating the model, on your own proprietary structures and data as well as on public ones, and deciding from the results whether to take a commercial licence. It covers the embeddings and predictions the model produces, and anything built from them, as well as the model itself. Any other use, and any supply or redistribution to others, needs a commercial licence from info@syntheticgestalt.com.

Log in or Sign Up to review the conditions and access this model content.

ZAO

ZAO is a molecular foundation model that represents each molecule as a set of conformers. It encodes 10 conformers per molecule by default in a single forward pass and returns one 2,048-dimensional embedding. It was pretrained on 11 billion conformers.

Conformer sets are what these weights add over a representation built from 1D, 2D or a single 3D structure: the heavy-atom RMSD between conformers of the same molecule averages 1.81 A, longer than a carbon-carbon single bond, so no single conformer stands in for the molecule.

The code that runs these weights is the zao package, at github.com/syntheticgestalt/zao, which is also where bugs and questions go.

Usage

It handles standardization and conformer generation as well as the forward pass.

pip install "zao[gpu]"     # conformers on an NVIDIA GPU with nvMolKit (Linux, Python 3.11+)
pip install zao            # conformers on the CPU with RDKit

Access to these weights is granted on accepting the licence above. Sign in once, with an account that has accepted it, before the first download:

hf auth login

The GPU backend is how the pretraining corpus was generated and the only one fast enough for large libraries; the CPU backend is orders of magnitude slower and suits trying the model out.

from zao import ZAOTransformer

zao = ZAOTransformer()  # these weights are downloaded on the first transform
X = zao.transform(["CC(=O)Oc1ccccc1C(=O)O", "c1ccc2[nH]ccc2c1"])
X.shape  # (2, 2048)

To fit a model on your own measurements, ZAORegressor puts the embedding and a regressor behind one estimator (ZAOClassifier does the same for labels):

from zao import ZAORegressor

model = ZAORegressor().fit(train_smiles, train_y)
model.predict(test_smiles)

Both follow the scikit-learn interface, so ZAOTransformer can be the first step of a Pipeline and the estimators work with cross-validation and grid search. See the repository for the full description.

What these weights contain

Only the network that produces the embedding, the conformer encoder and the conformer-set aggregation, with 222,692,486 parameters, plus 16 fixed values (the RBF centers of the distance bias).

Intended use

Use the representation frozen, as features, and add it to features you already have rather than replacing them. It belongs at the selection stage, where a broad population is narrowed. There is no fine-tuning of the model and no per-task adaptation.

A molecule is rejected, and its embedding is undefined, when the SMILES does not parse, the molecular weight falls outside (100, 1000), the molecule has more than 100 atoms including hydrogens, MMFF94 has no parameters for it, conformer generation yields no conformer at all, or a conformer's MMFF94 energy falls outside [-300, 3000] kcal/mol.

Performance

Selecting novel-scaffold actives from 1.1 billion molecules. A selection model built on the ZAO embedding, 2D fingerprints and physicochemical descriptors picked 9,220 compounds across 31 targets, each with 2D similarity below 0.6 to the known actives it was trained on. The picks were scored with absolute binding free-energy calculations and compared with a Boltz-2 plus ESPSim pipeline; no compound was assayed. The targets were drawn from 121 candidates by keeping only those where the same calculations reproduce measured activity, with both the Pearson correlation and the Spearman rank correlation above 0.4. They span kinases (ABL1, BTK, CDK4, EGFR, FLT3, IRAK4, ITK, MAP4K1, MKNK2, TYK2), GPCRs (ADORA2A, DRD1, HTR2B), proteases (BACE1, DPP-4, F10), protein-protein interactions (BCL2, BCL6, BRD4), nuclear receptors (AR, NR3C1, RARG), receptor extracellular domains (CD274, EPHA2, NTRK1), hydrolases (OGG1, PDE4D), PARP1, HSP90AA1, SLC6A4 and IL17A. Per-target medians over the 30 targets with at least 20 compounds in each group:

Hit threshold ZAO selection Boltz-2 + ESPSim
ΔG ≤ -10 kcal/mol 26.4% 16.0%
ΔG ≤ -12 kcal/mol 14.6% 5.2%

What the frozen embedding holds. Linear probes recover 36 quantities from the embeddings of about 20,000 molecules, all computed from the same 10 conformers. Mean coefficient of determination per category:

Features Dim Shape Pharmacophore distance Set-specific 2D properties All 36
ZAO 2,048 0.858 0.856 0.805 0.939 0.830
Uni-Mol2, mean of 10 conformers 1,536 0.774 0.814 0.586 0.911 0.748
Uni-Mol2, 1 conformer 1,536 0.672 0.767 0.551 0.900 0.709
Uni-Mol, mean of 10 conformers 512 0.790 0.798 0.539 0.819 0.702
Uni-Mol, 1 conformer 512 0.626 0.722 0.463 0.772 0.625
ConforFormer, mean of 10 conformers 512 0.660 0.768 0.447 0.635 0.582
ConforFormer, 1 conformer 512 0.506 0.672 0.348 0.550 0.485
MoLFormer-XL 768 0.525 0.726 0.517 0.878 0.658
ChemBERTa-77M 384 0.481 0.683 0.464 0.840 0.617
RDKit 2D descriptors 216 0.479 0.710 0.498 0.995 0.689
Morgan fingerprint 2,048 0.467 0.690 0.485 0.825 0.617

Set-specific quantities, such as the spread of a shape descriptor across conformers, are defined only over a conformer set.

Finding actives across scaffolds. For 12,401 actives, the nearest embedding neighbour among partners with 2D similarity below 0.20 is active against the same protein in 30.3% of cases.

Complementing fingerprints. Linear CKA between ZAO embeddings and Morgan fingerprints is 0.290, against 0.948 between two Morgan settings. Removing the ZAO columns from the selection model's features cuts early enrichment (BEDROC20) by about 40% at the median over 31 targets.

Speed. End to end, conformer generation included, a molecule takes 20.5 ms with 10 conformers on one H200. Conformer generation runs at about 18,000 conformers per second on 8 H200s with nvMolKit, against 914 per second on 224 vCPUs with RDKit.

Licence

The weights are released under the SyntheticGestalt Technical Verification and Academic Research License (SG-TVAR-1.0); the full text is in LICENSE.md. It covers the weights, the zao package that runs them and this model card, together with the embeddings and predictions they produce and anything built from those.

Anyone may evaluate the model and decide from the results whether to take a commercial licence:

  • On your own proprietary structures and data as well as on public ones.
  • Benchmarking against your internal datasets, comparison with other models, measuring speed and hardware use, fitting it into your workflow, ablations and method development, reproducing published results, internal demonstrations.
  • On compounds chosen to assess the model, compared with experimental or simulation data you already hold.
  • Keeping the model, the embeddings and anything built from them inside your organization.
  • Publishing aggregated statistics, such as benchmark scores and error analyses, with commentary, as long as no individual output can be reconstructed from them.

An academic institution may also use the model for scientific research on molecules, free of the limits on which compounds it is run on and on testing what the outputs predict (the third bullet). The rest, including keeping everything inside your organization, applies to academic and non-academic users alike. Working with a non-academic party on Licensed Materials puts those activities back under the terms above.

Everything else needs a commercial licence: info@syntheticgestalt.com. Some uses are forbidden outright, among them designing chemical or biological agents intended to harm human or animal life, unlawful use, and falsified scientific or regulatory evidence.

Files

File What it holds
model.safetensors The embedding path: 222,692,486 parameters and 16 fixed values
LICENSE.md The licence, SG-TVAR-1.0

There is no configuration file: the architecture is fixed and lives in the zao package, so nothing shipped here can disagree with the code that reads it.

Downloads last month

-

Downloads are not tracked for this model. How to track
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support