11. 여러 샘플의 차등발현 검정
샘플 하나에서 발현량이 높아 보여도 개인차인지, 실험 잡음인지, 조건의 효과인지 구분할 수 없습니다. 여러 반복 샘플을 모아 그룹 안의 변동을 측정해야 “통계적으로 다르다”고 말할 수 있습니다.
이 수업의 질문: 여러 샘플의 변동을 고려해 두 그룹의 발현 차이를 어떻게 검정하는가?
배포 전후의 latency를 한 번씩만 측정해서 회귀를 판정할 수 없는 것과 같습니다. 요청마다 값이 달라지는 범위를 먼저 알아야 배포 효과가 평소 변동보다 큰지 판단할 수 있습니다. 차등발현 분석에서는 요청 반복 대신 생물학적 반복 샘플, latency 대신 유전자별 raw count를 사용합니다.
| 입력 테이블 | 메타데이터 | 모델이 분리할 것 | 출력 |
|---|---|---|---|
| 유전자 × 샘플 raw count | 샘플별 실험군·대조군, 배치 | 그룹 차이와 그룹 안 변동 | 유전자별 log2FC, p-value, padj |
1. 여러 샘플로: bulk-RNA 차등발현 분석
섹션 제목: “1. 여러 샘플로: bulk-RNA 차등발현 분석”샘플이 하나뿐인 N=1 분석의 근본 한계는 변동 범위를 추정할 수 없다는 점입니다. 개인차와 실험 환경 차이로 발현량이 달라질 수 있어서, 한 샘플에서 “튀는” 값이 조건의 효과인지 평소 변동인지 통계적으로 분리할 수 없습니다.
그래서 정통(conventional) bulk-RNA 분석은 여러 샘플을 씁니다.
- 특이적 변화가 replicate에서 재현되는지 확인하고,
- 정상 대조군과 비교해 유전자별 변화에 통계적 유의성을 부여합니다.
- 보통 실험군·대조군 각각 최소 n=3(분산을 추정할 수 있는 최소 수)으로 두고, 많을수록 좋습니다. 실험군을 직접 확보하고 대조군은 공개 데이터로 채우기도 합니다(이때 배치 효과 제거 필요).
워크플로
섹션 제목: “워크플로”정렬·정량까지는 앞선 RNA-seq 파이프라인과 같고, 그 뒤에 차등발현(DEG) 분석이 붙습니다.
FastQC → Trim Galore! → FastQC → STAR → featureCounts → DEG 분석 (DESeq2 / limma-voom / edgeR) → 시각화·기능분석 (Volcano plot, g:Profiler, GSEA)- DEG(Differentially Expressed Gene) 분석은 두 그룹(예: Tumor vs Normal)의 발현량을 유전자별로 비교합니다. 입력은 대개 raw count(정규화 전 원시 카운트)입니다.
- 결과로 유전자마다 Log2FC(그룹 간 발현 배수 변화)와 다중검정을 보정한 padj를 돌려줍니다.
baseMean부터padj까지 각 열의 계산 관계는 DESeq2·PyDESeq2 결과표 읽기에서, p-value와 padj의 일반적인 차이는 통계적 검정과 다중검정에서 설명합니다. - 이걸 Volcano plot(x=Log2FC, y=유의성)으로 그리고, 튀는 유전자 집합의 기능을 GSEA·g:Profiler로 해석합니다.

DEG로 고른 유전자들을 기능(pathway)으로 묶어 본 enrichment 시각화 예시(dot plot·bar plot·enrichment map). “어떤 생물학적 프로그램이 두 그룹 사이에서 달라졌나”를 요약한다.
DESeq2가 하는 일
섹션 제목: “DESeq2가 하는 일”가장 널리 쓰는 DEG 도구 DESeq2는 다음 순서로 분석합니다.
counts.shape # genes × samplessample_info.shape # samples × conditionsresults.shape # genes × statisticscounts와 sample_info는 샘플 ID로 정확히 조인돼야 합니다. 열 순서가 어긋나 실험군 라벨을 다른 샘플에 붙이면 모델은 정상적으로 실행돼도 잘못된 비교를 하므로, 분석 전에 ID와 순서를 검증합니다.
- raw count 행렬과 샘플별 조건 정보를 연결한다.
- 너무 낮게 발현되는 유전자를 제거해 노이즈를 줄인다.
- 샘플별 시퀀싱 깊이를 보정하고 유전자별 변동을 추정한다.
- count 데이터에 맞는 모델로 그룹 차이를 검정해 log2FC와 padj를 구한다.
- PCA·heatmap에 쓸 수 있도록 분산을 안정화한 값도 만든다.
🧩 왜 raw count인가: TPM은 샘플 내 비율로 바꾼 값입니다. DESeq2는 정수 count의 변동을 직접 모델링하고 자체 방식으로 깊이를 보정해야 하므로 raw count를 입력받습니다. 음이항분포와 반복 샘플의 역할은 DEG에서 무엇을 검정하나에서 자세히 설명합니다.
이렇게 N=1의 아웃라이어 탐색에서 여러 샘플의 통계적 차등발현으로 넘어가면, “이 유전자가 튄다”를 넘어 “통계적으로 유의하게 달라졌다” 고 말할 수 있게 됩니다.
한 코호트의 paired Tumor·Normal 비교는 GSE251845 DEG 실습에서, 두 코호트의 변화량을 따로 계산해 비교하는 과정은 EOCRC·LOCRC 비교 실습에서 이어집니다.
차등발현 분석은 한 샘플의 큰 값을 찾는 작업이 아닙니다. 그룹 안의 변동과 시퀀싱 깊이를 고려해, 조건이 달라졌을 때 일관되게 변한 유전자를 찾는 작업입니다.
반복 샘플 → raw count → 깊이·분산 추정 → 그룹 비교 → log2FC와 유의성 → 기능 분석