استخدمت هذه الدراسة بيانات RNA-seq المتاحة للجمهور ولم تتضمن أي تجارب جديدة على البشر أو الحيوانات. لذلك، لم تكن هناك حاجة للموافقة الأخلاقية والموافقة المستنيرة (جدول المواد).
1. إعداد بيئة الحوسبة وهيكل المجلدات
- إعداد الأجهزة ونظام التشغيل
- استخدم محطة عمل أو لابتوب يحتوي على ذاكرة RAM لا تقل عن 8GB (16GB موصى به) ومساحة قرص ≥10GB للتحميل والمخرجات.
- استخدم ويندوز أو ماك أو أو لينكس مع إذن لتثبيت حزم R وكتابة الملفات في الدليل العامل.
- تثبيت البرنامج المطلوب
- ثبت R (الإصدار 4.2 أو أحدث). تثبيت RStudio Desktop (موصى به) لتشغيل سير العمل بشكل تفاعلي ولإدارة دليل المشروع.
- إنشاء دليل مشروع ومجلدات إخراج
- أنشئ مجلد جديد للتحليل (مثلا GSE162535_RNAseq_DESeq2). قم بتعيين هذا المجلد كدليل R العامل.
- أنشئ مجلدات الإخراج بالضبط كما يلي:
- اصنع النتائج/. أنشئ النتائج/fig/. أنشئ نتائج/جداول/.
- تثبيت حزم R المطلوبة
- قم بتثبيت حزم CRAN: tidyverse، pheatmap، و RColorBrewer. تثبيت حزم Bioconductor: DESeq2، apeglm (اختياري)، clusterProfiler، وorg. Mm.eg.db.
- قم بتحميل الحزم المطلوبة في بداية السكريبت: DESeq2، tidyverse، pheatmap، RColorBrewer، clusterProfiler، org. Mm.eg.db، وggplot2. قم بتعيين بذرة لإعادة الإنتاج عن طريق تشغيل set.seed(123).
- تطبيق سلامة البيانات وحماية الخصوصية
- تخزين الملفات التي تم تنزيلها في دليل المشروع فقط. تقييد الوصول إلى دليل المشروع إذا كانت البيئة تحتوي على بيانات حساسة أو محظورة. سجل إصدارات البرامج عن طريق تصدير sessionInfo() إلى النتائج/sessionInfo.txt في نهاية سير العمل.
ملاحظة: يقوم هذا البروتوكول بتحليل داخل السيليكو لبيانات عد RNA-seq العامة ولا يتضمن التعامل مع العينات البيولوجية.
2. الحصول على مصفوفة عدد RNA-seq وتعريف المجموعات التجريبية
- حمل ملفات مجموعة بيانات GEO ل GSE162535
- قم بتحميل ملف عدد HTSeq ل GSE162535 من GEO واحفظه في مجلد المشروع ك GSE162535_All.HTSeq.counts.txt.gz. تحقق من سلامة الملف بتأكيد أن الملف يفتح بدون خطأ باستخدام gzfile() و read.delim().
- تحميل عداد HTSeq إلى R
- استيراد جدول العد المضغوط باستخدام read.delim(gzfile(...), header = TRUE, check.names = FALSE, quote = "", comment.char = ""). افحص الكائن المستورد باستخدام str()، head()، و colnames() للتأكد من أن:
- يحتوي العمود الأول على معرفات جينية (مثل AccID). الأعمدة المتبقية تحتوي على عد على مستوى العينة.
- توحيد أنواع البيانات وحل معرفات الجينات المكررة
- عرف أعمدة العينة بأنها جميع الأعمدة باستثناء عمود معرف الجين (AccID). إجبار جميع أعمدة العينة على العد الصحيح. قم بجمع معرفات الجينات المكررة عن طريق جمع الأعداد عبر الصفوف التي تشترك في نفس AccID.
- حول الجدول المطوي إلى إطار بيانات قياسي. قم بتعيين أسماء الصفوف إلى معرف الجين وإزالة عمود المعرف من مصفوفة العد.
- تحقق من بنية مصفوفة العد
- تأكد من أن مصفوفة العد تحتوي على 12 عمودا عينات. تأكد من أن أسماء الأعمدة النموذجية تتبع التنسيق AB_1..AB_4، CB_1..CB_4، و MB_1.MB_4.
- توقف التنفيذ إذا لم يكن مصفوفة العد تحتوي على 12 عمودا.
- إنشاء والتحقق من بيانات وصفية نموذجية
- أنشئ جدول بيانات وصفية نموذجي (colData) يحتوي على الأعمدة التالية:
- العينة: معرفات عينة فريدة تتوافق مع أسماء أعمدة مصفوفة العد. المجموعة: حالة بيولوجية مخصصة لكل عينة.
- استرجع التعليقات التوضيحية النموذجية المقابلة لمجموعة البيانات GSE162535 من مجموعة التعبير الجيني (GEO).
- تحقق من هوية كل عينة باستخدام معلومات الوصول إلى GEO وحقول التعليقات التوضيحية التي تصف حالة التجربة. قم بربط كل معرف عينة في مصفوفة العد بتعليق GEO المثبت الخاص به.
- خصص كل عينة موثقة إلى واحدة من المجموعات التالية: الدماغ الضابط (CB)، دماغ الملاريا الدماغية التجريبي (MB)، أو الدماغ التجريبي المعالج بالملاريا الدماغية (AB).
- ترتيب جدول البيانات الوصفية بحيث يتطابق ترتيب العينة مع ترتيب الأعمدة في مصفوفة العد.
- قارن معرفات العينة في جدول البيانات الوصفية مع مصفوفة العد لتأكيد التوافق الفردي. ترميز متغير المجموعة كعامل مع ترتيب المستويات ك CB وMB وAB.
- حدد CB كمستوى مرجعي لتعريف مجموعة الدماغ الضابطة كأساس لتحليل التعبير التفاضلي في المراحل النهائية.
- اضبط أسماء الصفوف في جدول البيانات الوصفية مساويا لمعرفات العينة.
ملاحظة:لم يتم تعيين تسميات المجموعات فقط من ترتيب العينات في مصفوفة العد. تم التحقق من هويات العينات بشكل مستقل باستخدام بيانات وصفية GEO ومعلومات الإدخال قبل التوافق مع مصفوفة التعبير لتحسين قابلية التكرار وتقليل خطر سوء تصنيف العينة.
3. إنشاء مجموعة بيانات DESeq2 وإجراء ضوابط جودة أساسية
- تعقيم مصفوفة العد
- استبدل القيم المفقودة في مصفوفة العد بالصفر. أكد غياب القيم المفقودة باستخدام ملخصات is.na()) حسب عمود.
- إنشاء مجموعة بيانات DESeq2
- إنشاء مجموعة بيانات DESeqStatSet باستخدام DESeqDataSetFromMatrix() مع: countData = counts; colData = sample_info; التصميم = ~ مجموعة.
- تصفية الجينات منخفضة العد
- إزالة الجينات ذات العد الإجمالي <10 عبر جميع العينات باستخدام dds <- dds[rowSums(counts(dds)) >= 10, ]. سجل عدد الجينات المحتجزة عن طريق طباعة ملخص الكائن.
- تقييم أحجام المكتبات
- احسب أحجام المكتبات كمجموع أعمدة لمصفوفة العد المصفاة. أنشئ مخطط باري بحجم مكتبة واحفظه كنتائج/صورة/library_sizes.pdf.
- افحص مخطط حجم المكتبة وتأكد من أنه لا توجد عينة لها عمق تسلسل شديد يتعارض مع تصميم الدراسة.
4. شغل DESeq2 وتولد كائنات تحويل للتصور
- ملاءمة نموذج DESeq2
- شغل نمذجة التعبيرات التفاضلية باستخدام dds <- DESeq(dds). احتفظ بجسم DDS المناسب لجميع استخراج النتائج لاحقا.
- إنشاء مصفوفات تعبير محولة
- احسب تحويل اللوغاريتمية المنظمة باستخدام rld <- rlog(dds, blind = FALSE). احسب تحويل تثبيت التباين باستخدام vsd <-vst(dds، أعمى = خطأ). استخدم rld و vsd لتحليل PCA، والتجميع، وخرائط الحرارة.
ملاحظة: استخدم الأعمى = FALSE للحفاظ على بنية التباين المعتمدة على المجموعة.
5. إجراء مراقبة الجودة العالمية باستخدام تحليل التحليل الوظيفي (PCA) وتجميع المسافة من عينة إلى عينة
- توليد تحليل المكونات الرئيسية (PCA)
- احسب PCA باستخدام plotPCA(rld, intgroup = "group", returnData = TRUE). شرح نسبة التباين في الاستخلاص ل PC1 و PC2. رسم PC1 مقابل PC2 باستخدام ggplot2، مع تصنيف النقاط حسب اسم العينة والتلوين حسب المجموعة.
- احفظ مخطط PCA كنتائج/شكل/PCA_samples.pdf. تأكد من أن النسخ البيولوجية تتجمع بين مجموعة وأنه لا توجد عينة تنفصل كحالة استثنائية.
- إنشاء خريطة حرارية لمسافة عينة
- احسب مسافات العينات الزوجية باستخدام dist(t(assay(vsd))). حول كائن المسافة إلى مصفوفة للتصور. أنشئ جدول تعليقات عمودية يحتوي على عامل المجموعة لكل عينة.
- رسم مصفوفة المسافة باستخدام pheatmap() واحفظها كنتائج/fig/sample_distance_heatmap.pdf. تأكد من أن العينات تتجمع بشكل أساسي حسب المجموعة.
6. حساب التعبير التفاضلي للتباينات الثلاثة الرئيسية
- حدد التباينات
- عرف تأثير المرض بأنه ECM مقابل السيطرة: MB مقابل CB. عرف تأثير العلاج داخل ECM كمعالج بالأرتيسونات مقابل ECM: AB مقابل MB. عرف العلاج مقابل الأساس كعلاج بالأرتيسونات مقابل الضابط: AB مقابل CB.
- استخراج نتائج DESeq2 مع انكماش التغيير الطي log2
- استخلاص النتائج الخام لكل تباين باستخدام النتائج (dds, contrast = c("مجموعة"، المجموعة A، المجموعة B)). تغييرات log2 القابلة للانقباض باستخدام lfcShrink(dds، التباين = c("المجموعة"، المجموعة A، المجموعة B)، res = res، النوع = "العادي").
- حول النتائج إلى إطار بيانات وتخزين معرف الجين كعمود باسم gene_id. ترتيب النتائج حسب القيمة الاسمية p للتقارير المستقرة.
- احفظ كل جدول نتائج كامل في النتائج/جداول/ كالتالي:
- DESeq2_MB_vs_CB_all_genes.csv، DESeq2_AB_vs_MB_all_genes.csv، DESeq2_AB_vs_CB_all_genes.csv
ملاحظة: إذا فشل الانكماش بسبب تكوين الحزمة، أعد التشغيل بنوع انكماش بديل مدعوم في التثبيت المحلي.
- تحديد عتبات الأهمية وتصدير مجموعات جينية مهمة
- حدد الجينات المعبر عنها بشكل تفاضلي (DEGs) باستخدام: قيمة p المعدلة (FDR) < 0.05 وتغيير log-2 مطلق ≥ 1. قم بتصفية كل تباين لاستبعاد الجينات التي تحتوي على قيم p معدلة مفقودة.
- تصدير جداول DEG المهمة إلى: results/tables/DESeq2_MB_vs_CB_sig.csv, results/tables/DESeq2_AB_vs_MB_sig.csv, results/tables/DESeq2_AB_vs_CB_sig.csv
- لخص عد DEG لكل مقارنة
- احسب عدد الجينات المهمة لكل تباين. احفظ جدول الملخص كنتائج/جداول/DE_summary_counts.csv.
7. توليد مخططات بركانية لكل تباين.
- أنشئ دالة رسم بركاني.
- احسب -log10 (قيمة p المعدلة) لكل جين. صنف كل جين كأعلى، منخفض، أو غير ذي دلالة باستخدام العتبات: FDR < 0.05 و |log2FC| ≥ 1.
- رسم log2FC (محور x) مقابل -log10(FDR) (محور y) باستخدام ggplot2. أضف خطوط العتبة المتقطعة عند log2FC = ±1 و -log10(0.05).
- قطع بركانية تصدير
- احفظ كل مخطط كملف PDF في النتائج/الشكل/: volcano_MB_vs_CB.pdf، volcano_AB_vs_MB.pdf، volcano_AB_vs_CB.pdf.
ملاحظة: استخدم حدود محاور متسقة عبر التباينات لدعم المقارنة البصرية عبر الأشكال.
8. توليد مخططات MA لكل تباين
- تصدير مخططات MA إلى ملف PDF واحد.
- افتح جهاز PDF باسم results/fig/MA_plots.pdf. رسم رسم MA لكل كائن خام في نتيجة DESeq2 باستخدام plotMA(). ضع علامة على كل قطعة باسم التباين. أغلق جهاز PDF.
9. توليد خرائط حرارة للتعبير لجينات التغير العالمي والتباين.
- رسم الجينات العليا عبر جميع العينات.
- احسب التباين صفيا عبر العينات من مصفوفة اختبار vsd. اختر أفضل 100 جين متغير. قم بمركز كل جين عبر العينات.
- إنشاء خريطة حرارية باستخدام pheatmap() مع تعليقات مجموعات العينة. احفظ الشكل كنتائج/شكل/heatmap_top100_variable_genes.pdf.
- ارسم أعلى الجينات المعبر عنها بشكل تفاضلي لكل تباين.
- اختر أفضل 50 جينا حسب قيمة p المعدلة لكل تباين. استخرج مصفوفة تعبير VSD ومركز المتوسط بواسطة الجين. أنشئ خريطة حرارية لكل تباين واحفظها كالتالي:
- النتائج/الشكل/heatmap_top50_MB_vs_CB.pdf، النتائج/الشكل/heatmap_top50_AB_vs_MB.pdf، النتائج/الصور/heatmap_top50_AB_vs_CB.pdf
ملاحظة: زد عرض وارتفاع PDF إذا تم تفعيل تسميات الصفوف.
10. إجراء تحليل مستهدف لمؤشرات المناعة.
- لخص الجينات المناعية المختارة عبر التباينات.
- حدد مجموعة علامات مناعة: Il6، Il1b، Il10، Tnf، Ifng، Il21، و Icam1. استخرج log2FC، وقيمة p، وقيمة p المعدلة لهذه الجينات من كل جدول نتائج تباين.
- ادمج ملخصات التباين الثلاثة حسب معرف الجينات. احفظ الجدول المدمج كنتائج/جداول/immune_genes_summary.csv.
- أنشئ خريطة حرارية لمؤشر المناعة (rlog).
- تحديد الجينات المناعية الموجودة في مصفوفة الاختبار المحول. استخلاص مصفوفة تعبير rlog للجينات المناعية الحالية.
- التعبير في منتصف المركز حسب الجين. قم بإنشاء وحفظ خريطة الحرارة على النتائج/fig/heatmap_immune_genes.pdf.
11. إجراء تحليل لوحة مناعة موسعة حسب الفئة الوظيفية
- عرف لوحات المناعة.
- حدد لوحات العلامات المناعية حسب الفئة، بما في ذلك: السيتوكينات الالتهابية وجينات استجابة الإنترفيرون، الجينات المضادة للالتهابات والتنظيمية، الكيموكينات، مؤشرات تنشيط الخلايا الدبقية الدقيقة، علامات الخلايا النجمية، علامات تنشيط BBB وبطانة الجسم، علامات الخلايا التائية وعلامات الإجهاد، مؤشرات وعلامات الخلية الأحادية/البلعمية، جينات مسار المكملات، وجينات الإجهاد التأكسدي وموت الخلايا.
- استخرج نتائج DE في لوحة المناعة لكل تباين.
- أنشئ جدول تعيين من رموز الجينات إلى فئات المناعة. قم بتصفية كل جدول نتائج تباين لجينات لوحة المناعة. قم بربط تعيين الفئات بكل جدول نتائج مفلتر.
- قم بدمج الجداول المناعية الثلاثة الخاصة بالتباين في جدول واحد. احفظ الجدول المدمج كنتائج/جداول/immune_panels_DE_all_contrasts.csv. أنشئ خريطة حرارية مصنفة لتعبير لوحة المناعة.
- تحديد جينات اللوحة المناعية الموجودة في مصفوفة اختبار RLD. قم بإضافة تسميات الفئات إلى أسماء الصفوف للحفاظ على تصنيف اللوحات في الشكل. رسم خريطة الحرارة الخاصة ب rlog مع تعليقات مجموعات عينات.
- احفظ المخرجات.
- احفظ باسم: results/fig/heatmap_immune_panels_all.pdf، results/fig/heatmap_immune_panels_all.png
12. توليد مخططات براكين مناعية تراكب
- أنشئ مخططات براكين متراكبة على المناعة.
- وسم الجينات كمحصنة أو غير منيعة عن طريق ربط لوحة الجهاز المناعي بكل جدول نتائج تباين. رسم جميع الجينات غير المناعة كنقاط خلفية رمادية. رسم جينات المناعة الملونة حسب فئة المناعة في المقدمة. أضف خطوط العتبة عند log2FC = ±1 و -log10(0.05).
- تصدير قطع براكين محصنة مع تراكب مناعي.
- حفظ مخططات البركان التي تعتمد على تراكب المناعة في MB مقابل CB كما يلي:
- النتائج/الشكل/volcano_MB_vs_CB_immune_overlay.pdf
- النتائج/الشكل/volcano_MB_vs_CB_immune_overlay.png
- حفظ مخططات البركان AB مقابل MB لتراكب المناعة كالتالي:
- النتائج/الشكل/volcano_AB_vs_MB_immune_overlay.pdf
- النتائج/الشكل/volcano_AB_vs_MB_immune_overlay.png
ملاحظة: تم تحديد لجان جينات المناعة المختارة مسبقا وتجميعها إلى فئات وظيفية؛ القائمة الكاملة لرموز الجينات مع التعليقات موفرة في الجدول التكميلي S1. يضمن هذا الجدول الشفافية وقابلية التكرار، مما يسمح بإعادة الاستخدام المباشر والتحقق من صحة التحليلات القائمة على اللوحات عبر الدراسات.
13. إجراء تحليل الإثراء الوظيفي (GO و KEGG)
- تعريف مجموعات الجينات للإثراء
- لكل تباين (MB مقابل CB و AB مقابل MB)، استخرج جينات معبرة بشكل مختلف بشكل ملحوظ (DEGs) باستخدام عتبة p معدلة بقيمة < 0.05 وعتبة تغير طي log₂ مطلقة ≥ 1.
- قسم DEGs إلى جينات مرتفعة التنظيم (log₂FC > 0) وجينات منخفضة التنظيم (log₂FC < 0).
- تعريف مجموعة الجينات الخلفية (الكون)
- استخدم جميع الجينات التي تم الاحتفاظ بها بعد التصفية العدية في مجموعة بيانات DESeq2 ككون خلفي. استخرج رموز الجينات من كائن DESeq2 المصفى. حول رموز الجينات الخلفية إلى معرفات Entrez باستخدام دالة bitr() مع org. Mm.eg.db.
ملاحظة: استخدام مجموعة جينات خلفية متسقة يضمن نتائج إثراء غير متحيزة.
- خريطة معرفات الجينات للإثراء
- حول رموز الجينات لكل مجموعة DEG إلى معرفات Entrez باستخدام bitr(). احتفظ فقط بالجينات التي تم رسمها بنجاح لإثراء KEGG. تخطي تحليل الإثراء لمجموعة جينية إذا لم يتم تعيين أي جينات بنجاح.
ملاحظة: يستخدم إثراء الأنطولوجيا الجينية (GO) رموز جينية، بينما يتطلب إثراء KEGG معرفات Entrez.
- إجراء إثراء أنطولوجيا جينية (GO) (العملية البيولوجية)
- شغل إثراء GO باستخدام enrichGO() مع OrgDb = org. Mm.eg.db. Set keyType = "رمز" وOntology (ont) = "BP". حدد الكون كجميع رموز الجينات المصفاة من مجموعة بيانات DESeq2.
- استخدم pAdjustMethod = "BH" لتصحيح الاختبارات المتعددة. تطبيق عتبات الدلالة ل pvalueCutoff = 0.05 و qvalueCutoff = 0.05. قيد أحجام مجموعات الجينات باستخدام minGSSsize = 10 وmaxGSSsize = 500.
- تصدير نتائج إثراء GO إلى دليل results/tables/. قم بإنشاء مخططات شريطية لمصطلحات GO المغنية وحفظها في النتائج/fig/.
- تنفيذ إثراء مسار KEGG
- شغل إثراء KEGG باستخدام enrichKEGG() مع الكائن الحي = "mmu". وفر معرفات Entrez لمجموعات DEG كجينات إدخال. استخدم خلفية Entrez المخصصة ككون.
- تطبيق pAdjustMethod = "BH". استخدم عتبات الدلالة pvalueCutoff = 0.05 و qvalueCutoff = 0.05. قيد أحجام مجموعات الجينات باستخدام minGSSsize = 10 وmaxGSSsize = 500.
- تصدير جداول إثراء KEGG إلى النتائج/جداول/. قم بإنشاء مخططات شريطية لمسارات KEGG المطورة وحفظها إلى النتائج/fig/.
ملاحظة: قد لا يعيد إثراء KEGG نتائج إذا كان رسم الجينات غير كاف؛ يتم التعامل مع مثل هذه الحالات دون مقاطعة سير العمل.
14. إجراء تحليل إثراء المناعة فقط (وحدة اختيارية)
- بناء مجموعات جينية خاصة بالمناعة
- تعريف جينات اللوحة المناعية بناء على الفئات الوظيفية المختارة. تقاطع قوائم DEG مع جينات اللوحة المناعية. قسم مستويات DEG الخاصة بالمناعة إلى مجموعات مرتفعة ومنخفضة لكل تباين.
- إجراء إثراء على مجموعات جينية خاصة بالمناعة.
- تطبيق نفس إجراءات إثراء GO وKEGG الموضحة في القسم 13. استخدم إعدادات خلفية ومعايير متطابقة. حفظ المخرجات باستخدام أسماء الملفات التي تحتوي على تسمية "محصن" لتمييزها عن نتائج الإثراء العالمية.
15. توليد مخططات نقاط الإثراء (وحدة اختيارية)
- نتائج إثراء التحميل.
- استيراد جداول إثراء GO أو KEGG من مجلد results/tables/.
- تحويل مقاييس الإثراء.
- حول قيم GeneRatio من التنسيق الجزئي (x/y) إلى النسب الرقمية. احسب −log₁₀ (قيم p المعدلة) للتصور.
- توليد مخططات نقطية.
- رسم نسبة الجينات على المحور x ووصف مصطلحات غنية على المحور y. قم بقياس حجم النقاط حسب عدد الجينات واللون حسب −log₁₀ (قيمة p المعدلة).
- اختر أعلى مصطلحات غنية بناء على ترتيب قيمة p المعدل. احفظ مخططات النقاط كملفات PDF وPNG في دليل results/fig/.
16. حفظ معلومات الجلسة وإنهاء الجولة
- تصدير معلومات الجلسة.
- حفظ مخرجات sessionInfo() إلى النتائج/sessionInfo.txt لتوثيق نسخة R وإصدارات الحزمة.
- تأكيد الإكمال الناجح
- تأكد من أن سير العمل الذي تم إنشاؤه: الأشكال في النتائج/الشكل/، الجداول في النتائج/الجداول/.
- تأكد من وجود مخرجات التباين الثلاثة الأساسية وغير فارغة: DESeq2_MB_vs_CB_all_genes.csv، DESeq2_AB_vs_MB_all_genes.csv، DESeq2_AB_vs_CB_all_genes.csv