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

outdir="Less_count_table"
mkdir -p "$outdir"

files=(
  "LESS_AL_DAR_TCDD_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_AL_DAR_TCDD_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_BA_DAR_BPA10mg_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_BA_DAR_BPA10mg_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_BA_DAR_BPA10ug_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_BA_DAR_BPA10ug_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_BI_DAR_PM2.5_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_BI_DAR_PM2.5_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_DO_DAR_DEHP_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_DO_DAR_DEHP_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_DO_DAR_Pb_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_DO_DAR_Pb_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_MU_DAR_PM2.5_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_MU_DAR_PM2.5_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_WK_DAR_TBT_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_WK_DAR_TBT_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
  "LESS_ZB_DAR_As_Li_F_adt_Ctrl_Li_F_adt_RUVr_k3_filter.txt"
  "LESS_ZB_DAR_As_Li_M_adt_Ctrl_Li_M_adt_RUVr_k3_filter.txt"
)

for f in "${files[@]}"; do
  if [[ ! -s "$f" ]]; then
    echo "WARN: missing/empty file -> $f" >&2
    continue
  fi

  base="$(basename "$f")"
  out="$outdir/${base%.txt}.chr_counts.tsv"

  cut -f1 "$f" \
    | sort \
    | uniq -c \
    | awk 'BEGIN{OFS="\t"} {print $2, $1}' \
    | sort -k2,2nr > "$out"
done

echo "Done. Outputs in: $outdir/"
