|
|
#!/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 "" |
|
|
|