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

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

# --- GEO supplementary files ---
wget -nc "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE107nnn/GSE107895/suppl/GSE107895_RAW.tar" -O "GSE107895_RAW.tar"

# --- 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 "SRR6365478"
gz1="$(_compress_if_exists 'SRR6365478_1' || true)"
gz2="$(_compress_if_exists 'SRR6365478_2' || true)"
gzs="$(_compress_if_exists 'SRR6365478' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "XiaoCollab1-5079_IP.R1.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "XiaoCollab1-5079_IP.R2.fastq.gz"
fi

fasterq-dump --split-files "SRR6365479"
gz1="$(_compress_if_exists 'SRR6365479_1' || true)"
gz2="$(_compress_if_exists 'SRR6365479_2' || true)"
gzs="$(_compress_if_exists 'SRR6365479' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "fix_FXR_In_D501_L000_R1_001.unassigned.barcoded.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "fix_FXR_In_D501_L000_R2_001.unassigned.barcoded.fastq.gz"
fi

fasterq-dump --split-files "SRR6365480"
gz1="$(_compress_if_exists 'SRR6365480_1' || true)"
gz2="$(_compress_if_exists 'SRR6365480_2' || true)"
gzs="$(_compress_if_exists 'SRR6365480' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "XiaoCollab2-5352_IP.R1.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "XiaoCollab2-5352_IP.R2.fastq.gz"
fi

fasterq-dump --split-files "SRR6365481"
gz1="$(_compress_if_exists 'SRR6365481_1' || true)"
gz2="$(_compress_if_exists 'SRR6365481_2' || true)"
gzs="$(_compress_if_exists 'SRR6365481' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "fix_FXR_In_D502_701_L000_R1_001.unassigned.barcoded.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "fix_FXR_In_D502_701_L000_R2_001.unassigned.barcoded.fastq.gz"
fi

fasterq-dump --split-files "SRR6365482"
gz1="$(_compress_if_exists 'SRR6365482_1' || true)"
gz2="$(_compress_if_exists 'SRR6365482_2' || true)"
gzs="$(_compress_if_exists 'SRR6365482' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "TBN_51.R1.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "TBN_51.R2.fastq.gz"
fi

fasterq-dump --split-files "SRR6365483"
gz1="$(_compress_if_exists 'SRR6365483_1' || true)"
gz2="$(_compress_if_exists 'SRR6365483_2' || true)"
gzs="$(_compress_if_exists 'SRR6365483' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "TBN_50_S37_L003_R1_001.unassigned.barcoded.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "TBN_50_S37_L003_R2_001.unassigned.barcoded.fastq.gz"
fi

fasterq-dump --split-files "SRR6365484"
gz1="$(_compress_if_exists 'SRR6365484_1' || true)"
gz2="$(_compress_if_exists 'SRR6365484_2' || true)"
gzs="$(_compress_if_exists 'SRR6365484' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "TBN_55.R1.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "TBN_55.R2.fastq.gz"
fi

fasterq-dump --split-files "SRR6365485"
gz1="$(_compress_if_exists 'SRR6365485_1' || true)"
gz2="$(_compress_if_exists 'SRR6365485_2' || true)"
gzs="$(_compress_if_exists 'SRR6365485' || true)"
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz1" ]; then
  mv -f "$gz1" "TBN_54_S41_L003_R1_001.unassigned.barcoded.fastq.gz"
fi
if [ "$RENAME_SRA_TO_ORIGINAL" = "1" ] && [ -n "$gz2" ]; then
  mv -f "$gz2" "TBN_54_S41_L003_R2_001.unassigned.barcoded.fastq.gz"
fi


# Option B: Direct download (larger .sra files)
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365478/SRR6365478"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365479/SRR6365479"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365480/SRR6365480"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365481/SRR6365481"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365482/SRR6365482"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365483/SRR6365483"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365484/SRR6365484"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365485/SRR6365485"

# --- Additional data files ---
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365479/SRR6365479"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365481/SRR6365481"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365483/SRR6365483"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365482/SRR6365482"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365485/SRR6365485"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365484/SRR6365484"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365478/SRR6365478"
curl -L -O -C - "https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR6365480/SRR6365480"

echo "Download complete. Files saved to $OUTDIR"