count는 정규분포가 아닙니다
RNA-seq count는 0 이상의 정수이고, 평균이 커지면 분산도 커집니다. 그래서 t-test보다 Poisson 또는 negative binomial 계열 모델이 자연스럽습니다.
RNA-seq에서 DEG를 계산한다는 말은 단순히 평균 count를 비교한다는 뜻이 아닙니다. sequencing depth, 유전자별 평균-분산 관계, biological replicate, batch, cell type, donor 구조를 모델 안에 넣고, “이 조건 효과가 우연으로 설명되는가”를 유전자마다 묻는 과정입니다.
DEG 분석의 핵심은 “차이”가 아니라 “차이를 믿을 근거”입니다. count가 많은지, replicate가 충분한지, cell이 아니라 donor가 독립 단위인지, batch가 조건과 섞였는지가 결과를 바꿉니다.
RNA-seq count는 0 이상의 정수이고, 평균이 커지면 분산도 커집니다. 그래서 t-test보다 Poisson 또는 negative binomial 계열 모델이 자연스럽습니다.
같은 donor에서 나온 세포 2,000개는 donor 2,000명이 아닙니다. 통계적으로 독립인 단위가 무엇인지 먼저 정해야 합니다.
p-value는 “믿을 수 있는가”를 묻고, log2 fold change는 “얼마나 달라졌는가”를 말합니다. 둘을 분리해서 읽어야 합니다.
2만 개 유전자를 동시에 검사하면 작은 p-value가 우연히 많이 생깁니다. Benjamini-Hochberg 보정은 발견 목록 안의 false discovery 비율을 제어합니다.
같은 평균 차이라도 실험 설계와 분산 구조가 다르면 결론이 달라집니다. 아래 수식은 DEG 방법들이 공유하는 최소 골격입니다.
Poisson은 분산이 평균과 같다고 봅니다. 실제 RNA-seq은 biological variability 때문에 분산이 더 큽니다. 이 초과분산을 α가 담당합니다.
size factor는 “샘플마다 컵 크기가 다르다”는 문제를 보정합니다. design matrix는 조건, batch, sex, age처럼 함께 고려할 변수를 표로 적는 방식입니다.
세포를 바로 독립 샘플로 쓰지 않고, donor와 cell type별로 raw count를 합칩니다. 그 다음 donor 단위 count matrix에 bulk RNA-seq 방법을 적용합니다.
조건 효과가 추정 오차에 비해 충분히 큰지 보는 비율입니다. 같은 logFC라도 replicate가 많고 분산이 작으면 z가 커집니다.
유전자 하나가 아니라 발견 목록 전체를 다루는 보정입니다. q=0.05인 목록은 “그 목록 중 약 5% 이하가 false discovery가 되도록” 설계된 기준입니다.
DESeq2의 핵심은 “유전자 하나만 보지 말고 전체 유전자의 평균-분산 패턴에서 배운다”입니다. 낮은 count에서 과장된 fold change를 줄여 ranking을 안정화합니다.
아래 시뮬레이터는 180개 유전자를 만들고, 일부 유전자에 실제 조건 효과를 넣습니다. 점 하나가 유전자 하나입니다. 위로 올라갈수록 p-value가 작고, 좌우로 멀어질수록 logFC가 큽니다.
단일세포 데이터에서 DEG를 할 때 가장 흔한 함정은 cell을 replicate처럼 쓰는 것입니다. pseudobulk는 donor별 cell type count를 합쳐 donor 간 변이를 모델링합니다.
p-value가 지나치게 작아집니다. 같은 donor에서 나온 세포들은 batch, genotype, environment, sample handling을 공유하므로 완전히 독립이 아닙니다.
sample 수는 donor 수로 돌아갑니다. count는 커져서 dropout 노이즈가 줄고, bulk RNA-seq에서 검증된 DESeq2, edgeR, limma-voom을 쓸 수 있습니다.
donor, batch, subject, time point가 겹칠 때는 random effect나 dreamlet, muscat 같은 다층 모델이 필요할 수 있습니다. 핵심은 cell 수보다 실험 단위입니다.
DEG 분석법은 “좋은 방법 하나”로 끝나지 않습니다. count data, small n, zero inflation, cell type stratification, repeated donor design 중 무엇이 문제인지에 따라 선택지가 달라집니다.
TPM, FPKM, CPM만으로 test하지 않습니다. DESeq2와 edgeR은 raw count와 library size 정보를 필요로 합니다.
거의 관측되지 않는 유전자는 multiple testing 부담만 늘립니다. filtering 기준은 test statistic과 독립적이어야 합니다.
median-of-ratios, TMM, upper quartile, cqn처럼 library composition과 bias를 줄입니다.
condition, batch, sex, age를 design matrix에 넣고 negative binomial 또는 voom-linear model을 적합합니다.
q-value, shrunken logFC, MA plot, sample QC를 함께 읽습니다.
전체 세포를 한 번에 비교하면 cell type composition 차이와 within-cell-type expression 차이가 섞입니다.
case cell 5,000개와 control cell 5,000개라도 donor가 2명씩이면 통계적 N은 4에 가깝습니다.
cell-level 방법은 marker detection에는 유용하지만 cohort-level condition DE에서는 pseudo-replication을 조심해야 합니다.
질환에서 cell type 비율이 바뀐 것인지, 같은 cell type 안의 expression이 바뀐 것인지 분리합니다.
DEG 목록은 pathway, spatial, protein, perturbation, independent cohort로 한 번 더 확인합니다.
cell type × donor × condition 단위로 count를 합산합니다. 평균보다 합산이 bulk model과 잘 맞습니다.
각 donor-cell type 조합에 cell이 너무 적으면 제외하거나 rare cell type 분석으로 분리합니다.
DESeq2, edgeR QL, limma-voom은 pseudobulk count matrix에 자연스럽게 적용됩니다.
time, tissue, repeated sampling, family structure가 있으면 mixed model이나 duplicateCorrelation 계열을 검토합니다.
cell 수와 donor 수를 모두 보고합니다. 결론을 지탱하는 N은 donor 수입니다.
case가 batch 1, control이 batch 2에 몰리면 통계 모델로 완전히 구할 수 없습니다. 설계 단계에서 섞어야 합니다.
batch, RIN, sex, age, PMI, ancestry, sequencing lane은 design matrix에 넣습니다.
SVA, RUV, PCA covariate는 숨은 기술 요인을 줄이지만, biology와 겹치면 실제 신호도 줄일 수 있습니다.
PCA, sample distance, library size, percent mitochondrial, detected genes를 condition과 batch 색으로 봅니다.
covariate-adjusted DEG는 “그 covariate를 고정했을 때의 조건 효과”입니다.
아래 항목은 방법론, 실험 설계, single-cell 분석, perturbation/atlas 적용 논문을 함께 묶은 학습 지도입니다. 링크는 제목 기반 Google Scholar 검색으로 연결됩니다.