#!/usr/bin/env bash
set -euo pipefail
APP=/opt/qsar-admet-studio/QSAR_ADMET_Studio_V1.0.1.py
DATA_ROOT="${QSARADMET_HOME:-$HOME/.local/share/qsar-admet-studio}"
VENV="$DATA_ROOT/venv"
PORT="${QSARADMET_PORT:-8807}"
MARKER="$VENV/.qsaradmet_deps_1.0.1"
mkdir -p "$DATA_ROOT" "$DATA_ROOT/runs" "$DATA_ROOT/cache" "$DATA_ROOT/imports"
if [ ! -x "$VENV/bin/python" ]; then
  python3 -m venv "$VENV"
fi
if [ ! -f "$MARKER" ]; then
  "$VENV/bin/python" -m pip install --disable-pip-version-check --upgrade pip setuptools wheel
  "$VENV/bin/python" -m pip install --disable-pip-version-check --prefer-binary \
    'streamlit>=1.37' 'numpy>=1.24' 'pandas>=2.0' 'scipy>=1.10' \
    'plotly>=5.18' 'rdkit>=2024.3' 'scikit-learn>=1.3' 'joblib>=1.3' \
    'psutil>=5.9' 'openpyxl>=3.1' 'XlsxWriter>=3.1' 'reportlab>=4.0'
  touch "$MARKER"
fi
export QSARADMET_HOME="$DATA_ROOT"
export QSARADMET_NO_AUTO_PIP=1
export STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
exec "$VENV/bin/python" -m streamlit run "$APP" \
  --server.address 0.0.0.0 \
  --server.port "$PORT" \
  --server.headless true \
  --browser.gatherUsageStats false \
  --theme.base light \
  --theme.backgroundColor '#FFFFFF' \
  --theme.secondaryBackgroundColor '#F3F7FB' \
  --theme.textColor '#10243E' \
  --theme.primaryColor '#11698E'
