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

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

# --- GEO supplementary files ---
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE51nnn/GSE51685/suppl/GSE51685_SC_c9_table.txt.gz" -O "GSE51685_SC_c9_table.txt.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 "SRR1017123"
gz1="$(_compress_if_exists 'SRR1017123_1' || true)"
gz2="$(_compress_if_exists 'SRR1017123_2' || true)"
gzs="$(_compress_if_exists 'SRR1017123' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gzs" ]; then
  mv -f "$gzs" "MP98.fastq.gz"
fi

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

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

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

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

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

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

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

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


# Option B: Direct download (larger .sra files)
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017123/SRR1017123.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017124/SRR1017124.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017125/SRR1017125.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017126/SRR1017126.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017127/SRR1017127.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017128/SRR1017128.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017129/SRR1017129.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017130/SRR1017130.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017131/SRR1017131.2"

# --- Additional data files ---
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017125/SRR1017125.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017126/SRR1017126.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017127/SRR1017127.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017128/SRR1017128.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017129/SRR1017129.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017130/SRR1017130.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017131/SRR1017131.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017123/SRR1017123.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017124/SRR1017124.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017124/SRR1017124.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017127/SRR1017127.2"
curl -L -O -C - "https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-run-32/SRR001/1017/SRR1017128/SRR1017128.2"

echo "Download complete. Files saved to $OUTDIR"