ml-property-predict-scd
Train a model to predict custom properties of molecules or periodic materials using pretrained SelfConditionedDenoisingAtoms (SCD) foundation models.
Skill by learningmatter-mit
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/learningmatter-mit-ml-property-predict-scd
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: ml
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ml-property-predict-scd- Your home directory (~)
What's inside
- Skill name
ml-property-predict-scd- Description
- Train a model to predict custom properties of molecules or periodic materials using pretrained SelfConditionedDenoisingAtoms (SCD) foundation models.
- License
- MIT
- Instructions
- 200 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (15)
- SKILL.md
- README.md · examples/CT-SCD_QM9/
- run_ct_scd_qm9.py · examples/CT-SCD_QM9/
- README.md · examples/CT-SCD_matbench/
- run_ct_scd_matbench.py · examples/CT-SCD_matbench/
- config-recipes.md · references/
- dataset-contract.md · references/
- repo-map.md · references/
- transfer-recipes.md · references/
- dataset_template.py · templates/
- extract_embeddings.py · templates/
- finetune_config.template.yaml · templates/
- generate_conformer_rdkit.py · templates/
- pretrain_config.template.yaml · templates/
- train_lightweight_head.py · templates/
SKILL.md (first lines)
# ml-property-predict-scd
## Goal
Use `SelfConditionedDenoisingAtoms` for four related workflows:
- apply a frozen SCD checkpoint as a live atomistic encoder
- train a lightweight head on top of a frozen SCD backbone
- fine-tune an entire pretrained SCD checkpoint on a new property task
- pretrain a new SCD model or add a new dataset adapter
## First Checks
1. Commands run in the `scd` environment through `venv/run`, as shown below. It
is created on first use, on x86_64 Linux only (PyG publishes its compiled
extensions, which the upstream code imports, for x86_64), with a CUDA 12.6 or
13 torch build chosen by driver.
2. Confirm the upstream repo exists at `$SCD_REPO_DIR` (default:
`~/.cache/atomisticskills/SelfConditionedDenoisingAtoms`), or clone it at the
verified commit:
```bash
SCD_REPO_DIR="${SCD_REPO_DIR:-$HOME/.cache/atomisticskills/SelfConditionedDenoisingAtoms}"
git clone https://github.com/TyJPerez/SelfConditionedDenoisingAtoms "$SCD_REPO_DIR"
git -C "$SCD_REPO_DIR" checkout 528c13ead7cc2b1c2b3dfddc0d167248e670746b
```
Optionally build the faster TorchMD graph kernel for non-periodic runs
(needs the CUDA toolkit); without it, use `noise_in_loader: true`:
```bash
cd "$SCD_REPO_DIR/models/ET_models" && ${CLAUDE_SKILL_DIR}/../../venv/run scd python setup.py build_ext --inplace
```
3. Read the upstream `README.md` and `examples.ipynb`.
4. Then read the local references in this skill:
- `references/repo-map.md`
- `references/transfer-recipes.md`
- `references/config-recipes.md`
- `references/dataset-contract.md` if a new dataset is involved
## Checkpoint Selection
- Use `ct-scd-pcq` for molecule property prediction, molecule embeddings, and molecule-side transfer learning.
- Use `ct-scd-amp` for materials property prediction, periodic materials embeddings, and materials-side transfer learning.
Do not swap these by default. The public checkpoints were pretrained on different domains.
## Instructions
### 1. Frozen backbone embeddings
Default to `out["mol_emb"]` for graph-level downstream ML.
- Use `return_atom_embs=True` only when the downstream task needs atom- or site-level features.
- Keep the checkpoint frozen and in `eval()` mode.
- Disable the denoising head for this workflow to avoid wasted compute.
- Pass `graph_batch=batch` only when `allow_periodic` or `noise_in_loader` is enabled. Do not force `graph_batch` on the fast molecular path.
- Reuse `templates/extract_embeddings.py` as the starting point. It keeps the model live and returns embeddings on demand instead of defaulting to a frozen feature dump.
### 2. Lightweight training with a frozen SCD backbone
Use `templates/train_lightweight_head.py` for three lightweight options:
1. `scalar_head`
Appropriate for invariant scalar regression targets. This path trains only the model's native `scalar_head` using pretrained backbone weights.
2. `atom_emb_mlp`
Pools `atom_embs` with `sum` or `mean`, then trains a 1- or 2-layer MLP head.
3. `mol_emb_mlp`
Uses `mol_emb` directly, then trains a 1- or 2-layer MLP head.
Important details:
- `scalar_head` is usually the lightest path for standard scalar property prediction.
- `reset_head()` is a sensible default for `scalar_head` mode when switching to a new target.
- `set_head_agg` controls the native scalar-head reduction and should be set through the checkpoint-loading path, not by editing tensors after the fact.
- the upstream model exposes `finetune()` and `reset_head()`, but `finetune()` does not by itself implement scalar-head-only training; explicitly freeze non-`scalar_head` parameters in the lightweight script.
- the lightweight `scalar_head` path should reset the checkpoint's output affine buffers to identity because pretrained `mean/std` buffers are not downstream target statistics.
- for `atom_emb_mlp`, either `sum` or `mean` pooling may work better depending on whether the target behaves more like an extensive or intensive quantity.
- `atom_emb_mlp` and `mol_emb_mlp` should compute frozen-backbone features on the fly, not treat a static embedding cache as the default workflow.
- `mol_emb_mlp` is the cleanest external-head baseline on the pretrained graph representation.
### 3. Full-model finetuning
Use the native training path when you want all model weights updated:
```bash
cd "${SCD_REPO_DIR:-$HOME/.cache/atomisticskills/SelfConditionedDenoisingAtoms}"
${CLAUDE_SKILL_DIR}/../../venv/run scd python train.py --conf configs/my_finetune.yaml --load-hf ct-scd-pcq --job-id my_run
```
or
```bash
cd "${SCD_REPO_DIR:-$HOME/.cache/atomisticskills/SelfConditionedDenoisingAtoms}"
${CLAUDE_SKILL_DIR}/../../venv/run scd python train.py --conf configs/my_finetune.yaml --load-hf ct-scd-amp --job-id my_run
```
Start from:
- `templates/finetune_config.template.yaml`
- `configs/finetune_qm9.yaml` for public molecular examples
For public materials finetuning, do not rely on `configs/finetune_matbench.yaml` unless the private `StructureCloud` dependency is available. Copy the template and configure the periodic settings yourself.
Full-model finetuning usually gives better results than the lightweight frozen-backbone options, but it costs more GPU memory and more wall time.
### 4. Pretraining from scratch
Use the native training path:
```bash
cd "${SCD_REPO_DIR:-$HOME/.cache/atomisticskills/SelfConditionedDenoisingAtoms}"
${CLAUDE_SKILL_DIR}/../../venv/run scd python train.py --conf configs/my_pretrain.yaml --job-id my_pretrain
```
Start from:
- `templates/pretrain_config.template.yaml`
- `configs/pretrain_pcq.yaml` for moleculesFrom learningmatter-mit/AtomisticSkills, MIT.
More from learningmatter-mit/AtomisticSkills
- 0.681score
drug-complex-system-builder
learningmatter-mit
Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-binding-site-definition
learningmatter-mit
Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-mmpbsa-gbsa
learningmatter-mit
Compute single-trajectory MM-GBSA and / or MM-PBSA binding free energy estimates from a protein-ligand MD trajectory.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-pocket-detection
learningmatter-mit
Identify and rank ligandable pockets on a protein structure or model using geometry (fpocket) or an ML predictor (P2Rank).
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-sorption-relax
learningmatter-mit
Prepares supercells for porous frameworks based on minimum interplanar distance and relaxes them using standard MLIP relaxation tools.
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
drug-protein-ligand-md
learningmatter-mit
Run a protein-ligand MD simulation in OpenMM with energy minimization, restrained equilibration, and production NPT, producing trajectory and checkpoint files…
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-db-qmof
learningmatter-mit
Query the Quantum MOF (QMOF) database via Materials Project's MPContribs platform for DFT-computed properties (bandgap) and optimized crystal structures of…
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-bond-dissociation
learningmatter-mit
Calculate homolytic and heterolytic bond dissociation energies (BDEs) for all single bonds in a molecule using MLIPs with RDKit fragmentation.
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-hazard-toxicity
learningmatter-mit
Extract explicit safety warnings, GHS classifications, LD50 toxicity profiles, and acute oral toxicity triage from PubChem PUG VIEW.
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
drug-redocking-rmsd
learningmatter-mit
Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
drug-pose-validation
learningmatter-mit
Validate docked or generated ligand poses for physical plausibility using PoseBusters, filtering out chemically invalid or clashing poses before downstream…
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-dft-orca-optimization
learningmatter-mit
Run DFT geometry optimization (minimization or TS search) on a molecular structure using ORCA via SCINE/ReaDuct wrapper.
SkillAFreshness: A★ 183Claude Code +9
Signals
- Stars
- 183
- Forks
- 31
- Open issues
- 0
- Last commit (this folder)
- Oct 5, 2026 (24 days ago)
- Last release
- Oct 6, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- arxiv.org/abs/2605.24002
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from learningmatter-mit
- 0.681score
drug-binding-site-definition
learningmatter-mit
Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-complex-system-builder
learningmatter-mit
Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-mmpbsa-gbsa
learningmatter-mit
Compute single-trajectory MM-GBSA and / or MM-PBSA binding free energy estimates from a protein-ligand MD trajectory.
SkillAFreshness: A★ 183Claude Code +9 - 0.681score
drug-pocket-detection
learningmatter-mit
Identify and rank ligandable pockets on a protein structure or model using geometry (fpocket) or an ML predictor (P2Rank).
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
drug-pose-validation
learningmatter-mit
Validate docked or generated ligand poses for physical plausibility using PoseBusters, filtering out chemically invalid or clashing poses before downstream…
SkillAFreshness: A★ 183Claude Code +9 - 0.678score
chem-sorption-relax
learningmatter-mit
Prepares supercells for porous frameworks based on minimum interplanar distance and relaxes them using standard MLIP relaxation tools.
SkillAFreshness: A★ 183Claude Code +9
Cite this page
ml-property-predict-scd skill. Agent Mart. https://agentmart.dev/skills/learningmatter-mit-ml-property-predict-scd (last updated 2026-10-24)