#!/bin/bash
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
QC_DIR="${SCRIPT_DIR}/qc_test"

declare -a PHENOTYPES=(
  "simvastatin__prescribed|result/marpiech_finalregeniedosages_2026_02_15_04_42_11_simvastatin__prescribed_regenie_dosages|contingency_simvastatin__prescribed.tsv"
  "warfarin__prescribed|result/marpiech_finalregeniedosages_2026_02_27_20_08_41_warfarin__prescribed_regenie_dosages|contingency_warfarin__prescribed.tsv"
  "warfarin__optimal_dose|result/marpiech_finalregeniedosages_2026_02_15_17_58_25_warfarin__optimal_dose_regenie_dosages|contingency_warfarin__optimal_dose.tsv"
  "propranolol__prescribed|result/marpiech_finalregeniedosages_2026_02_14_20_52_51_propranolol__prescribed_regenie_dosages|contingency_propranolol__prescribed.tsv"
  "p1558_i0__alcohol_intake_freq|result/marpiech_finalregeniedosages_2026_02_18_05_14_42_p1558_i0__alcohol_intake_freq_regenie_dosages|contingency_p1558_i0__alcohol_intake_freq.tsv"
  "prasugrel__num_of_therapies|result/marpiech_finalregeniedosages_2026_03_09_07_32_12_prasugrel__num_of_therapies_regenie_dosages|contingency_prasugrel__num_of_therapies.tsv"
)

for entry in "${PHENOTYPES[@]}"; do
  IFS='|' read -r name result_dir contingency <<< "$entry"
  results_tsv=$(ls "${SCRIPT_DIR}/${result_dir}/"*-results.tsv 2>/dev/null | head -1)
  if [[ -z "$results_tsv" ]]; then
    echo "SKIP: ${name} — no results TSV"
    continue
  fi

  echo "=== ${name} ==="
  rm -rf /tmp/qc_regen
  mkdir -p /tmp/qc_regen

  Rscript "${SCRIPT_DIR}/gwas_viz_combined.R" \
    --input "$results_tsv" \
    --contingency "${SCRIPT_DIR}/${contingency}" \
    --output /tmp/qc_regen \
    --prefix "$name" 2>&1 | grep -E 'Contingency|flagged|complete'

  if [[ -f "/tmp/qc_regen/${name}_manhattan.png" ]]; then
    cp "/tmp/qc_regen/${name}_manhattan.png" "${QC_DIR}/${name}_manhattan.png"
    echo "  -> ${QC_DIR}/${name}_manhattan.png"
  else
    echo "  ERROR: Manhattan PNG not generated"
  fi
  rm -rf /tmp/qc_regen
  echo ""
done

echo "=== Done ==="
ls -la "$QC_DIR"/*.png
