هذه هي حزمة R لـ GRAPPLE (تحليل الرنين المغناطيسي على مستوى الجينوم في ظل تعدد الأشكال المنتشر)، وهو إطار شامل للتوزيع العشوائي المندلي.
للحصول على تفاصيل حول إطار عمل GRAPPLE، يرجى الرجوع إلى مخطوطتنا.
يمكن تثبيت حزمة GRAPPLE باللغة R من مستودع Github هذا:
library(devtools)
install_github("jingshuw/grapple")
قد يحتاج المرء أيضًا إلى تثبيت PLINK لتجميع LD، وإعداد مجموعة بيانات مرجعية مناسبة لتجميع LD لـ PLINK، إذا كان يحتاج إلى GRAPPLE لإجراء المعالجة المسبقة للبيانات. أحد مصادر مجموعة البيانات المرجعية للسكان الأوروبيين للتكتل، والتي تُستخدم أيضًا في ورقة GRAPPLE، هو اللوحة المرجعية الأوروبية المكونة من 1000 جينوم والتي تم تنزيلها هنا http://fileserve.mrcieu.ac.uk/ld/data_maf0.01_rs_ref.tgz ، من MRCIEU الاستشهاد.
يبدأ التحليل باستخدام GRAPPLE بالمعالجة المسبقة لإحصائيات ملخص GWAS الأولية، والتي تتضمن اختيار الأدوات الجينية، ومواءمة مجموعات البيانات لمشاركة نفس التأثير والأليل المرجعي، وحساب مصفوفة الارتباط للضوضاء في الارتباطات الهامشية المقدرة والتي يتم مشاركتها بين SNPs، واختيار قائمة SNPs المرشحة لاكتشاف علامة الوضع.
وللقيام بذلك، يحتاج GRAPPLE إلى قائمة بملفات إحصائيات ملخص GWAS الأولية. كل ملف GWAS هو ملف ".csv" أو ".txt" يحتوي على إطار بيانات يتكون من 6 أعمدة على الأقل بأسماء الأعمدة التالية: SNP
، و effect_allele
، other_allele
، beta
، و se
، و pval
. يحتوي عمود SNP
على rsID لكل SNP. يجب أن يحتوي كل من أعمدة effect_allele
و other_allele
على أحرف كبيرة. يحتوي عمود beta
على حجم التأثير المقدر للسمات المستمرة ونسبة الأرجحية للسمات الثنائية، والعمود se
هو الانحراف المعياري beta
المقابلة.
يمكن تنزيل جميع ملفات إحصائيات ملخص GWAS بالتنسيق أعلاه المستخدمة في ورقة GRAPPLE من مجموعات البيانات. للحصول على المصدر الأصلي المتاح للجمهور لكل ملف، يرجى الرجوع إلى القسم 3 من المعلومات التكميلية للمخطوطة.
تحتاج المعالجة المسبقة لبيانات GRAPPLE إلى ملف واحد للمرض (ملف النتائج)، وملفين لكل عامل خطر، حيث يكون أحدهما مخصصًا لاختيار SNP (ملف التحديد) والآخر لتقدير التأثيرات الهامشية لـ SNPs على عامل الخطر هذا ( ملف التعرض). نحن نسمح بتداخل الأفراد مع بيانات GWAS في ملفات النتائج والتعرض، والتي يجب أن يكون هناك أقل عدد ممكن من الأفراد المتداخلين بين ملفات التحديد والملفات الأخرى لتجنب تحيز اختيار SNP. في بعض الأحيان قد يكون من الصعب العثور على مجموعات بيانات GWAS لاختيار SNP. أحد الخيارات هو استخدام بيانات GWAS من أسلاف أخرى.
على سبيل المثال، يمكن للمرء تنزيل ملفات الإحصائيات الموجزة لمؤشر كتلة الجسم وT2D من مجموعات البيانات، وكذلك تنزيل اللوحة المرجعية وفك ضغط الملف ".tgz" في المجلد الحالي. بعد ذلك، يمكننا البدء باختيار تعدد الأشكال من هذه الملفات كأدوات وراثية.
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')
تستخرج هذه الوظيفة جميع أشكال SNP المستقلة التي لا تتجاوز قيمها p المحددة 0.01. تقوم بإرجاع ثلاثة عناصر. أحدهما هو "البيانات" وهو إطار بيانات لإحصائيات ملخص SNPs المحددة، والآخر هو "marker.data" وهو إطار بيانات لجميع SNPs للعلامات المرشحة. الفرق بين "البيانات" و "marker.data" هو أننا نستخدم r2 (0.001) أكثر صرامة في تكتل LD لاختيار الأدوات الجينية لضمان الاستقلال مقارنة باختيار SNPs للعلامة المرشحة (r2 = 0.05). العنصر الثالث هو مصفوفة الارتباط المقدرة لأفواج GWAS.
نحن نستخدم PLINK لإجراء تكتل LD. الاسم/المسار الافتراضي لأمر plink هو "plink" (يتم تمريره عبر الوسيطة plink_exe
). بالنسبة لمستخدمي أنظمة Linux / Windows، لن يعمل هذا الأمر ويحتاج المرء إلى تحديد مسار ملف exe، مثل "./plink" اعتمادًا على مكان تثبيت plink. إذا فشل 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-RAPs لتقدير التأثير السببي لعامل الخطر.
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
نجد ثلاثة أوضاع في احتمالية الملف الشخصي. عند التحقق من علامات SNPs، وجينات العلامات، وسمات GWAS المعينة، يمكننا أن نجد أن LDL-C يمكن أن يكون سمة مربكة. يمكننا بعد ذلك تشغيل ضبط GRAPPLE لتأثيرات 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)
بعد ضبط LDL-C، لا يمكننا العثور على أي دليل على وجود تأثير سببي لـ CRP على CAD.