BioPlayground

🧬
목록으로

원본 승인 없이 시작하는 GWAS — Pan-UK Biobank 요약통계 실무 활용

원본 유전형 데이터 접근 승인 없이도 공개된 Pan-UK Biobank 요약통계로 다유전자 위험 점수와 메타분석을 어떻게 시작하는지 다룹니다.

중급
|
20
|
검증 완료 (2026-07-29)
summary statsbeta se pvalPRS calculationbiobank data access
진행률0/120 (0%)

S50에서 PRS를 계산했는데, 그 효과 크기는 다 어디서 왔을까

S50에서 다유전자 위험 점수(PRS)를 계산할 때 각 SNP의 효과 크기(beta)가 이미 주어진 것으로 다뤘습니다. 그 효과 크기는 대부분 대규모 GWAS의 요약통계(summary statistics) 파일에서 옵니다. Pan-UK Biobank는 UK Biobank 원본 유전형 데이터에 대한 승인 절차 없이도, 여러 조상 계통(ancestry)에 걸쳐 계산된 이 요약통계를 공개로 제공하는 프로젝트입니다. D05에서는 이 요약통계를 실무에서 어떻게 다루는지 마무리합니다.

원리 — 원시 데이터 대신 집계된 통계로 시작하기

요약통계란 무엇을 압축한 것인가

원본 유전형 데이터는 개인별로 각 SNP 위치에서 어떤 대립유전자를 가졌는지(예: AA, AG, GG) 담고 있어 개인 식별 위험이 있는 민감 정보입니다. 요약통계는 이를 각 SNP별 집단 수준 통계량(효과 크기 beta, 표준오차 SE, p-value, 대립유전자 빈도)으로 압축한 것입니다.

원본 N×M 유전형 행렬  GWAS 검정 (S42)  요약통계 M×4 테이블 (beta, se, pval, af)\text{원본 } N \times M \text{ 유전형 행렬} \;\xrightarrow{\text{GWAS 검정 (S42)}}\; \text{요약통계 } M \times 4 \text{ 테이블 (beta, se, pval, af)}

여기서 NN은 개인 수, MM은 SNP 수입니다. 집계는 원본 유전형보다 개인 식별 위험을 줄이지만, membership inference나 희귀 변이 기반 재식별 위험을 완전히 없애지는 않습니다. 공개 여부는 집계 수준뿐 아니라 참여자 동의, 거버넌스와 배포 정책으로 결정됩니다. Pan-UK Biobank는 이 정책에 따라 공개 요약통계를 제공하지만, 이용자는 해당 데이터의 현재 약관을 따라야 합니다.

Pan-UK Biobank가 더하는 것 — 다조상 계통(multi-ancestry) 분석

표준 UK Biobank GWAS는 대부분 유럽계 조상 표본에 집중되는 경향이 있었습니다. Pan-UK Biobank 공개 페이지는 6개 대륙권 ancestry group, 7,228개 phenotype, 총 16,131개 GWAS 결과를 제공한다고 설명합니다. 이는 PRS의 이식성(portability) 문제, 즉 유럽계 표본으로 학습한 PRS가 다른 조상 그룹에서는 예측력이 떨어지는 문제(S50에서 언급)를 진단하는 데 유용합니다. 여러 그룹의 통계를 함께 쓴다고 이식성 문제가 자동으로 해결되는 것은 아니며 그룹별 검증이 필요합니다.

손 계산 예제: 두 조상 그룹 요약통계 메타분석

같은 SNP에 대해 유럽계 그룹(beta=0.15, SE=0.02)과 동아시아계 그룹(beta=0.11, SE=0.03)의 요약통계가 있다면, 역분산 가중 메타분석으로 결합 효과 크기를 계산할 수 있습니다.

wi=1SEi2,βmeta=iwiβiiwiw_i = \frac{1}{SE_i^2}, \qquad \beta_{meta} = \frac{\sum_i w_i \beta_i}{\sum_i w_i}

w1=10.022=2500,w2=10.0321111,βmeta=2500×0.15+1111×0.112500+11110.136w_1 = \frac{1}{0.02^2}=2500,\quad w_2=\frac{1}{0.03^2}\approx1111,\quad \beta_{meta}=\frac{2500\times0.15+1111\times0.11}{2500+1111}\approx0.136

표준오차가 작은(표본이 크거나 측정이 정밀한) 그룹의 효과 크기에 더 큰 가중치가 실리는 구조를 직접 확인할 수 있습니다.

실습: 요약통계 로드와 간단 PRS 계산 (Colab R)

r
# Colab R 런타임에서 실행. 교육용으로 단순화한 요약통계 스키마를 다룹니다.
# 실제 Pan-UKB 파일의 형식·필드명은 배포 형식과 release 문서를 확인하세요.

summary_stats <- data.frame(
  rsid  = c("rs1", "rs2", "rs3", "rs4"),
  beta  = c(0.15, -0.08, 0.22, 0.05),
  se    = c(0.02, 0.03, 0.04, 0.02),
  pval  = c(1e-12, 3e-4, 5e-9, 0.02)
)

# 개인의 SNP별 보유 대립유전자 수(0/1/2)를 가정 (실제로는 VCF/PLINK 파일에서 로드)
individual_dosage <- c(2, 1, 0, 1)

# PRS = sum(dosage_i * beta_i), S50의 정의 그대로
prs <- sum(individual_dosage * summary_stats$beta)
cat("개인 PRS 점수:", prs, "\n")

# 유의수준 임계값으로 SNP 필터링 후 PRS 재계산 (임계값 기반 PRS, S50 심화)
sig_snps <- summary_stats$pval < 5e-8
prs_strict <- sum(individual_dosage[sig_snps] * summary_stats$beta[sig_snps])
cat("유의 SNP만 사용한 PRS:", prs_strict, "\n")

Pan-UK Biobank 실제 파일은 SNP 수가 수백만 개에 이르러 R의 data.frame에 통째로 올리면 메모리 문제가 생길 수 있습니다. 실무에서는 data.table::freadPLINK2--score 기능으로 스트리밍 방식으로 처리하는 것이 안전합니다.

CS 매핑

  • 집계 데이터 vs 원시 데이터: 요약통계는 원시 레코드를 통계량으로 사전 집계(pre-aggregation)한 형태로, 데이터베이스의 materialized view와 같은 발상 — 매번 원시 데이터를 스캔하지 않고 미리 계산된 결과를 재사용합니다.
  • 메모리 효율적 스트리밍 처리: 수백만 SNP 요약통계를 다룰 때 전체를 메모리에 올리지 않고 한 줄씩 처리하는 방식은, 대용량 파일을 다루는 스트리밍 알고리즘의 표준 패턴입니다.

자주 만나는 결함

  • 한 조상 그룹의 요약통계를 다른 조상 그룹 개인에게 그대로 적용: PRS의 예측력은 GWAS가 수행된 조상 그룹과 적용 대상의 조상 그룹이 다를수록 체계적으로 떨어집니다. Pan-UK Biobank처럼 그룹별로 나뉜 요약통계가 있다면, 대상과 가장 가까운 그룹의 통계를 우선 사용해야 합니다.
  • p-value 임계값만으로 SNP를 선택하고 연쇄불평형(LD)을 무시: 유의한 SNP들이 서로 강하게 연관되어 있으면(같은 신호를 중복 카운트), PRS가 실제보다 과대평가될 수 있습니다. 실무에서는 clumping·thinning 절차로 LD를 먼저 정리한 뒤 PRS를 계산합니다.

더 깊게 파고 싶다면

본문은 BPD 연구진이 직접 재구성한 서술입니다.

  • Pan-UK Biobank 공식 사이트: 조상 그룹별 요약통계 다운로드 및 문서.
  • PLINK2 --score 공식 문서: 요약통계 기반 PRS 계산 커맨드라인 레퍼런스.
  • PRS 이식성 관련 논문 (Martin et al., 2019, Nature Genetics): 조상 그룹 간 PRS 예측력 격차를 다룬 원 논문.

D 티어 5편이 여기서 마무리되며, 120편 전체 카탈로그(M+S1+S2+F1+F2+D)의 KO 초안 저작이 완결됩니다. 다음은 Codex의 통계·사실 검증과, 검증을 통과한 편들의 repo 반영·번역 단계로 이어집니다.