Preface¶
In DeepSeek Harness (DSH), performing single-cell analysis, the common practice is to manually piece together tools in the Host and repeatedly paste paths and parameters into the chat. The page and the Agent often run separate logic, making it difficult to stitch together GEO multi-formats, Seurat objects, and scanpy pipelines within a single interface. The community workflow plugin jszjdyt/singlecell-full-workflow (package name dsh-singlecell, current README corresponds to UI version v0.9, package.json version 0.9.1) brings import, quality control (QC), dimensionality reduction and clustering, annotation, advanced analysis, and export into a clickable, Agent-driven web workbench, sharing the same implementation in lib/impl.mjs. The following explains the positioning, capabilities, installation, usage, and notes in order.
What is this¶
singlecell-full-workflow is a DSH Web client plugin: it provides a step-by-step wizard-style “Single-cell Analysis Workbench” in the Harness Web GUI, completing the entire process from data reading to publication-grade figures and reproducible artifacts. The maintainer is jszjdyt, classified as Workflow in the community directory; GitHub repository jszjdyt/singlecell-full-workflow, directory page skillhub.cn plugin page.
The design orientation aligns with solutions such as auditability history, deterministic review, preset workflows, and interactive visualization; the implementation of single-cell interaction and workflow organization references the comparison listed in the README (CellxGene, Cellenics/Galaxy, scanpy common practices), with the specific implementation based on the repository documentation.
Interface and Workflow Overview¶
The workbench adopts a left-side step navigation rather than a tiled multi-tab layout:
- 01 Data Import · Grouping · QC: Scan root directory import, sample and grouping editing, QC parameter cards (containing parameters aligned with
pro.R), run QC/filtering. - 02 Dimensionality Reduction & Clustering: Three presets under the Seurat 6 path: Harmony / RPCA / Unintegrated, resolution slider, interactive UMAP, result comparison, and warnings.
- 03 Cell Annotation: Input cell types and marker schemes → DotPlot/Heatmap/FeaturePlot → Map clusters to cell types and save; subclustering can be extracted.
- 04 Advanced Analysis & Results: Gallery of grouped results, advanced analysis directory, run history, and export (h5ad, protocol, methods, report, script, etc.).
The top bar provides dataset selection, import, refresh, and engine status; the right drawer provides run logs and the Agent (one-sentence suggestion cards, direct execution). When there is no data, the welcome page supports import, examples, and recent datasets.
Data Import: GEO Common Formats and Local R Objects¶
The readable formats listed in the README include AnnData (.h5ad), 10x HDF5/Matrix Market, Loom, expression matrix text, GEO series matrix, .rds/.RData, compressed packages, and URLs/GEO numbers; the R bridge is R 4.4.2 + Seurat 5.4 in the local documented environment, and metadata on objects (such as seurat_clusters, celltype, group, percent.mt) can be directly used for coloring and inter-group analysis.
Using “Import Data” in the top bar or asking the Agent to open it in the chat, the example usage is as follows:
Use singlecell workbench to open /Users/you/data/GSE123456_10x/ # directory trio
Use singlecell workbench to open /Users/you/objects/neu_clean.rds # Seurat object
Use singlecell workbench to open https://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/suppl/GSE123456_raw.tar.gz
Standard Workflow and Seurat 6 Dimensionality Reduction and Clustering¶
In addition to the step wizard, the middle column still supports flow cards: QC → Filter → Standardization → HVG → PCA → Adjacency Graph → Clustering → Embedding → Marker Genes → Annotation; parameters for each card can be modified and re-run, with dependency hints. The embedding graph supports coloring by cluster, cell type, QC metrics, any gene, or analysis-written-back obs columns.
Dimensionality reduction and clustering are implemented aligned with the “Seurat 5.0 pro.R” logic listed in the README (independent Seurat 6.0 library, does not change the system’s global Python/R installation). Key points include:
- QC preset
seurat6: such as nFeature 200–5000,percent.mt < 20,nCount > 500,min.cells=3, etc., as documented thresholds. - Preprocessing: LogNormalize → FindVariableFeatures (vst, 3000) → ScaleData → RunPCA (30).
- Batch integration: Harmony / RPCA via
IntegrateLayers, automatically or manually specifying batch columns based on sample/orig.ident/batch, etc. - Three clustering presets:
seurat6(Harmony, resolution 0.8),pro-rpca(RPCA, 0.8),pro-unintegrated(Unintegrated, 0.5); UMAP dimensions and neighborhood parameters follow README defaults.
Auxiliary capabilities include automatic annotation (built-in multi-class reference marker panels), 10 self-check scores, resolution scanning, and one-click workflows for standard/quick/qc presets.
Advanced Analysis and Tool Registration¶
“Advanced Analysis” lists items in seven categories: Native Analysis runs locally with zero configuration; registered external official R/Python tools will be grayed out and provide reasons and alternatives when unrunnable; the README clearly states that Lite/Proxy implementations are not equivalent to official tool results, and the method field will specify the implementation method.
The native side covers cell cycle, subtype subdivision, inter-group proportions and differential genes, volcano plots and sankey diagrams, GO/KEGG/GSEA/GSVA-style pathways, AUCell/cNMF/WGCNA-style modules, pseudotime and PAGA-like trajectories, inferCNV proxy and ITH, built-in ligand-receptor cell communication, SCENIC-lite, virtual knockout/overexpression/screening, etc. (refer to the full table in the third section of the README). Some results are written back to obs and can be colored in the embedding graph in real-time.
Agent and Host Tools¶
The Host registers the singlecell tool, sharing the same implementation with page buttons; system prompts will carry the workbench and current dataset status. Common actions include status, demo, open, inspect, preview, run, embedding, markers, autoannotate, audit, resolution_scan, recipe, analyses, analysis, plot, export, etc. When opening data, the format parameter name is data_format (not format, due to JSON Schema reserved word restrictions, see repository CONTRACT.md).
Examples of conversation-level composite tasks:
Use singlecell workbench to load example data, run clustering, give cell type suggestions, then do inter-group proportion differences and differential genes based on group
Use the workbench to open neu_analysis/objects/neu_clean.rds, color the embedding with celltype, then run the queue for cell cycle and SCENIC-lite
Run GSEA (using built-in pathway sets) on the current data, then export the report
The Agent in the right column also supports short sentence local rule parsing (e.g., “add harmony”, “adjust resolution to 0.3”, “export report”), generating suggestion cards and [Direct Run] the corresponding route.
Traceability and Export¶
Export products are for reproducibility and drafting papers; the fifth section of the README summarizes them as follows:
| File | Content |
|---|---|
protocol.json |
Source, format, dimensions, step history, engine version, seed, images, and analysis checklist |
methods.md |
English Methods section |
report.md |
Summary, methods, figures, top markers, automatic annotation, and self-check |
script.py |
Reproducible script in scanpy style |
*.h5ad |
Contains clusters, cell_type, embeddings, and counts layer, etc. |
Installation and Enablement¶
The plugin is installed via the DSH bundle mechanism: dsh.bundle.patch in package.json points to cordis.patch.yml, and the client is a Web platform with runtime components injected immediately. The reinstall method recorded in the README is to let the Agent execute it (the path must be the local bundle absolute path):
plugin_manager install_bundle target=<absolute path>
To replace the version, remove_bundle must be executed first. The README example environment is an already linked installed dsh-singlecell bundle; changing the code takes effect; the community directory and GitHub do not provide a unified dsh plugin add github:... one-line command in the captured snippet, please refer to the repository INSTALL.md and the directory page description before installation.
Python: 3.10+, dependencies include numpy, pandas, scipy, scikit-learn, anndata, matplotlib, h5py, etc.; when scanpy is detected, scanpy mode is used, otherwise the built-in Louvain + t-SNE engine is used. R (for .rds/.RData only): R 4.x and stacks like Seurat/SingleCellExperiment. The Host probes Python in the order of config.python → environment variable DSH_SINGLECELL_PYTHON → PATH; R probes paths as documented.
Example of cordis.patch.yml snippet:
- id: dsh-singlecell
name: dsh-singlecell
config:
python: /opt/homebrew/bin/python3 # optional
workdir: /tmp/my-sc-
(Refer to files within the repository for the full list of configuration items.) Data and computation are local: the Python worker is a subprocess, HTTP is loopback only. The license is MIT (package.json).
Suitable Scenarios and Notes¶
Suitable for: Single-cell and bioinformatics developers who need to complete everything from GEO/10x/R object import to clustering, annotation, inter-group analysis, and extended analyses such as pathways/communication/regulation within DSH, and who wish to use the same API for both the page and the Agent.
Notes:
- The plugin reads, writes, and executes locally with the permissions of the current DSH Host process; please read the source code and MIT license before installing and enabling to confirm that data paths and computing resources are acceptable.
- Analysis marked as Lite or Proxy cannot be directly equated to official tool results; paper methodology should be based on the exported
methods.md/protocol.jsonand themethodfield. - Analysis relying on external proprietary data or splicing counts (such as some RNA velocity, pySCENIC) will only be registered and guided in the UI and will not pretend to be runnable.
The DSH ecosystem emphasizes “everything is a plugin”; the skillhub.cn community directory is an independent site and has no official subordinate relationship to DeepSeek or Huafang in the sense described in the README.
Conclusion¶
jszjdyt/singlecell-full-workflow brings GEO multi-format and R object import, Seurat 6-aligned dimensionality reduction and clustering, manual/auto annotation, a catalog of native advanced analyses at the 27-item scale, and the Agent dual entry (page + singlecell tool) into an auditable workbench map. To get started, you can view the introduction on the directory page and the INSTALL.md and README Section 6 for configuring bundles and Python/R environments in the GitHub repository, then run through Step 1→Step 4 with example data or your own paths.
- Directory page: https://www.skillhub.cn/plugins/jszjdyt/singlecell-full-workflow
- GitHub: https://github.com/jszjdyt/singlecell-full-workflow