A privacy-first genomic analysis app that serves as a gateway to the collaborative BioVault research network. Load your genetic data for local analysis, discover insights, and connect to the world of collaborative genomics.
- 𧬠My DNA - Load and manage genetic data files locally on your device (23andMe, AncestryDNA, etc.)
- π Insights - Run ClinVar analysis and discover genetic insights
- π Research - Connect to the BioVault collaborative genomics network
- π Web-Only Features - Enhanced analytics, network participants, biobanks, pipelines, and more
- Node.js
- npm or yarn
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio/Emulator (for Android development)
Install NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bashbrew install fastlane cocoapods
Get node 23:
nvm install 23.6.1
nvm alias default 23.6.1Install packages:
npm installExpo Doctor:
npx expo-doctor
iOS:
rm -rf ios
npm run cargo-ios -- ios
npm run prebuild
npm run device
Or this script:
./ios.sh-
Clone and install dependencies:
git clone <repository-url> cd biovault-app npm install
-
Start the development server:
npm run start
Option 1: Physical Device (Recommended)
- Install the BioVault Dev app from the Expo Dashboard
- Open the BioVault Dev app on your iOS device
- Scan the QR code generated by
npm run start - Your device will connect to your development server
Option 2: iOS Simulator
- Use Radon Extension for VS Code/Cursor
- Or install Expo Orbit for easy simulator management
- Press
iin the terminal after runningnpm run start
Option 1: Physical Device (Recommended)
- Download the latest BioVault APK from the Expo Dashboard
- Install the APK on your Android device
- Open the BioVault app
- Scan the QR code generated by
npm run start - Your device will connect to your development server
Option 2: Android Emulator
- Use Radon Extension for VS Code/Cursor
- Or install Expo Orbit for easy emulator management
- Press
ain the terminal after runningnpm run start
- Run
npm run start - Press
win the terminal, or - Open your browser to
http://localhost:8081(or the port shown in terminal) - The web version includes additional tabs not available on mobile
This app now uses the expo-bioscript native module plus the shared bioscript workspace checked into ./bioscript.
modules/expo-bioscript/- Expo native wrapper used by the app
- builds iOS/Android artifacts from the shared BioScript FFI crate
bioscript/rust/- shared Rust workspace
- contains
bioscript-cli,bioscript-ffi,bioscript-runtime, and related crates
Prerequisites:
- Rust toolchain
- Xcode and iOS targets for iOS development
- Android SDK/NDK and Rust Android targets for Android development
Install Rust targets:
rustup target add aarch64-apple-ios
rustup target add aarch64-apple-ios-sim
rustup target add aarch64-linux-android
rustup target add x86_64-linux-android
cargo install cargo-ndkBuild iOS artifacts for expo-bioscript:
npm run cargo-iosBuild Android artifacts for expo-bioscript:
npm run cargo-androidThe build scripts resolve the shared BioScript workspace from ./bioscript by default.
If needed, you can override that with BIOSCRIPT_ROOT=/path/to/bioscript.
Run workspace tests:
./test.sh --fastRun coverage:
./coverage.shRun clippy fixes:
./clippy.shRun the BioScript CLI directly:
./cli --helpSome repo tests rely on local fixture files under test-data/.
Bootstrap them with:
./tools/fetch_test_data.shThis downloads the web 23andMe fixture used by ./test-web.sh plus the larger CRAM/reference fixtures used by ./wasm.sh and some bioscript paths.
If ./test-web.sh reports a missing fixture, run ./tools/fetch_test_data.sh and rerun the tests.
./cli --help
./cli parse --file /path/to/genome.zip --output sample