#!/usr/bin/env bash
set -euo pipefail

echo "MetaAMRplus database installer (conda-safe)"

# Check conda environment
if [[ -z "${CONDA_PREFIX:-}" ]]; then
  echo "ERROR: No active conda environment detected"
  exit 1
fi

# Destination in active environment
DB_BASE="$CONDA_PREFIX/share/metaamrplus/db"
DB_NAME="MetaAMRplus_DB_v1.0"
DB_DIR="$DB_BASE/$DB_NAME"
IDMAP_DEST="$CONDA_PREFIX/share/metaamrplus/MetaAMRplus_v1.0.idmap.tsv"

mkdir -p "$DB_BASE"

# Already installed?
if [[ -d "$DB_DIR" && -f "$IDMAP_DEST" ]]; then
  echo "✔ MetaAMRplus database already exists: $DB_DIR"
  exit 0
fi

# Find DB in conda package cache
PKG_DB="$(find $(conda info --base)/pkgs -type d -name "metaamrplus-*" -exec find {} -type d -name "MetaAMRplus_DB_v1.0" \; | head -n1)"
PKG_IDMAP="$(find $(conda info --base)/pkgs -type f -name "MetaAMRplus_v1.0.idmap.tsv" | head -n1)"

if [[ -z "$PKG_DB" || -z "$PKG_IDMAP" ]]; then
  echo "ERROR: Cannot find MetaAMRplus DB in conda packages"
  exit 1
fi

# Copy DB into environment
echo "Copying MetaAMRplus database into environment..."
cp -r "$PKG_DB" "$DB_BASE"
cp "$PKG_IDMAP" "$IDMAP_DEST"

echo
echo "✔ MetaAMRplus database installation complete"
echo "✔ DB location: $DB_DIR"
echo "✔ ID map location: $IDMAP_DEST"
