|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
echo "==================================" |
|
|
echo "Cancer@Home v2 - Setup" |
|
|
echo "==================================" |
|
|
echo "" |
|
|
|
|
|
|
|
|
echo "Checking Python installation..." |
|
|
if command -v python3 &> /dev/null; then |
|
|
PYTHON_VERSION=$(python3 --version) |
|
|
echo "✓ Python found: $PYTHON_VERSION" |
|
|
else |
|
|
echo "✗ Python not found. Please install Python 3.8+" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "Checking Docker installation..." |
|
|
if command -v docker &> /dev/null; then |
|
|
DOCKER_VERSION=$(docker --version) |
|
|
echo "✓ Docker found: $DOCKER_VERSION" |
|
|
else |
|
|
echo "✗ Docker not found. Please install Docker" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "Creating Python virtual environment..." |
|
|
python3 -m venv venv |
|
|
echo "✓ Virtual environment created" |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "Installing Python dependencies..." |
|
|
source venv/bin/activate |
|
|
pip install --upgrade pip |
|
|
pip install -r requirements.txt |
|
|
echo "✓ Dependencies installed" |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "Creating directory structure..." |
|
|
mkdir -p data/gdc |
|
|
mkdir -p data/boinc |
|
|
mkdir -p data/processed/fastq |
|
|
mkdir -p data/processed/blast |
|
|
mkdir -p data/processed/variants |
|
|
mkdir -p data/cache |
|
|
mkdir -p logs |
|
|
echo "✓ Directories created" |
|
|
|
|
|
|
|
|
echo "" |
|
|
echo "Starting Neo4j database..." |
|
|
docker-compose up -d |
|
|
sleep 10 |
|
|
echo "✓ Neo4j started" |
|
|
|
|
|
echo "" |
|
|
echo "==================================" |
|
|
echo "Setup Complete!" |
|
|
echo "==================================" |
|
|
echo "" |
|
|
echo "To start the application:" |
|
|
echo " 1. Activate virtual environment: source venv/bin/activate" |
|
|
echo " 2. Run the application: python run.py" |
|
|
echo "" |
|
|
echo "Access points:" |
|
|
echo " - Application: http://localhost:5000" |
|
|
echo " - Neo4j Browser: http://localhost:7474 (neo4j/cancer123)" |
|
|
echo " - API Docs: http://localhost:5000/docs" |
|
|
echo "" |
|
|
|