이것은 Mendelian Randomization을 위한 포괄적인 프레임워크인 GRAPPLE(Pervasive PLEiotropy 하의 Genome-wide mR Analysis)용 R 패키지입니다.
GRAPPLE 프레임워크에 대한 자세한 내용은 원고를 참조하세요.
GRAPPLE 패키지는 다음 Github 저장소에서 R에 설치할 수 있습니다.
library(devtools)
install_github("jingshuw/grapple")
데이터 전처리를 수행하기 위해 GRAPPLE이 필요한 경우 LD 클럼핑을 위해 PLINK를 설치하고 PLINK에 적합한 LD 클럼핑 참조 데이터 세트를 준비해야 할 수도 있습니다. GRAPPLE 논문에도 사용되는 응집에 대한 유럽 인구의 참조 데이터 세트 중 하나는 여기(http://fileserve.mrcieu.ac.uk/ld/data_maf0.01_rs_ref.tgz)에서 다운로드한 1000개 게놈 유럽 참조 패널입니다. , MRCIEU 인용에서.
GRAPPLE을 사용한 분석은 유전 기기 선택, 동일한 효과 및 참조 대립유전자를 공유하도록 데이터 세트 조화, SNP 간에 공유되는 추정된 주변 연관성의 노이즈 상관 행렬 계산 등을 포함하는 원시 GWAS 요약 통계 전처리로 시작됩니다. 및 모드 마커 검출을 위한 후보 SNP 목록을 선택하는 단계를 포함한다.
이를 수행하려면 GRAPPLE에 원시 GWAS 요약 통계 파일 목록이 필요합니다. 각 GWAS 파일은 열 이름이 SNP
, effect_allele
, other_allele
, beta
, se
, pval
인 최소 6개 열의 데이터 프레임을 포함하는 ".csv" 또는 ".txt" 파일입니다. SNP
열에는 각 SNP에 대한 rsID가 포함됩니다. effect_allele
및 other_allele
열에는 모두 대문자가 있어야 합니다. beta
열에는 연속 특성에 대한 추정 효과 크기와 이진 특성에 대한 로그 승산비가 포함되며, se
열은 해당 beta
의 표준 편차입니다.
GRAPPLE 논문에 사용된 위 형식의 모든 GWAS 요약 통계 파일은 데이터 세트에서 다운로드할 수 있습니다. 각 파일의 공개적으로 사용 가능한 원본 소스는 원고 보충 정보의 섹션 3을 참조하세요.
GRAPPLE의 Deta 전처리에는 질병(결과 파일)에 대해 하나의 파일과 각 위험 요소에 대해 두 개의 파일이 필요합니다. 여기서 하나는 SNP 선택(선택 파일)을 위한 것이고 다른 하나는 이 위험 요소에 대한 SNP의 한계 효과를 추정하기 위한 것입니다( 노출 파일). 우리는 결과 및 노출 파일에서 GWAS 데이터에 대해 중복되는 개인을 허용하며, SNP 선택 편향을 피하기 위해 선택 파일과 다른 파일 사이에 중복되는 개인이 최대한 적어야 합니다. 때로는 SNP 선택을 위한 GWAS 데이터 세트를 찾는 것이 어려울 수 있습니다. 옵션은 다른 조상의 GWAS 데이터를 사용하는 것입니다.
예를 들어, 데이터 세트에서 BMI 및 T2D에 대한 요약 통계 파일을 다운로드할 수 있으며 참조 패널을 다운로드하고 현재 폴더에 ".tgz" 파일의 압축을 풀 수도 있습니다. 그런 다음 이 파일에서 유전 도구로 SNP를 선택하는 것부터 시작할 수 있습니다.
library(GRAPPLE)
sel.file <- "BMI-ukb.csv"
exp.file <- "BMI-giant17eu.csv"
out.file <- "T2D-diagram12-M.csv"
plink_refdat <- "./data_maf0.01_rs_ref/data_maf0.01_rs_ref"
독립적인 SNP를 추출하는 데는 GWAS 요약 통계 파일의 크기에 따라 몇 분이 걸릴 수 있습니다.
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01, plink_exe = 'plink')
이 기능은 선택 p-값이 0.01을 초과하지 않는 모든 독립적인 SNP를 추출합니다. 세 가지 요소를 반환합니다. 하나는 선택된 SNP의 요약 통계 데이터 프레임인 'data'이고, 다른 하나는 모든 후보 마커 SNP에 대한 데이터 프레임인 'marker.data'입니다. 'data'와 'marker.data'의 차이점은 후보 마커 SNP(r2 = 0.05)를 선택하는 것보다 독립성을 보장하기 위해 유전 기기 선택을 위한 LD 응집에서 더 엄격한 r2(0.001)를 사용한다는 것입니다. 세 번째 요소는 GWAS 코호트에 대한 추정 상관 행렬입니다.
LD clumping을 수행하기 위해 PLINK를 사용합니다. plink 명령의 기본 이름/경로는 "plink"입니다(인수 plink_exe
통해 전달됨). Linux/Windows 시스템 사용자의 경우 이 명령은 작동하지 않으며 plink를 설치하는 위치에 따라 "./plink"와 같은 exe 파일 경로를 지정해야 합니다. R이 plink 명령을 실행하지 못하면 덩어리진 파일을 찾을 수 없다는 오류가 발생합니다.
위험 요소의 수가 1인 경우 GRAPPLE은 p-값 선택 임계값이 주어지면 견고한 프로파일 우도에서 모드 수를 찾아서 다발성 경로의 수를 감지할 수 있습니다.
위의 예를 시도해 볼 수 있습니다.
## Here we take the p-value threshold be 1e-4, but one can try a series of p-values and see if the result is consistent
diagnosis <- findModes(data.list$data, p.thres = 1e-4)
diagnosis$modes
diagnosis$p
가능성에는 하나의 모드만 있으므로 다중 다발성 경로에 대한 증거는 찾을 수 없습니다. 이는 위험 요인의 인과 효과를 추정하기 위해 MR-RAP를 사용할 수 있다는 보장을 제공합니다.
result <- grappleRobustEst(data.list$data, p.thres = 1e-4)
이 함수는 추정 결과를 반환합니다.
다음은 여러 모드를 감지할 수 있는 또 다른 예입니다.
library(GRAPPLE)
sel.file <- "CRP-Prins17.csv"
exp.file <- "CRP-Dehghan11.csv"
out.file <- "CAD-Nelson17.csv"
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01)
diagnosis <- findModes(data.list$data, p.thres = 1e-4, marker.data = data.list$marker.data)
diagnosis$p
우리는 프로필 우도에서 세 가지 모드를 찾습니다. 마커 SNP, 마커 유전자 및 매핑된 GWAS 특성을 확인하면 LDL-C가 혼란스러운 특성일 수 있음을 알 수 있습니다. 그런 다음 LDL-C 효과를 조정하여 GRAPPLE을 실행할 수 있습니다.
library(GRAPPLE)
sel.file <-c(sel.file, "LDL-gera18.csv")
exp.file <- c(exp.file, "LDL-glgc13.csv")
out.file <- "CAD-Nelson17.csv"
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01)
result <- grappleRobustEst(data.list$data, p.thres = 1e-4)
LDL-C를 보정한 후에는 CRP가 CAD에 인과적 영향을 미친다는 증거를 찾을 수 없습니다.