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

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

# --- GEO supplementary files ---
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE277nnn/GSE277082/suppl/GSE277082_nk_aging_effect_fp.csv.gz" -O "GSE277082_nk_aging_effect_fp.csv.gz"
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE277nnn/GSE277082/suppl/GSE277082_nk_aging_effect_mrna.csv.gz" -O "GSE277082_nk_aging_effect_mrna.csv.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 "SRR30652202"
gz1="$(_compress_if_exists 'SRR30652202_1' || true)"
gz2="$(_compress_if_exists 'SRR30652202_2' || true)"
gzs="$(_compress_if_exists 'SRR30652202' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "rp_NK_rep2_S22_L001_R1_001.fastq.gz"
fi

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

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

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

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

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

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

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


# Option B: Direct download (larger .sra files)
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652202/SRR30652202"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652203/SRR30652203"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652204/SRR30652204"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652205/SRR30652205"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652206/SRR30652206"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652207/SRR30652207"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652208/SRR30652208"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652209/SRR30652209"

# --- Additional data files ---
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652207/SRR30652207"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652206/SRR30652206"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652203/SRR30652203"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652202/SRR30652202"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652209/SRR30652209"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652208/SRR30652208"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652205/SRR30652205"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR30652204/SRR30652204"

echo "Download complete. Files saved to $OUTDIR"