지난 두 개의 포스팅에 걸쳐서 Mendelian Randomzation의 기본 개념과, 가장 기본적인 형태의 분석들에 대해서 정리해봤다.
2024.03.12 - [Omics] - Mendelian Randomization 1
Mendelian Randomization 1
Mendelian Randomization (MR)은 유전학적 변이를 도구변수로 사용하여 노출(위험 요소)과 결과 사이의 인과 관계를 추론하는 연구 방법론이다. 특정 유전 변이가 특정 위험 요소에만 영향을 미치고, 그
zinomi.tistory.com
2024.03.17 - [Omics] - Mendelian Randomization 2
Mendelian Randomization 2
이번 포스팅에서는 앞서 Mendelian Randomization 1 포스팅에서 다뤘던 전반적인 내용에 대하여 좀 더 심화된 내용을 구체적인 코드와 함께 정리해보겠다. [ 참고: Mendelian Randomization 1 포스팅 링크 ] 2024.
zinomi.tistory.com
이번 포스팅에서는 Multivariable MR에 대해서 정리해보겠다.
다변량 MR이란 IV로 활용되는 SNP들이 여러 가지의 잠재적 노출 요인들, 예를 들어 서로 다른 지질이 노출 요인으로 예상되는 경우에, 이 문제를 극복하는 한 가지 방법은 각 지질에 대한 SNP의 영향을 다른 지질들에 대한 SNP의 영향을 조절한 상태에서 추정하는 것이다. 다변량 MR은 다음과 같이 R 패키지를 사용하여 수행할 수 있다.
순서 개요는 다음과 같다.
변수들의 OpenGWAS DB에서의 아이디를 확인해야 한다. HDL, LDL 및 총 콜레스테롤의 GWAS ID는 ieu-a-299, ieu-a-300, ieu-a-302이며, 관상동맥 심장병(Coronary Heart Disease, CHD)의 GWAS ID는 ieu-a-7이다. 이번 분석에서는 HDL, LDL 및 총 콜레스테롤의 CHD에 대한 다변량 효과를 추정할 것이다.
id_exposure <- c("ieu-a-299", "ieu-a-300", "ieu-a-302")
id_outcome <- "ieu-a-7"
먼저 각 지질에 대한 도구 변수를 추출한다. 이는 모든 도구를 포함하는 SNP들의 결합된 세트를 얻고 각 지질에 대한 그 SNPs를 얻는 것을 의미한다. 따라서, 만약 3개의 지질마다 각각 20개의 도구가 있지만 결합되어 30개의 고유한 SNP들이 있다면, 각 지질에서 30개의 SNPs를 추출해야 한다.
mv_exposure_dat <- mv_extract_exposures(id_exposure)
다음으로는, 해당 SNP들과 결과 변수의 연관성 정보를 추출한다.
mv_outcome_dat <- extract_outcome_data(exposure_dat$SNP, id_outcome)
데이터를 얻은 후, 두 데이터를 harmonize한다.
mvdat <- mv_harmonise_data(mv_exposure_dat, mv_outcome_dat)
마지막으로, 다변량 MR 분석을 수행한다.
res <- mv_multiple(mvdat)
res를 확인해보면 분석 결과표를 확인할 수 있다.
이 분석을 구성하는 몇 가지 또 다른 방법이 있다. 예를 들어, 하나의 결과에 대해 3개의 노출 요인을 고려할 때, 모든 노출 요인을 함께 적합시키거나, 또는 다른 결과에 대해 조정된 결과의 잔차에 대해 한 번에 하나의 노출 요인을 적합시킬 수 있다. 전자는 기본적으로 이 R 패키지에서 mv_multiple() 함수를 통해 권장된다. 후자는 Burgess et al 2015에 의해 처음 설명된 MV MR 방식이며 mv_residual()을 사용하여 수행할 수 있다.
모든 노출에 대한 모든 도구 변수를 적합시키는 것(기본 설정) 또는 각 노출 요인에 대한 도구 변수를 순차적으로 적합시키는 것, 기울기를 원점을 통과하도록 강제하는 것(기본 설정) 또는 절편 항을 허용하는 것 등 다양한 분석 방법이 있다. TwoSampleMR 패키지의 개발자들은 default 모드로 분석을 수행하는 것을 권장한다.
plots = TRUE 인수를 사용하여 mv_multiple() 및 mv_residual()에 대한 플롯을 생성할 수 있다.
현재 생성되는 플롯은 원시 점을 통한 기울기를 보여주지만, 다른 노출에 조건적인 상태에서 원시 점들이 플롯 간에 실질적으로 다를 수 있다는 것을 보여주지 않기 때문에 반드시 적절한 플롯이라고는 생각할 수 없다.
이러한 기본 MVMR 분석 방법에서 더 나아가, 최신 방법으로는 MR-BMA가 있다.
MR-BMA는 MVMR의 한 형태로, 서로 높은 상관관계를 가진 노출 요인 집합 중에서 가능한 원인이 될 수 있는 위험 요인을 우선 순위에 두는 데 유용할 수 있다. Permutation을 기반으로 p-value를 산정한다.
# Extract genetic instruments
exposures <- mv_extract_exposures(id_exposure = c("ieu-a-299", "ieu-a-300", "ieu-a-302"))
# Extract corresponding outcome data
outcome <- extract_outcome_data(snps = exposures$SNP, outcomes = "ebi-a-GCST005195")
# Harmonize
harmonized <- mv_harmonise_data(exposures, outcome)
# MR-BMA
mr_bma_res <- mr_bma(harmonized, calculate_p = TRUE, nrepeat = 1000)
# Output best models
mr_bma_res$model_best
# Output marginal inclusion probabilities for each risk factor
mr_bma_res$mip_table
이렇게 해서 MR 분석에 대한 핵심 내용들을 공부해봤다! 처음 MR을 공부하면서 정리했던 개요를 아래에 사진으로 첨부한다.
Mendelian Randomization의 나아가야 할 방향에 대하여 (0) | 2025.04.12 |
---|---|
Single-cell RNA-seq (0) | 2025.04.12 |
Mendelian Randomization 2 (0) | 2024.03.17 |
Mendelian Randomization 1 (0) | 2024.03.12 |
Clustering analysis와 Factor analysis (0) | 2024.03.11 |