#!/usr/bin/env bash
# Bulk download script for GSE143804
# Generated from Yeo Lab Publications Database
# Total files: 16

OUTDIR="GSE143804"
mkdir -p "$OUTDIR"
cd "$OUTDIR"

# --- GEO supplementary files ---
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE143nnn/GSE143804/suppl/GSE143804_CM_commonPeaks.bed.gz" -O "GSE143804_CM_commonPeaks.bed.gz"
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE143nnn/GSE143804/suppl/GSE143804_DMEM_commonPeaks.bed.gz" -O "GSE143804_DMEM_commonPeaks.bed.gz"
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE143nnn/GSE143804/suppl/GSE143804_RAW.tar" -O "GSE143804_RAW.tar"
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE143nnn/GSE143804/suppl/GSE143804_allCommonPeaks.bed.gz" -O "GSE143804_allCommonPeaks.bed.gz"

# --- SRA run files ---
# Tip: use 'fasterq-dump' from SRA Toolkit for FASTQ conversion
#      with optional renaming to original submitted FASTQ names.
# Set to 1 to rename SRR outputs (e.g. SRR_1.fastq.gz -> sample_R1.fastq.gz)
RENAME_SRA_TO_ORIGINAL=1

_compress_if_exists() {
  local stem="$1"
  if [ -f "${stem}.fastq" ]; then
    gzip -f "${stem}.fastq"
    echo "${stem}.fastq.gz"
    return 0
  fi
  if [ -f "${stem}.fq" ]; then
    gzip -f "${stem}.fq"
    echo "${stem}.fq.gz"
    return 0
  fi
  return 1
}

# Option A: Download via SRA Toolkit (recommended)
fasterq-dump --split-files "SRR10903933"
gz1="$(_compress_if_exists 'SRR10903933_1' || true)"
gz2="$(_compress_if_exists 'SRR10903933_2' || true)"
gzs="$(_compress_if_exists 'SRR10903933' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "CM_Input_S24_reads.fastq.gz"
fi

fasterq-dump --split-files "SRR10903934"
gz1="$(_compress_if_exists 'SRR10903934_1' || true)"
gz2="$(_compress_if_exists 'SRR10903934_2' || true)"
gzs="$(_compress_if_exists 'SRR10903934' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "CM_IP_1_S28_reads.fastq.gz"
fi

fasterq-dump --split-files "SRR10903935"
gz1="$(_compress_if_exists 'SRR10903935_1' || true)"
gz2="$(_compress_if_exists 'SRR10903935_2' || true)"
gzs="$(_compress_if_exists 'SRR10903935' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "CM_IP_2_S29_reads.fastq.gz"
fi

fasterq-dump --split-files "SRR10903936"
gz1="$(_compress_if_exists 'SRR10903936_1' || true)"
gz2="$(_compress_if_exists 'SRR10903936_2' || true)"
gzs="$(_compress_if_exists 'SRR10903936' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "DMEM_Input_S23_reads.fastq.gz"
fi

fasterq-dump --split-files "SRR10903937"
gz1="$(_compress_if_exists 'SRR10903937_1' || true)"
gz2="$(_compress_if_exists 'SRR10903937_2' || true)"
gzs="$(_compress_if_exists 'SRR10903937' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "DMEM_IP_1_S25_reads.fastq.gz"
fi

fasterq-dump --split-files "SRR10903938"
gz1="$(_compress_if_exists 'SRR10903938_1' || true)"
gz2="$(_compress_if_exists 'SRR10903938_2' || true)"
gzs="$(_compress_if_exists 'SRR10903938' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "DMEM_IP_2_S26_reads.fastq.gz"
fi


# Option B: Direct download (larger .sra files)
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903933/SRR10903933"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903934/SRR10903934"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903935/SRR10903935"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903936/SRR10903936"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903937/SRR10903937"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903938/SRR10903938"

# --- Additional data files ---
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903933/SRR10903933"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903934/SRR10903934"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903935/SRR10903935"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903936/SRR10903936"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903937/SRR10903937"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR10903938/SRR10903938"

echo "Download complete. Files saved to $OUTDIR"