Skip to content

Repository files navigation

DAQweb

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | bash

DAQweb is a local web interface for computing and inspecting DAQ scores for cryo-EM model validation. It runs a React UI in your browser and a local Python backend for DAQ computation, including ONNX Runtime inference and platform fallbacks.

What It Does

  • Computes residue-wise DAQ scores from a model plus cryo-EM map.
  • Loads PDB or mmCIF atomic models.
  • Loads MRC or MAP density volumes.
  • Reuses an existing DAQ .npy grid when you already have one.
  • Writes scored PDB outputs for amino-acid, C-alpha, secondary-structure, and combined DAQ metrics.
  • Shows interactive model, map, chart, sequence, and run-history views in the browser.
  • Stores run outputs locally under your user account.

DAQweb is web UI based. The computation still runs locally on your machine; no input models, maps, or score files are uploaded to an external service by the default installer.

Install

Run:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | bash

The installer creates:

~/.daqweb/
  app/
  bin/daqweb
  logs/
  node/        # only when Node.js 18+ is not already installed
  runs/
  venv/

It downloads the repository, builds the React app, creates an isolated Python environment, installs DAQweb's Python dependencies, and installs the best available ONNX backend for your platform.

Start DAQweb

~/.daqweb/bin/daqweb start

Then open:

http://127.0.0.1:5173/

daqweb start prints the local URL as a clickable terminal link in terminals that support hyperlinks.

If ~/.local/bin is on your PATH, the installer also links:

daqweb start

During interactive installs, DAQweb asks whether to add the daqweb command to your PATH. For non-interactive installs, set DAQWEB_INSTALL_USER_BIN=1.

Inputs

DAQweb accepts:

  • atomic model: .pdb, .cif, .mmcif
  • density map: .mrc, .map
  • optional existing DAQ grid: .npy

For a full DAQ computation, provide a model and either a density map or an existing DAQ grid. When a map is provided, DAQweb computes a grid first, then assigns residue-level scores to the model.

Backends

The installer chooses backend packages by operating system:

  • Linux x86_64: onnxruntime-gpu with CPU fallback
  • macOS Apple Silicon: onnxruntime plus mlx when available
  • macOS Intel: onnxruntime CPU
  • Other Linux architectures: onnxruntime CPU
  • Windows shells: onnxruntime-directml with CPU fallback

Inside the UI, the backend selector defaults to auto. Use cpu if you want the most predictable fallback behavior, or a GPU backend when your platform and drivers support it.

Installer Options

Set environment variables before bash to customize installation:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | \
  DAQWEB_HOME="$HOME/.daqweb" DAQWEB_REF=main bash

Common options:

  • DAQWEB_HOME: install location, default ~/.daqweb
  • DAQWEB_REPO: GitHub repository, default kiharalab/DAQweb
  • DAQWEB_REF: branch or tag, default main
  • DAQWEB_CPU_ONLY=1: install the CPU ONNX backend even on GPU-capable Linux
  • DAQWEB_FORCE_BUILD=1: rebuild the frontend even if a prebuilt dist/ exists
  • DAQWEB_INSTALL_USER_BIN=1: install the daqweb command without prompting
  • DAQWEB_SKIP_USER_BIN=1: do not create the ~/.local/bin/daqweb symlink

Data And Files

DAQweb keeps installation files and results local:

  • app source and built UI: ~/.daqweb/app
  • Python virtual environment: ~/.daqweb/venv
  • completed runs: ~/.daqweb/runs
  • logs: ~/.daqweb/logs

Each run stores metadata, generated DAQ grid files, and scored PDB outputs. You can remove old runs by deleting directories under ~/.daqweb/runs.

Update

Rerun the installer:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | bash

To install a specific tag or branch:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | \
  DAQWEB_REF=<tag-or-branch> bash

Uninstall

Stop any running DAQweb server, then remove the install directory:

rm -rf ~/.daqweb
rm -f ~/.local/bin/daqweb

Troubleshooting

If the UI does not open, confirm the server is running:

~/.daqweb/bin/daqweb start --port 5173

If Python dependencies fail on Linux GPU installs, retry with the CPU backend:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | \
  DAQWEB_CPU_ONLY=1 bash

If the command daqweb is not found, either run ~/.daqweb/bin/daqweb start directly or add this to your shell profile:

export PATH="$HOME/.local/bin:$PATH"

Development

Install frontend dependencies:

npm ci

Run the development server:

npm run dev -- --port 5173

Run a production-style local server:

npm run build
npm run serve:local -- --port 5173

Build release artifacts:

npm run package:release

Optional Browser Extension

DAQweb's one-command installer is web UI only. The browser extension and native messaging host are optional integration pieces for workflows that want to launch DAQweb from another web application.

The native host can be registered for the published Chrome extension with:

curl -fsSL https://raw.githubusercontent.com/kiharalab/DAQweb/main/install.sh | \
  DAQWEB_INSTALL_NATIVE_HOST=1 bash

Citation

If you use DAQweb or DAQ scores in published work, cite the DAQ method:

Terashi, G., Wang, X., Maddhuri Venkata Subramaniya, S. R., Tesmer, J. J., & Kihara, D. (2022). Residue-wise local quality estimation for protein models from cryo-EM maps. Nature Methods, 19(9), 1116-1125.

License

See the license files in this repository for the DAQweb code and bundled DAQ plugin components.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages