#!/bin/bash
#SBATCH -p short
#SBATCH -t 0-05:00
#SBATCH --mem 2G
#SBATCH -e mergebam.%j.err

module load conda/miniforge3/24.11.3-0
conda activate /n/groups/neuroduo/Shon/venv/bioenv

############################################################
# Average replicate BigWigs for each species/line/condition
############################################################

average_group () {

    output="$1"
    shift

    files=("$@")

    echo
    echo "Averaging ${#files[@]} files:"
    printf '  %s\n' "${files[@]}"
    echo "  -> $output"

    if [[ ${#files[@]} -lt 2 ]]; then
        echo "WARNING: fewer than 2 replicates. Skipping."
        return
    fi

    if [[ -e "$output" ]]; then
        echo "WARNING: $output already exists. Skipping."
        return
    fi

    bigwigAverage \
        -b "${files[@]}" \
        -o "$output"
}


############################################################
# H1C1b F10-1
############################################################

for species in Human Chimp; do

    files=( ${species}_piN_H1C1b_F10-1_2hrKCl_IgG_R*.hg38.bw )

    average_group \
        "${species}_piN_H1C1b_F10-1_2hrKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

    files=( ${species}_piN_H1C1b_F10-1_minusKCl_IgG_R*.hg38.bw )

    average_group \
        "${species}_piN_H1C1b_F10-1_minusKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

done


############################################################
# H2C2a G6-2
############################################################

for species in Human Chimp; do

    files=( ${species}_piN_H2C2a_G6-2_2hrKCl_IgG_R*.hg38.bw )

    average_group \
        "${species}_piN_H2C2a_G6-2_2hrKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

    files=( ${species}_piN_H2C2a_G6-2_minusKCl_IgG_R*.hg38.bw )

    average_group \
        "${species}_piN_H2C2a_G6-2_minusKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

done


############################################################
# H2C2a G11-1
############################################################

for species in Human Chimp; do

    files=(
        ${species}_piN_H2C2a_G11-1_2hrKCl_IgG_R*.hg38.bw
        ${species}_piN_H2C2a_G11_1_2hrKCl_IgG_R*.hg38.bam.bw
    )

    average_group \
        "${species}_piN_H2C2a_G11-1_2hrKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

    files=(
        ${species}_piN_H2C2a_G11-1_minusKCl_IgG_R*.hg38.bw
        ${species}_piN_H2C2a_G11_1_minusKCl_IgG_R*.hg38.bam.bw
    )

    average_group \
        "${species}_piN_H2C2a_G11-1_minusKCl_IgG_merged.hg38.bw" \
        "${files[@]}"

done
