wolfsonliu
dsh-file-explorer-preview-molstar
Mol* 3D structure viewer for DSH Web — interactive previews of .cif, .pdb, and small-molecule/docking files. | DSH Web 的 Mol* 3D 结构查看器 —— 交互式预览 .cif/.pdb 及小分子/对接文件。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-file-explorer-preview-molstar
中文 | English
A DSH Web plugin that adds a Mol* 3D structure viewer to dsh-file-explorer, overriding its plain previews for protein-structure and small-molecule files.
Select a .cif / .pdb (or any supported format below) in the file explorer and the preview panel renders an interactive 3D model instead of raw text.
Screenshots
| Dark theme | Light theme |
|---|---|
![]() | ![]() |
Features
- 3D structure viewer built on
molstar(PluginContext+ a minimal canvas — no full Mol* UI). - Representation presets: Auto / Cartoon / Ball & Stick / Molecular surface.
- Coloring by default / chain / entity, reset camera, spin toggle, and a dark/light background that follows DSH's
data-ds-dark-theme. - Status bar with the format badge and atom/residue/chain counts.
- Localized toolbar/status copy (中文 / English).
- Large & binary files: for files over the core's 2 MiB text cap, and for
.bcif, the plugin fetches raw bytes through the core'sfileExplorer.readRawFile(see Dependencies).
Supported formats
| Extension | Format |
|---|---|
cif mmcif mcif | mmCIF |
bcif | BinaryCIF |
pdb ent | PDB |
pdbqt | PDBQT |
pqr | PQR |
sdf sd | SDF |
mol | MOL |
mol2 | MOL2 |
xyz | XYZ |
gro | GRO |
Install
From the Git repository
dsh plugin --profile web add github:wolfsonliu/dsh-file-explorer-preview-molstar
dsh web
From source
git clone https://github.com/wolfsonliu/dsh-file-explorer-preview-molstar
cd dsh-file-explorer-preview-molstar
npm install
npm run build
dsh plugin --profile web add .
dsh web
Dependencies
This plugin requires @dsh-external/dsh-file-explorer — it injects the fileExplorer cordis service (registerPreview / writeFile / readRawFile). Install and enable dsh-file-explorer before this plugin:
# install the core from git
dsh plugin --profile web add github:wolfsonliu/dsh-file-explorer
# or, from source
git clone https://github.com/wolfsonliu/dsh-file-explorer
cd dsh-file-explorer
npm install && npm run build
dsh plugin --profile web add .
For local development, this repo's
devDependenciesresolves@dsh-external/dsh-file-explorer's./clienttype definitions. Point it at your checkout or your registry's published package beforenpm install.
For files ≤ 2 MiB the plugin parses the text preview content directly. To preview larger files and .bcif, dsh-file-explorer must also expose readRawFile (a small core change described in docs/handoff-2026-08-15-molstar-core-changes.md). Until that change is applied, the plugin degrades gracefully: ≤ 2 MiB files still preview, larger ones show the core's "too large" status.
Limitations
- Requires a WebGL-capable browser.
- Read-only preview (no editing).
- Trajectories and density maps (
.dcd,.nc,.map) are out of scope.
Development
npm run check # tsc type check
npm test # vitest unit tests
npm run build # tsc + tsdown (single-file lib/client.js bundling molstar)
The real WebGL mount cannot run under jsdom; verify it with dsh web and a structure file in examples/.
After
npm run build, hard-refresh the browser (Ctrl/Cmd+Shift+R):dsh webmay keep serving a cached plugin bundle, so a soft reload can leave your latest build unused.
Acknowledgments
This plugin is built on Mol* (/ˈmol-star/), a next-generation technology stack for (not only) macromolecular structure data, jointly initiated by PDBe and RCSB PDB.
When using Mol*, please cite:
David Sehnal, Sebastian Bittrich, Mandar Deshpande, Radka Svobodová, Karel Berka, Václav Bazgier, Sameer Velankar, Stephen K Burley, Jaroslav Koča, Alexander S Rose: Mol* Viewer: modern web app for 3D visualization and analysis of large biomolecular structures, Nucleic Acids Research, 2021; https://doi.org/10.1093/nar/gkab314.

