Skip to content

Commit e402473

Browse files
authored
Merge pull request #9 from evasnow1992/contrastive_kermt
KERMT v2.0.0 release: Contrastive KERMT + agent skills
2 parents d0b6fde + 2f251c5 commit e402473

90 files changed

Lines changed: 40431 additions & 686 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Large model checkpoints — never needed in the image; mount at runtime via
2+
# kermt_container.sh --ckpt instead.
3+
model/
4+
5+
# Git metadata.
6+
.git/
7+
.gitignore
8+
.gitmodules
9+
10+
# Python caches.
11+
**/__pycache__/
12+
**/*.pyc
13+
**/*.pyo
14+
15+
# Runtime artifacts created by agent workflows.
16+
runs/
17+
18+
# Agent/editor metadata that should not ride along inside the container.
19+
.claude/
20+
CLAUDE.md
21+
CODEX_MEMORY.md
22+
.vscode/
23+
.idea/
24+
25+
# OS-level noise.
26+
.DS_Store
27+
Thumbs.db
28+
29+
# Dockerfile is read by `docker build` directly; no need to re-COPY it into /code.
30+
Dockerfile
31+
.dockerignore

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,10 @@ dmypy.json
137137

138138
# created pickles
139139
exampledata/finetune/*.npz
140+
141+
# Local-only datasets and trained models (not intended for upstream)
142+
model/
143+
tests/data/Biogen_for_grover/
144+
tests/data/ChEMBL_MT/
145+
tests/data/ZINC15_ChEMBL/
146+
tests/data/openadmet/

AGENTS.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Agent integrations
2+
3+
Agent-driven workflows for KERMT live under [`agent/`](agent/README.md). The
4+
skills follow the [agentskills.io](https://agentskills.io) spec — one
5+
directory per skill at `agent/skills/<skill-name>/SKILL.md`.
6+
7+
Available workflows:
8+
- `kermt-setup` — bootstrap the kermt container (run first)
9+
- `kermt-continue-pretrain` — continue pretraining from an existing KERMT ckpt
10+
- `kermt-pretrain-scratch` — pretrain from scratch on a custom corpus
11+
- `kermt-add-cmim-pretrain` — add a cMIM decoder to a grover_base ckpt
12+
- `kermt-finetune` — finetune a pretrained ckpt on a labeled CSV
13+
- `kermt-infer` — predictions with a finetuned ckpt
14+
- `kermt-embed` — extract molecular embeddings from any encoder-bearing ckpt
15+
- `kermt-monitor` — tail logs / report progress for a detached run
16+
17+
See [`agent/README.md`](agent/README.md) for the full guide: hardware
18+
requirements per workflow, how to install the skills with Claude Code /
19+
Codex / Nemotron, and how to invoke the underlying scripts directly without
20+
an agent.

Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ RUN rm -rf /var/lib/apt/lists/*
4242
RUN rm -rf /softwares/miniconda3/pkgs/xz-5.6.4-h5eee18b_1/
4343
# RUN apt clean && apt autoremove -y
4444

45-
# COPY code and cleanup
46-
COPY . /code
47-
RUN rm -rf /code/.git /code/.code-workspace
45+
# Note: the repo is NOT copied into the image. Agent skills and any equivalent
46+
# host workflow bind-mount the live kermt repo checkout at /workspace (see
47+
# agent/scripts/kermt_container.sh). Keeping the image as a pure environment
48+
# makes rebuilds cache-friendly (only invalidates when environment.yml changes,
49+
# not on every code edit) and avoids stale-code footguns where a baked-in /code
50+
# and the runtime bind-mount disagree.
4851

4952
# Equivalent to `conda activate kermt`
5053
SHELL ["conda", "run", "--no-capture-output", "-n", "kermt", "/bin/bash", "-c"]

Pipfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[[source]]
2+
url = "https://pypi.org/simple"
3+
verify_ssl = true
4+
name = "pypi"
5+
6+
[packages]
7+
descriptastorus = "==2.7.0"
8+
optuna = "==4.9.0"
9+
pip = "==26.1.2"
10+
protobuf = "==6.33.5"
11+
pytest = "==9.0.3"
12+
rdkit = "==2025.9.1"
13+
scikit-learn = "==1.9.0"
14+
setuptools = "==81.0.0"
15+
tensorboard = "==2.20.0"
16+
torch = "==2.9.1"
17+
wandb = "==0.26.1"
18+
19+
[dev-packages]
20+
21+
[requires]
22+
python_version = "3.11"

0 commit comments

Comments
 (0)