MuSProt / README.md
WinslowFan's picture
Update owner refs wenruifan -> omaib (Space URL, SEO/sitemap, dataset repo)
1ebf5db
|
Raw
History Blame Contribute Delete
2.06 kB
metadata
title: MuSProt
emoji: 🧬
colorFrom: blue
colorTo: gray
sdk: docker
app_port: 8501
pinned: false
short_description: A multistate multimodal protein structure dataset
license: mit

MuSProt

MuSProt is a multistate protein structure database with pairwise structural comparisons, energy annotations, experimental metadata, and functional annotations.

Space configuration

The Docker Space serves a React frontend and a MuSProt-only FastAPI backend. The SQLite database is always opened in immutable read-only mode.

frontend/   React/Vite MuSProt explorer
backend/    MuSProt-only FastAPI API and bundled small assets
Dockerfile  Hugging Face Docker Space build

Provide the database using one of these approaches:

  1. Mount or upload it to /data/MuSProt.db.
  2. Set MUSPROT_DATASET_REPO to a Hugging Face Dataset repository containing MuSProt.db.

Recommended Dataset repository files:

MuSProt.db
MuSProt-node-lookup.db
musprot_summary.json
MuSProt_documentation.md
plots/

Optional Space variables:

MUSPROT_DB_PATH=/data/MuSProt.db
MUSPROT_NODE_DB_PATH=/data/MuSProt-node-lookup.db
MUSPROT_SUMMARY_PATH=/data/musprot_summary.json
MUSPROT_DOCS_PATH=/data/MuSProt_documentation.md
MUSPROT_PLOTS_DIR=/data/plots
MUSPROT_DATASET_REPO=omaib/<dataset-repository>
MUSPROT_DATASET_REVISION=main
MUSPROT_DB_FILENAME=MuSProt.db
MUSPROT_PRELOAD_NODE_INDEX=0

For a private Dataset repository, add HF_TOKEN as a Space secret.

Updating the database

When publishing a new MuSProt.db, regenerate the bundled summary sidecar:

cd backend
python scripts/generate_summary.py /path/to/MuSProt.db -o assets/musprot_summary.json

The deployed application does not create indexes or modify the SQLite file. Create any required indexes before uploading the database to the Dataset repository.

Local verification

cd frontend
npm ci
npm run build

cd ../backend
MUSPROT_DB_PATH=/path/to/MuSProt.db \
MUSPROT_FRONTEND_DIR=../frontend/build \
uvicorn space_app:app --host 0.0.0.0 --port 8501