Back to home

Paraso42

dsh-bioinfo

No description

Stars
0
Language
Python
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

dsh-bioinfo — 生信模式

CI License: MIT Platform

dsh-bioinfo

生信模式 (Bioinformatics Mode) — a complete, research-grade bioinformatics agent preset for DeepSeek Harness (DSH), published as a replicable preset kit.

One repository carries everything needed to rebuild, on your own DSH instance, the exact preset this project was developed and acceptance-tested on: preset identity, agent composition + persona, the protein-tools plugin (7 model tools), a 7-skill library with 14 backend scripts, deployment scripts, and a small acceptance-fixture kit that proves your replica behaves like the reference machine.

What you get

LayerContents
Presetpreset.yml, agent.cordis.yml (persona + standard agent rows + local plugin row)
Pluginplugins/protein-tools.jsesmfold_predict / pp_interact / vina_dock / af2_predict / struct_eval / vscreen_run / md_run
Skillsskills/ — biopython, biopython-analyses, protein-modeling, protein-quality, chem-informatics, bio-data-hub, bio-visualization (+ 14 resource scripts)
Deploydeploy/ — WSL2 LocalColabFold bootstrap, AF2 params download (GCS, 8-way ranged), parallel downloader, acceptance runner
Fixturesfixtures/acceptance/ — small positive controls (PDB/CSV/JSON/PNG, ~3.3 MB)

Quick start

  1. Install DSHnpm install -g @deepseek-ai/dsh (see upstream docs).
  2. Deploy the environment — follow docs/INSTALL.md: Python 3.13 + D:\biopython (Biopython 1.87), the D:\bioai toolchain (venv with RDKit/meeko/OpenMM, venv-esm with torch/fair-esm, the Vina binary, WSL2 LocalColabFold, AF2 params).
  3. Mount the preset — copy preset.yml, agent.cordis.yml, plugins/, skills/ into <DSH_HOME>/.agent-presets/bioinfo/, then start a session with the 生信模式 preset.
  4. Prove the replica — run deploy/run-acceptance.ps1 and scripts/verify-layout.ps1; compare against the reference values in fixtures/README.md.
  5. Remember the restart rule — the preset composition is mounted once per DSH host process. After editing any preset file (agent.cordis.yml, plugins/, skills/), restart the DSH host; a new session alone is not enough (symptom: Invalid schema ... got 'type: null' at conversation start while the on-disk file is already fixed).

The reference layout below is part of the contract: a user deploying exactly per docs/INSTALL.md gets an identical preset with zero file edits. Every hard-coded path is also overridable via environment variables for those who deviate.

Configuration (plugin)

VariableDefault
BIO_TOOLS_PYTHONC:\Program Files\Python313\python.exe
BIO_TOOLS_VENV_PYD:\bioai\venv\Scripts\python.exe
BIO_TOOLS_RES_DIR<preset>\skills\protein-modeling\resources
BIO_TOOLS_RES_PQ_DIR<preset>\skills\protein-quality\resources
BIO_TOOLS_RES_CI_DIR<preset>\skills\chem-informatics\resources
BIO_TOOLS_JOBS_DIRD:\bioai\jobs
BIO_TOOLS_BIOPYTHOND:\biopython

Platform notes

  • Windows + PowerShell. Every tool command is pwsh; a Linux/bash backend does not exist yet (contributions welcome).
  • af2_predict needs WSL2 + an NVIDIA GPU for practical runtimes; CPU works but is slow — the esmfold_predict cloud channel is the fast alternative.

Known upstream issue (tool schema compilation)

Raw preset file-plugins receive the unsandboxed ctx, whose ctx.tools.register stores definitions verbatim and lets the model layer project definition.parameters straight to the API. A flat per-property map therefore reaches the API without a root type: "object" and gets rejected (Invalid schema ... got 'type: null'). The plugin registers through defineToolDef(): sandboxed loads go through harness.defineTool(...), raw loads hand-compile {type:'object', properties, required} — the same shape dsh-tools emits. New tools must keep using this wrapper.

Tests

npm test                        # node --check + schema validator (cross-platform)
scripts/verify-layout.ps1       # self-consistency of an installed replica
deploy/run-acceptance.ps1       # end-to-end AF2-Multimer acceptance

License

Repository code: MIT (LICENSE). Backend toolchain licensing — including ACADEMIC-ONLY components (TM-align/TMalign, PRODIGY, local ESMFold weights) — is itemized in THIRD_PARTY_NOTICES.md.

Contributing & security

Contributions welcome — see CONTRIBUTING.md (tool/backend rules) and CODE_OF_CONDUCT.md. Report vulnerabilities privately via GitHub security advisories (SECURITY.md).