A comprehensive genomic variant analysis platform built on Binance Smart Chain (BSC) that combines blockchain technology with advanced genomic analysis. The platform includes NFT-based genomic data ownership, a marketplace for genomic data trading, DAO governance, and AI-powered variant analysis.
Just want to run it? Follow these 4 simple steps:
# 1. Clone and install frontend
git clone https://github.com/PratikRai0101/Evo2_Variant_Analysis_BNB.git
cd Evo2_Variant_Analysis_BNB/evo2_frontend
npm install
# 2. Copy the .env file (already configured with deployed contracts)
# The .env file is already set up with working contract addresses!
# 3. Start frontend
npm run dev
# 4. In a new terminal, start backend
cd ../evo2_backend
pip install -r requirements.txt
python start_api.pyThat's it! π
- Frontend:
http://localhost:3000 - Backend:
http://localhost:8000 - Connect MetaMask to BSC Testnet (Chain ID: 97)
- Get test BNB from BSC Faucet
- Frontend: Next.js 14 with TypeScript, TailwindCSS, and Web3 integration
- Backend: Python FastAPI with Modal.com integration for scalable analysis
- Blockchain: Smart contracts deployed on BSC Testnet
- Analysis: AI-powered genomic variant analysis through Modal.com
- Node.js (v18 or higher)
- Python (v3.8 or higher)
- Git
- MetaMask or compatible Web3 wallet
- BSC Testnet BNB for testing (get from BSC Testnet Faucet)
git clone https://github.com/PratikRai0101/Evo2_Variant_Analysis_BNB.git
cd Evo2_Variant_Analysis_BNBcd evo2_frontend
npm installCreate .env file in evo2_frontend/ directory:
NEXT_PUBLIC_ANALYZE_SINGLE_VARIANT_BASE_URL=https://pratikrai0101--variant-analysis-evo2-bnb-evo2model-analy-f8e3c9.modal.run/
# Blockchain Contract Addresses (BSC Testnet)
NEXT_PUBLIC_GENOME_NFT_ADDRESS=0x2181B366B730628F97c44C17de19949e5359682C
NEXT_PUBLIC_GENOME_TOKEN_ADDRESS=0x0C5f98e281cB3562a2EEDF3EE63D3b623De98b15
NEXT_PUBLIC_MARKETPLACE_ADDRESS=0xd80bE0DDCA595fFf35bF44A7d2D4E312b05A1576
NEXT_PUBLIC_DAO_ADDRESS=0x8FEbF8eA03E8e54846a7B82f7F6146bAE17bd3f4
# Optional: API and Chain Configuration
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_CHAIN_ID=97Start the frontend:
npm run devThe frontend will be available at http://localhost:3000
cd ../evo2_backend
pip install -r requirements.txtStart the backend server:
python start_api.pyThe backend API will be available at http://localhost:8000
If you want to deploy your own contracts:
cd ../contracts
npm installCreate .env file in contracts/ directory:
PRIVATE_KEY=your_private_key_here
BSC_TESTNET_RPC_URL=https://data-seed-prebsc-1-s1.bnbchain.org:8545Deploy contracts:
npx hardhat run scripts/deploy-full-platform.js --network bscTestnet- Upload genomic sequences for analysis
- AI-powered variant detection and classification
- BRCA1 gene analysis with pathogenicity prediction
- Interactive visualization of variants
- Mint genomic data as NFTs
- Secure ownership and provenance tracking
- Metadata storage with IPFS integration
- List genomic data for sale or licensing
- Purchase data with BNB or Genome Tokens
- Flexible access levels and duration
- Community-driven decision making
- Proposal creation and voting
- Genome Token-based voting power
- ERC-20 compatible token
- Rewards for data contribution
- Payment method for marketplace transactions
cd evo2_frontend
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLintcd evo2_backend
python api_server.py # Start API server
python test_api.py # Run API tests
python restart_server.py # Restart servercd contracts
npx hardhat compile # Compile contracts
npx hardhat test # Run tests
npx hardhat node # Start local blockchaincd evo2_frontend
npm testcd evo2_backend
python test_api.pycd contracts
npx hardhat testThe platform is configured for BSC Testnet:
- Network Name: BSC Testnet
- RPC URL: https://data-seed-prebsc-1-s1.bnbchain.org:8545
- Chain ID: 97
- Currency Symbol: BNB
- Block Explorer: https://testnet.bscscan.com
Add BSC Testnet to MetaMask:
- Open MetaMask
- Go to Settings > Networks > Add Network
- Enter the network details above
GET /- Health checkPOST /analyze- Analyze genomic variantsGET /analysis/{analysis_id}- Get analysis results- Additional endpoints in
api_server.py
Contract ABIs are available in the contracts/artifacts/ directory after compilation.
-
MetaMask Connection Issues
- Ensure you're connected to BSC Testnet
- Check that you have test BNB
-
Contract Interaction Failures
- Verify contract addresses in
.env - Ensure sufficient BNB for gas fees
- Verify contract addresses in
-
Backend API Errors
- Check if backend server is running on port 8000
- Verify Modal.com endpoint is accessible
-
Frontend Build Errors
- Clear
.nextcache:rm -rf .next - Reinstall dependencies:
rm -rf node_modules && npm install
- Clear
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue on GitHub or contact the development team.
Built with β€οΈ for the genomics and blockchain community