Molecular dynamics simulation platform. Run protein folding simulations via a web interface.
- frontend/ - react app for submitting and viewing simulation jobs
- backend/ - fastapi server + worker that handles job queue and talks to aws batch
- upside/ - the actual molecular dynamics engine (c++ with python bindings)
You need postgres and redis running locally. Easiest way:
cd backend
docker compose up -dcd backend
uv syncThis installs all python dependencies into a local .venv.
You'll need a .env file with your aws creds and other information:
DATABASE_URL=...
REDIS_URL=...
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=...
S3_OUTPUT_BUCKET=...
cd frontend
npm installcd backend
uv run uvicorn main:app --reloadRuns on http://localhost:8000 by default.
cd backend
uv run python worker.pyThis polls redis for new simulation jobs and submits them to AWS batch. Also checks on running jobs and updates their status when they complete.
cd frontend
npm run devRuns on http://localhost:5173. This is the whole (pretty simple) web ui for submitting simulations and viewing results.
docker compose up -d(in backend/)- run the api server in one terminal
- run the worker in another terminal
- run the frontend in a third terminal
- go to http://localhost:5173