RNA-seq 전처리 #1 Quality control

RNA-seq 전처리 #1 Quality control #

#2026-01-25


#1 quality control

DHT 약물 처리된 18개 샘플의 paired-end RNA-seq 데이터를 quality control 수행. FastQC 도구를 사용했고 run_fastqc.sh 스크립트 만들어서 작업.

#!/bin/bash

# input fastq directory
FASTQ_DIR="../2306_tophat/data/Bowtie2Index"

# output directory
OUT_DIR="FastQC"

# run fastqc
mkdir -p "${OUT_DIR}"

for fq in \
  5-AZA_150-*_edited.fastq \
  5-AZA_33-*.fastq \
  5-AZA_con-*.fastq
do
  echo "Running FastQC on ${fq}"
  fastqc "${FASTQ_DIR}/${fq}" -o "${OUT_DIR}"
done

echo "FastQC completed."
chmod +x run_fastqc.sh
./run_fastqc.sh

품질 레포트 확인 결과 모든 샘플에 공통적으로 read 5’ 말단 1-10bp 구간의 염기 조성이 균일하지 않음. 참고 논문에 따라 1-10bp에 atgc가 서열 내용이 무작위로 분포하는 부분을 Trimming 작업. trim_fastq.sh 스크립트 만들어서 작업함.

#!/bin/bash
set -euo pipefail

# ===== 설정 =====
IN_DIR="../2306_tophat/data/Bowtie2Index"
OUT_DIR="./Trim"
S=10
E=0

mkdir -p "${OUT_DIR}"

FASTQ_FILES=(
  "${IN_DIR}"/5-AZA_150-*.fastq
  "${IN_DIR}"/5-AZA_33-*.fastq
  "${IN_DIR}"/5-AZA_con-*.fastq
)

echo "[INFO] Trimming FASTQ files..."

for in_fq in "${FASTQ_FILES[@]}"; do
  [[ -f "$in_fq" ]] || continue

  base="$(basename "$in_fq")"
  out_fq="${OUT_DIR}/${base%.fastq}_trimmed.fastq"

  echo "[TRIM] $base -> $(basename "$out_fq")"

  # ---- 기존 awk 로직 그대로 ----
  awk -v s="${S}" -v e="${E}" '{if (NR%2 == 0) print substr($0, s+1, length($0)-s-e); else print $0; }' \
    "$in_fq" > "$out_fq"
done

echo "[DONE] Trimming completed."
chmod +x trim_fastq.sh
./trim_fastq.sh > trim.log 2>&1

#

#2 정리

18개 샘플의 paired-end RNA-seq 데이터에 대해서 Fastqc를 사용해서 품질 평가를 수행. 품질 레포트 결과에 따라 5′ 말단 10bp trimming을 수행하여 alignment 입력 RNA-seq의 일관성을 확보했다.