ProteinDance/ProteinSkier
018
🏂 ProteinSkier
ProteinSkier is a GPT-2–based language model that “carves fresh lines” through chemical space, producing drug-like SMILES strings with an explicit bias toward ADMET quality, novelty, and synthesizability.
1 · Why another generative model?
Traditional generative models often rediscover known scaffolds or output molecules that fail late-stage ADMET filters. ProteinSkier addresses this by coupling large-scale pre-training on ~2 M curated molecules with a second-stage Reinforcement Fine-Tuning (RFT) that rewards:
The policy is updated with policy-gradient REINFORCE; low-quality trajectories are rejected via an adaptive threshold (see FullDatasetRFTTrainer in the code).
2 · Intended uses & scope
3 · Quick start
Requirestransformers ≥ 4.42,torch ≥ 2.2,rdkit,accelerate.
from transformers import AutoTokenizer, GPT2LMHeadModel
model_id = "ProteinDance/ProteinSkier"
tok = AutoTokenizer.from_pretrained(model_id)
model = GPT2LMHeadModel.from_pretrained(model_id)
# Generate 5 novel molecules
prompt = tok("<bos>", return_tensors="pt").input_ids
gen = model.generate(
prompt.repeat(5, 1),
max_length=128,
do_sample=True,
top_p=0.95,
temperature=0.7,
)
smiles = tok.batch_decode(gen, skip_special_tokens=True)
print("\n".join(smiles))4 · Limitations & caveats
- No guaranteed synthesizability – always perform retrosynthetic analysis.
- Property estimators used in RFT are fast; wet-lab assays will vary.
- Output may include patented molecules – run IP checks.
- ADMET focus biases chemistry toward oral drugs; unsuitable for agrochemicals or materials.
