scgpt
Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology.
Skill by flyme2bluemoon
Chalk Labs
Need help deploying scgpt?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/flyme2bluemoon-scgpt
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: data
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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/scgpt
What's inside
- Skill name
scgpt- Description
- Embed and annotate single-cell expression data with scGPT, a foundation model for single-cell biology. Use this skill when: (1) Producing cell embeddings from an AnnData for clustering/integration, (2) Zero-shot or fine-tuned cell-type annotation, (3) Gene-level representation for perturbation/GRN tasks. For probabilistic single-cell models (scVI etc.), use the scvi-tools library.
- License
- Apache-2.0
- Metadata
- category: biomodels · display-name: scGPT
- Instructions
- 124 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# scGPT — Single-Cell Foundation Model
## Prerequisites
| Requirement | Minimum | Recommended |
| ----------- | ------- | ----------- |
| Python | 3.10+ | 3.11 |
| CUDA | 12.1+ | 12.4+ |
| GPU VRAM | 16 GB | 24 GB+ |
## How to run
### Loading the vocabulary and checkpoint
scGPT checkpoints are **raw directories** (`args.json`, `best_model.pt`,
`vocab.json`) — not Hugging Face hub repos. Point at the directory, not an HF
repo id.
```python
from scgpt.tokenizer.gene_tokenizer import GeneVocab
gv = GeneVocab.from_file("/path/to/scgpt-human/vocab.json")
print(len(gv)) # 60697 for the released human checkpoint
```
### Embedding an AnnData
```python
import anndata as ad
from scgpt.tasks import embed_data
adata = ad.read_h5ad("dataset.h5ad") # var must contain a gene-name column
emb = embed_data(
adata,
model_dir="/path/to/scgpt-human",
gene_col="feature_name",
use_fast_transformer=False, # see Gotchas
)
# emb is an AnnData with .obsm["X_scGPT"]
```
## Output format
`embed_data` returns an `AnnData` whose `.obsm["X_scGPT"]` is the per-cell
embedding (`n_cells × emb_dim`, 512 by default). Downstream: feed to
`scanpy.pp.neighbors` / `scanpy.tl.umap`.
## Remote compute
Needs ≥24 GB VRAM and the released human checkpoint (~200 MB:
`args.json`, `best_model.pt`, `vocab.json`). Read
`compute_details({provider, mode:'read'})` for an environment with `scgpt`
and a pre-cached checkpoint directory, then:
```python
c = host.compute.create(provider)
job = c.submit_job(
intent="scGPT embed 50k cells — 1×GPU, ~5 min",
inputs=[
"dataset.h5ad",
"embed.py",
],
# env activation is host-specific — put it IN the command string
# (e.g. "conda run -n <env> python3 embed.py"; see compute_details)
command="python3 embed.py",
outputs=["embedded.h5ad"],
run_timeout_s=1800,
)
# the Job repr just printed itself (id, notes) — cell ends here; the kernel never waits on the job
```
Then call the `wait_for_notification` brain-tool. When the
`compute_done` notification arrives, act on its payload:
```python
save_artifacts(payload["output_files"]) # paths under hpc/<job_id>/
```
For the full record (`files`, `stdout_tail`, `notes`, …), re-enter the
kernel and bind the compute handle separately — `.close()` lives on the
handle, not on the job object:
```python
c = host.compute.create(provider)
res = c.attach_job(job_id).result() # a read of the persisted result, never a wait
c.close(intent="scGPT embedding done")
```
See the `remote-compute-ssh` / `remote-compute-modal` skill for the
orchestration details.
In `embed.py`, pass `model_dir=` the checkpoint path from `compute_details`.
If `flash-attn` is unavailable in that environment, set
`use_fast_transformer=False`.
## Gotchas
- **`use_fast_transformer` default is `True`** but resolves to a FlashAttention
path that may not import in every env. Pass `use_fast_transformer=False`
unless you've confirmed `flash_attn` loads cleanly.
- The package historically depended on `torchtext.vocab.Vocab`; in
environments without torchtext a pure-Python shim provides `Vocab` —
functionally identical for `GeneVocab`, but if you hit
`AttributeError: 'Vocab' object has no attribute …`, you're on a stale shim.
- Gene names must match the vocab; unmatched genes are dropped. Set
`gene_col` to the column in `adata.var` that holds symbols.
## Troubleshooting
| Symptom | Fix |
| ------------------------------------------------- | ------------------------------------------------ |
| `flash_attn is not installed` warning at import | Harmless; pass `use_fast_transformer=False` |
| `'Vocab' object has no attribute 'vocab'` | Env has an old torchtext shim — update the env |
| Nearly all genes dropped | Wrong `gene_col`; check `adata.var.columns` |
| "scgpt not in manifest" / env-detection misses scGPT | The baked env manifest lists the distribution as `scGPT` (and `flash_attn`), pip's canonical casing — normalize manifest keys before lookup: `name.lower().replace('-', '_')` |
---From flyme2bluemoon/skills, Apache-2.0.
More from flyme2bluemoon/skills
- 0.529score
esmfold2
flyme2bluemoon
Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.
SkillBFreshness: BClaude Code +9 - 0.526score
indication-dossier
flyme2bluemoon
Generate a therapeutic indication dossier.
SkillBFreshness: BClaude Code +9 - 0.525score
diffdock
flyme2bluemoon
Predict small-molecule binding poses with DiffDock-L (Corso et al.
SkillBFreshness: BClaude Code +9 - 0.524score
fair-esm2
flyme2bluemoon
Embed proteins with Meta AI's ESM-2 (`fair-esm` package).
SkillBFreshness: BClaude Code +9 - 0.524score
ligandmpnn
flyme2bluemoon
Inverse-fold a backbone with ligand, nucleic-acid, and metal context using LigandMPNN (Dauparas et al.
SkillBFreshness: BClaude Code +9 - 0.524score
chai1
flyme2bluemoon
Structure prediction for protein, nucleic-acid, and small-molecule complexes with the Chai-1 foundation model (Chai Discovery 2024…
SkillBFreshness: BClaude Code +9 - 0.524score
evo2
flyme2bluemoon
Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model.
SkillBFreshness: BClaude Code +9 - 0.524score
codebase-design
flyme2bluemoon
Design or refactor module interfaces to hide complexity and improve testability.
SkillBFreshness: BClaude Code +9 - 0.524score
boltz
flyme2bluemoon
Structure prediction for protein, nucleic-acid, and small-molecule complexes with Boltz-2 (Passaro & Wohlwend et al.
SkillBFreshness: BClaude Code +9 - 0.524score
borzoi
flyme2bluemoon
Predict genome-wide functional tracks (RNA-seq, CAGE, DNase, ChIP) from DNA sequence with Borzoi.
SkillBFreshness: BClaude Code +9 - 0.524score
openfold3
flyme2bluemoon
Structure prediction using OpenFold3, an open-weights PyTorch reproduction of AlphaFold3 from the AlQuraishi Lab.
SkillBFreshness: BClaude Code +9 - 0.524score
proteinmpnn
flyme2bluemoon
Inverse-fold a protein backbone (PDB structure) into amino-acid sequence with ProteinMPNN (Dauparas et al.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/flyme2bluemoon/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from flyme2bluemoon
- 0.529score
esmfold2
flyme2bluemoon
Biohub ESMFold2 / ESMFold2-Fast all-atom co-folding (Candido et al.
SkillBFreshness: BClaude Code +9 - 0.526score
indication-dossier
flyme2bluemoon
Generate a therapeutic indication dossier.
SkillBFreshness: BClaude Code +9 - 0.525score
diffdock
flyme2bluemoon
Predict small-molecule binding poses with DiffDock-L (Corso et al.
SkillBFreshness: BClaude Code +9 - 0.524score
fair-esm2
flyme2bluemoon
Embed proteins with Meta AI's ESM-2 (`fair-esm` package).
SkillBFreshness: BClaude Code +9 - 0.524score
evo2
flyme2bluemoon
Score, embed, and generate DNA sequences with Evo 2, a long-context genomic foundation model.
SkillBFreshness: BClaude Code +9 - 0.524score
chai1
flyme2bluemoon
Structure prediction for protein, nucleic-acid, and small-molecule complexes with the Chai-1 foundation model (Chai Discovery 2024…
SkillBFreshness: BClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get scgpt running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
scgpt skill. Agent Mart. https://agentmart.dev/skills/flyme2bluemoon-scgpt (last updated 2026-10-24)