/aquila-preprocess
The scripts are written in Python, the database use PostgreSQL.
aquila-api
and aquila-fastapi
The main API Server is written in Rust using Actix.
The side API Server is written in Python using FastAPI to run following analysis:
Two server is registered under the same domain: https://api.cheunglab.org
through
reverse proxy provided by Nginx.
To run a dev build with HMR
cd aquila-api
cargo watch -x 'run --bin aquila-api' --workdir .
To run a production build
cargo build --release && ./target/release/aquila-api
The computed server for spatial variable gene is in FastAPI and run as docker image.
aquila-ui
The UI part is implemented using Next.js, the analysis part is powered by indexedDB.
We also use WebWorker to run tasks parallel on the web.
To run a dev build with HMR
8G RAM is needed to run a dev build,
$Env:NODE_OPTIONS="--max-old-space-size=8192" # powershell
export NODE_OPTIONS="--max-old-space-size=8192" # linux
cd aquila-ui
yarn dev
The UI part will be deployed automatically by Vercel.
To deploy actix server
cd aquila-api
SERVER_PID="$(pidof aquila-api)"
echo "Terminate current running process at $SERVER_PID"
kill $SERVER_PID
cargo build --release
nohup ./target/release/aquila-api > log.out 2>&1 &