Ini adalah paket R untuk GRAPPLE (Genome-wide mR Analysis under Pervasive PLEiotropy), sebuah kerangka kerja komprehensif untuk Pengacakan Mendel.
Untuk detail kerangka GRAPPLE, silakan merujuk ke naskah kami.
Paket GRAPPLE dapat diinstal di R dari repositori Github ini:
library(devtools)
install_github("jingshuw/grapple")
Seseorang mungkin juga perlu menginstal PLINK untuk penggumpalan LD, dan menyiapkan kumpulan data referensi penggumpalan LD yang sesuai untuk PLINK, jika dia memerlukan GRAPPLE untuk melakukan prapemrosesan data. Salah satu sumber kumpulan data referensi populasi Eropa untuk penggumpalan, yang juga digunakan dalam makalah GRAPPLE, adalah panel referensi 1000 genom Eropa yang diunduh di sini http://fileserve.mrcieu.ac.uk/ld/data_maf0.01_rs_ref.tgz , dari kutipan MRCIEU.
Analisis dengan GRAPPLE dimulai dengan pra-pemrosesan statistik ringkasan GWAS mentah, yang mencakup pemilihan instrumen genetik, menyelaraskan kumpulan data untuk berbagi efek dan alel referensi yang sama, menghitung matriks korelasi kebisingan dalam perkiraan asosiasi marjinal yang dimiliki bersama di antara SNP, dan memilih daftar kandidat SNP untuk deteksi penanda mode.
Untuk melakukan hal ini, GRAPPLE memerlukan daftar file statistik ringkasan GWAS mentah. Setiap file GWAS adalah file ".csv" atau ".txt" yang berisi bingkai data minimal 6 kolom dengan nama kolom berikut: SNP
, effect_allele
, other_allele
, beta
, se
, pval
. Kolom SNP
berisi rsID untuk setiap SNP. Kolom effect_allele
dan other_allele
harus menggunakan huruf kapital. Kolom beta
berisi perkiraan ukuran efek untuk sifat kontinu dan rasio log odds untuk sifat biner, dan kolom se
adalah deviasi standar dari beta
yang sesuai.
Semua file statistik ringkasan GWAS dalam format di atas yang digunakan dalam makalah GRAPPLE dapat diunduh dari kumpulan data. Untuk sumber asli setiap file yang tersedia untuk umum, silakan merujuk ke Bagian 3 Informasi Tambahan naskah.
Pemrosesan awal GRAPPLE membutuhkan satu file untuk penyakit (file hasil), dan dua file untuk setiap faktor risiko, yang satu untuk pemilihan SNP (file seleksi) dan yang lainnya untuk memperkirakan efek marginal SNP terhadap faktor risiko ini ( file paparan). Kami mengizinkan individu yang tumpang tindih untuk data GWAS dalam file hasil dan paparan, yang mana harus ada sesedikit mungkin individu yang tumpang tindih antara file seleksi dan file lain untuk menghindari bias seleksi SNP. Terkadang sulit menemukan kumpulan data GWAS untuk pemilihan SNP. Pilihannya adalah dengan menggunakan data GWAS dari leluhur lain.
Sebagai contoh, seseorang dapat mengunduh file statistik ringkasan untuk BMI dan T2D dari kumpulan data, dan juga mengunduh panel referensi dan mengekstrak file ".tgz" di folder saat ini. Kemudian, kita bisa mulai dengan memilih SNP dari file-file ini sebagai instrumen genetik.
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"
Mengekstraksi SNP independen dapat memakan waktu beberapa menit tergantung pada ukuran file statistik ringkasan GWAS.
data.list <- getInput(sel.file, exp.file, out.file, plink_refdat, max.p.thres = 0.01, plink_exe = 'plink')
Fungsi ini mengekstrak semua SNP independen yang nilai p pilihannya tidak melebihi 0,01. Ini mengembalikan tiga elemen. Salah satunya adalah 'data' yang merupakan kerangka data ringkasan statistik SNP yang dipilih, dan yang lainnya adalah 'marker.data' yang merupakan kerangka data untuk semua kandidat SNP penanda. Perbedaan antara 'data' dan 'marker.data' adalah kami menggunakan r2 yang lebih ketat (0,001) dalam penggumpalan LD untuk pemilihan instrumen genetik guna menjamin independensi dibandingkan dalam memilih kandidat penanda SNP (r2 = 0,05). Elemen ketiga adalah perkiraan matriks korelasi untuk kelompok GWAS.
Kami menggunakan PLINK untuk melakukan penggumpalan LD. Nama/jalur default dari perintah plink adalah "plink" (melewati argumen plink_exe
). Untuk pengguna dengan sistem Linux / Windows, perintah ini tidak akan berfungsi dan kita perlu menentukan jalur file exe, seperti "./plink" tergantung di mana mereka menginstal plink. Jika R gagal menjalankan perintah plink, maka akan terjadi error yang menyatakan bahwa file yang dikelompokkan tidak ditemukan.
Jika jumlah faktor risiko adalah 1, GRAPPLE dapat mendeteksi jumlah jalur pleiotropik dengan menemukan jumlah mode dalam kemungkinan profil yang diperkuat, dengan ambang batas pemilihan nilai p.
Kita bisa mencoba contoh di atas.
## 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
Kemungkinannya hanya ada satu, jadi kami tidak menemukan bukti adanya jalur pleiotropik ganda. Hal ini memberi kita jaminan untuk menggunakan MR-RAP untuk memperkirakan dampak sebab akibat dari faktor risiko.
result <- grappleRobustEst(data.list$data, p.thres = 1e-4)
Fungsi ini mengembalikan hasil perkiraan kami.
Berikut adalah contoh lain di mana kita dapat mendeteksi beberapa mode
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
Kami menemukan tiga mode dalam kemungkinan profil. Dengan memeriksa SNP penanda, gen penanda, dan sifat GWAS yang dipetakan, kita dapat menemukan bahwa LDL-C dapat menjadi sifat perancu. Kami kemudian dapat menjalankan GRAPPLE untuk menyesuaikan efek LDL-C
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)
Setelah penyesuaian terhadap LDL-C, kami tidak dapat menemukan bukti apa pun bahwa terdapat efek kausal CRP pada CAD.