يضع البروتوكول الحالي خط أنابيب كامل لتحليل عملية تسلسل RNA الجماعي من البيانات الخام إلى تحليل الإثراء الوظيفي.
Method Article
* These authors contributed equally
يضع البروتوكول الحالي خط أنابيب كامل لتحليل عملية تسلسل RNA الجماعي من البيانات الخام إلى تحليل الإثراء الوظيفي.
يعتبر الكبد الدهني غير الكحولي (NAFL) عادة حالة حميدة؛ ومع ذلك، بمجرد تطور الحالة إلى التهاب الكبد الدهني غير الكحولي (NASH)، يواجه المرضى خطرا مرتفعا بشكل كبير للإصابة بمرض الكبد في المرحلة النهائية. تحاول العديد من الدراسات توضيح الآلية الجزيئية الكامنة وراء الانتقال من NAFL إلى NASH. قدمت تقنيات التسلسل عالي الإنتاجية (مثل الحمض النووي الريبي الضخم) فهما أعمق للباحثين من خلال فحص النسخ النصي، وكشف تعبير الجزيئات، وتنشيط مسارات الإشارة، وعوامل أخرى مرتبطة بتقدم المرض. هناك ثروة من البيانات مفتوحة المصدر متاحة للباحثين لتحليلها لتحديد الأهداف المحتملة لعلاج الأمراض. ومع ذلك، فإن الأبحاث ذات الصلة محدودة بسبب نقص عملية فعالة وموثوقة لتحليل النسخ النصي في أعلى المجرب. هنا، يتم توفير تحليل علوي قابل للتكرار وسهل الاستخدام وخط أنابيب تحليل جيني تفاضلي ذي صلة لتحقيق معالجة موحدة وتحليل عميق للبيانات الخاصة أو العامة. ينقسم خط الأنابيب إلى أربع خطوات: (1) مراقبة جودة البيانات؛ (2) رسم خرائط الجينات؛ (3) تحليل جيني تفريقي؛ و(4) التحليل الدالي. تهدف هذه العملية إلى كشف الآليات الجزيئية لتحول المرض ومساعدة الباحثين في فحص الأهداف الدوائية المحتملة والأساليب العلاجية من خلال تحليل بيانات الحمض النووي الريبي الضخم.
مرض الكبد الدهني غير الكحولي (NAFLD) هو أكثر أمراض الكبد الدهنية المزمنة انتشارا على مستوى العالم، حيث يصيب أكثر من ربع السكان. وقد زادت حدوثها بشكل كبير في العقود الأخيرة 1,2,3. العبء المتزايد للمرض، وخاصة شكله الأكثر تقدما، التهاب الكبد الدهني غير الكحولي (NASH)، يشكل تحديا صحيا عالميا كبيرا وعبئا اقتصاديا ثقيلا4. المرحلة الأولى من مرض الكبد الدهني غير الكحولي هي الكبد الدهني غير الكحولي (NAFL)، والتي ترافق التهاب وتليف يمكن أن يتطور إلى NASH. الأخير يزيد بشكل كبير من خطر التقدم إلى مرض الكبد في المرحلة النهائية، بما في ذلك تليف الكبد وسرطان الخلايا الكبدية (HCC)5,6,7. يرتبط معدل حدوث ووفيات HCC بزيادة NASH 8,9، ومن المتوقع أن يصبح NAFLD/NASH المؤشر الرئيسي لزراعة الكبد بحلول عام 2030. ومع ذلك، فإن التطور السريري ل NAFLD متعدد التجانس للغاية11، مما يعيق بشدة تطوير الأدوية ذات الصلة12، مما يجعل من المهم بشكل خاص استكشاف الآليات الجزيئية المعنية بدقة.
يمكن أن يوضح الجمع الكبير لمعلومات تركيب الخلايا المعتمد على تسلسل الحمض النووي الريبي بشكل كبير سبب المرض لمختلف الأمراض. في العقود الأخيرة، أجريت العديد من الدراسات الجماعية على RNA-seq على الكائنات النموذجية والبشر لتوضيح اختلافات التعبير الجيني في تقدم NASH 13,14,15، لتحديد أهداف علاجية جديدة للتدخل. استنادا إلى تحليل الحمض النووي الريبي الضخم، وجد شيونغ وآخرون أن الخلايا غير المحيطة (NPCs) في الكبد تشارك في عمليات مثل تكوين المصفوفة خارج الخلايا والتصاق الخلايا، والتي تساهم في تقدم NASH16. أظهر لي وآخرون أن بروتين ويلمز المرتبط 1 (WTAP) في الخلايا الكبدية ينظم تراكم الدهون خارج الرحم والالتهاب، مما يعزز تكوين NASH17. على الرغم من أن تحليل تسلسل الحمض النووي الريبي الجماعي أداة قوية لتوضيح آليات NASH، إلا أن نتائجه حساسة للغاية لجودة البيانات في المراحل الأولى. يمكن أن يؤثر التباين في العمليات التجريبية وعمليات التحليل على مستوى التحليل بشكل كبير من موثوقية البيانات، مما يخفي المعلومات البيولوجية الحقيقية ويتدخل في دقة التحليلات اللاحقة. لذلك، من المهم وضع مجموعة من إجراءات التحليل الموحدة في الأعلى.
مقارنة بتسلسل الحمض النووي الريبي أحادي الخلية (scRNA-seq)، يقدم تسلسل RNA الضخم عدة مزايا واضحة في تصميم التجارب والتطبيقات العملية. بينما يتيح scRNA-seq تحديد التغاير الخلوي على مستوى الخلية الواحدة ويسمح بتحليل دقيق لخصائص النسخ الخاصة بنوع الخلية، إلا أنه مرتبط بتكلفة عالية، ومتطلبات معالجة بيانات معقدة، وحساسية محدودة للكشف عن النسخ منخفضةالوفرة 18. في المقابل، يوفر تسلسل RNA-seq بالكميات الأكبر عمقا أعلى للتسلسل وتكلفة أقل، وإنتاجية عينة أعلى، مما يجعله مناسبا بشكل خاص لتحليلات التعبير الجيني التفاضلي على مستوى السكان واستكشاف الآليات الجزيئية19. لذلك، عند توجيه سير العمل التحليلي الموحد، يظل تسلسل RNA-seq بالكميات الأكبر نهجا فعالا وفعالا من حيث التكلفة وقويا للتحقيق في الأساس الجزيئي للأمراض المعقدة.
تم تصميم هذا البروتوكول خصيصا لمجموعات بيانات RNA-seq الضخمة المستمدة من أنسجة بشرية ذات سلامة RNA عالية (RIN ≥ 7.0) وكمية كافية من RNA مدخل (≥ 500 نانوغرام لكل عينة). لضمان تنفيذ خطوات المحاذاة والقياس بشكل موثوق، يوصى بمحطة عمل محلية مزودة بمعالج لا يقل عن 10 أنوية، وذاكرة RAM بسعة 32 جيجابايت، ومساحة لا تقل عن 200 جيجابايت من مساحة القرص الحرة. استنادا إلى هذه المتطلبات، يوفر البروتوكول سير عمل تحليلي فعال وسهل الاستخدام، يشمل تعليمات تشغيلية مفصلة وتكوينات معلمات موحدة، لتلبية احتياجات الباحثين الذين يحللون بيانات النسخ واسعة النطاق.
Access restricted. Please log in or start a trial to view this content.
لأغراض التوضيح، تم استخدام مجموعة البيانات المتاحة للجمهور PRJNA1023502 أنشأها لان باي وآخرون لتوضيح كل خطوة من التحليلات العليا واللاحقة20. نظرا لأن هذه المجموعة تأتي من قاعدة بيانات NCBI SRA ذات الوصول المفتوح، فلا حاجة إلى أذونات إضافية أو موافقات أخلاقية. راجع جدول المواد للتحقق من جميع إصدارات البرمجيات وحزمة R المطلوبة. تتكون مجموعة البيانات المتاحة للجمهور PRJNA1023502 من 6 عينات غير NASH، و6 عينات NAFL، و6 عينات RNA-seq للكبد NASH. في هذا البروتوكول، تم استخدام مجموعة البيانات لعرض جميع خطوات سير عمل RNA-seq الجماعي، بما في ذلك استرجاع البيانات من قاعدة بيانات SRA، ومراقبة الجودة (fastp)، والمحاذاة (HISAT2)، والقياس الكمي (featureCounts)، وتحليلات التعبير التفاضلي والإثراء الوظيفي في مرحلة لاحقة.
1. تركيب مجموعة أدوات SRA
2. تحميل البيانات العامة
3. توليد مصفوفة عدد الجينات
REFERENCE=~/reference/human/GRCh38/GRCh38.primary_assembly.genome.fa
GTF=~/reference/human/GRCh38/gencode.v44.annotation.gtf
INDEX=~/reference/human/GRCh38/GRCh38_index
FASTQ_DIR=~/SRA_tutorial/fastq
OUT_FASTP=~/RNAseq/fastp
OUT_HISAT2=~/RNAseq/hisat2
OUT_COUNTS=~/RNAseq/counts
mkdir -p $FASTQ_DIR $OUT_FASTP $OUT_HISAT2 $OUT_COUNTS
for f in SRR*; do [[ ! $f =~ \.sra$ ]] && mv "$f" "$f.sra"; done
for f in SRR*; do [[ ! $f =~ \.sra$ ]] && mv "$f" "$f.sra"; donefor f in SRR*; do [[ ! $f =~ \.sra$ ]] && mv "$f" "$f.sra"; donefor f in *.sra; do fasterq-dump "$f" --split-files -O $FASTQ_DIR - e 20; donehisat2-build $REFERENCE $INDEXfor fq in $FASTQ_DIR/*.fastq; do
sample=$(basename "$fq" .fastq)
for fq1 in $FASTQ_DIR/*_1.fastq; do
sample=$(basename "$fq1" _1.fastq)
fq2=$FASTQ_DIR/${sample}_2.fastqfastp \
-i "${fq}" \
-o $OUT_FASTP/${sample}.clean.fastq \
-h $OUT_FASTP/${sample}.html \
-j $OUT_FASTP/${sample}.json \
-w 20fastp \
-i "${fq}" \ -I "$fq2" \
-o $OUT_FASTP/${sample}_1.clean.fastq \
-O $OUT_FASTP/${sample}_2.clean.fastq \
-h $OUT_FASTP/${sample}.html \
-j $OUT_FASTP/${sample}.json \
-w 20hisat2 -p 20 \ -x $INDEX \-U $OUT_FASTP/${sample}.clean.fastq \
-S $OUT_HISAT2/${sample}.samhisat2 -p 20 \-x $INDEX \-1 $OUT_FASTP/${sample}_1.clean.fastq \
-2 $OUT_FASTP/${sample}_2.clean.fastq \
-S $OUT_HISAT2/${sample}.samsamtools view -@ 20 -bS $OUT_HISAT2/${sample}.sam \
| samtools sort -@ 20 -o $OUT_HISAT2/${sample}.sorted.bam
samtools index $OUT_HISAT2/${sample}.sorted.bam
donefeatureCounts -T 20 -p -s 0 \
-a $GTF \
-o $OUT_COUNTS /${sample}.counts.txt \
$OUT_HISAT2/${sample}.sorted.bam
Donecut -f1 $(ls $OUT_COUNTS/*.counts.txt | head -1) > all_counts.txtfor f in $OUT_COUNTS/*.counts.txt; do
cut -f7 "$f" | paste all_counts.txt - > tmp && mv tmp
all_counts.txt
donesamples=$(ls *.counts.txt | sed 's/.counts.txt//' | paste -sd "\t")
echo -e "Geneid\t$samples" | cat - all_counts.txt > counts_matrix.txtawk '$3=="exon"{match($0,/gene_id "([^"]+)"/,a); if(a[1]!=""){len=$5-$4+1; gene_len[a[1]]+=len}} END{print "GENE_ID\tLENGTH"; for(g in gene_len) print g"\t"gene_len[g]}' \$GTF > gene_length.txt4. معالجة مصفوفة العد الخام وتوضيح الجينات
mart <- useMart("ensembl", dataset = "hsapiens_gene_ensembl")
id_map <- getBM(attributes = c("ensembl_gene_id", "hgnc_symbol"),
filters = "ensembl_gene_id",
values = exprSet$GeneID,
mart = mart)
exprSet <- exprSet %>%
left_join(id_map, by = c("GeneID" = "ensembl_gene_id")) %>%
filter(!is.na(hgnc_symbol), hgnc_symbol != "") %>%
distinct(hgnc_symbol, .keep_all = TRUE) %>%
column_to_rownames("hgnc_symbol")5. قياس تعبير الجينات
ملاحظة: راجع الملف التكميلي 1 للنص المفصل.
counts <- read.csv("output/clean_counts_SRA.csv", header=TRUE, row.names=1)
gene_len <- read.delim("data/gene_length.txt", header=FALSE, col.names=c("gene_symbol","length"))
gene_len <- gene_len %>% distinct(gene_symbol, .keep_all=TRUE)
rownames(gene_len) <- gene_len$gene_symbol
gene_len <- gene_len[match(rownames(counts), gene_len$gene_symbol),]
length_bp <- gene_len$length
fpkm <- (counts / length_bp) * 1e9 / colSums(counts)
write.csv(fpkm, "output/clean_fpkm_SRA.csv")
tpm <- (counts / length_bp) / colSums(counts / length_bp) * 1e6
write.csv(tpm, "output/clean_tpm_SRA.csv")6. تجميع العينات وتصور الفروقات
gene.pca <- PCA(exprSet, ncp = 2, scale.unit = TRUE, graph = FALSE)
ggplot(pca_sample, aes(x = Dim.1, y = Dim.2)) +
geom_point(aes(color = group)) +
labs(x = paste('PC1:', pca_eig1, '%'),
y = paste('PC2:', pca_eig2, '%'))7. تحليل التعبير التفاضلي وتصور النتائج
ملاحظة: راجع الملف التكميلي 1 للنص المفصل.
dds <- DESeq(DESeqDataSetFromMatrix(countData = exprSet, colData = colData, design = ~group)); sizeFactors(dds); res <- results(dds); dds <- dds[rowSums(counts(dds)) > 1,]
dd1 <- results(dds, contrast = contrast, alpha = 0.05)
dd2 <- lfcShrink(dds, contrast = contrast, res = dd1, type = "ashr")ggplot(data = data, aes(x = log2FoldChange, y = -log10(padj))) +
geom_point(aes(color = group), alpha = 1, size = 1.2) +
geom_hline(yintercept = -log10(0.05), lty = 4) +
geom_vline(xintercept = c(-0.5, 0.5), lty = 4) +
geom_text_repel(data = subset(data, abs(log2FoldChange) >= 1.5 & padj < 0.05),
aes(label = gene_id))8. إجراء تحليل وتصوير الإثراء الوظيفي
ملاحظة: راجع الملف التكميلي 1 للنص المفصل.
EGG <- enrichKEGG(gene = gene$ENTREZID, organism = 'hsa',
pvalueCutoff = 0.05, qvalueCutoff = 0.05)
ggplot(symboldata, aes(richFactor, Description)) +
geom_point(aes(color = p.adjust, size = Count))ego <- enrichGO(gene = gene$ENTREZID, OrgDb = "org.Hs.eg.db", ont = "ALL",
pvalueCutoff = 0.05, qvalueCutoff = 0.05, pAdjustMethod = "BH")
ggplot(df) +
ggforce::geom_link(aes(x = 0, y = Description, xend = -log10(p.adjust),
yend = Description, color = ONTOLOGY), n = 500, show.legend = FALSE) +
facet_wrap(~ONTOLOGY, scales = "free", ncol = 1)genelist <- sort(res$log2FoldChange, decreasing = TRUE)
names(genelist) <- rownames(res)
hallmarks <- read.gmt('resource/h.all.v2023.2.Hs.symbols.gmt')
y <- GSEA(genelist, TERM2GENE = hallmarks, pvalueCutoff = 0.05)
gsearesult <- yd %>% arrange(desc(NES)) %>% slice_head(n = 10)
ggplot(gsearesult, aes(x = logFC, y = Description, fill = -log10(pvalue))) +
geom_density_ridges(alpha = 0.8, scale = 0.8) +
geom_point(aes(size = abs(NES), x = -0.4, color = NES)) +
scale_fill_distiller(palette = 'Spectral') +
scale_color_distiller(palette = 'Reds') +
scale_size_continuous(range = c(2, 6))Access restricted. Please log in or start a trial to view this content.
يتم توضيح سير عمل التحليل الصادر للRNA-seq بالجملة في الشكل 1A. ينفذ هذا السير الخطوات الرئيسية التالية بشكل متسلسل على منصة لينكس: أولا، يتم تنفيذ مراقبة دقيقة في جودة بيانات التسلسل الخام باستخدام fastp لإزالة القراءات منخفضة الجودة وتسلسلات المحولات؛ بعد ذلك، يقوم HISAT2 بمحاذاة القراءات عالية الجودة مع الجينوم المرجعي، حيث يقوم Samtools بتحويل وترتيب ملفات المحاذاة؛ وأخيرا، يقوم FeatureCounts بقياس الكمية على مستوى الجين لتوليد مصفوفة تعبير الجينات، مما يوفر مدخلات عالية الجودة للتحليل ا...
Access restricted. Please log in or start a trial to view this content.
يتميز تحليل بيانات تسلسل الحمض النووي الريبي الجماعي بأنه مهمة متعددة التخصصات تدمج الجينوميات، والمعلوماتية الحيوية، والإحصاء، وعلوم الحاسوب. يشمل سير العمل التحليلي الكامل عدة خطوات في البداية والأسفل، بما في ذلك معالجة البيانات الخام، ومراقبة الجودة، ومحاذاة التسلسل، والقياس على مستوى الجينات، وتطبيع البيانات، وتحليل التعبير التفاضلي، والتفسير البيولوجي. من بين هذه الخطوات، يعد تحويل قراءات التسلسل الخام بدقة إلى مصفوفة تعبير جيني عالية الجودة أمرا بالغ الأهمية، حيث يمكن أن تنتشر الأخ...
Access restricted. Please log in or start a trial to view this content.
يعلن المؤلفون أنهم لا يملكون تضارب مصالح.
يرغب المؤلفون في شكر القائمين على قواعد البيانات المتاحة للجمهور المستخدمة في هذه الدراسة.
Access restricted. Please log in or start a trial to view this content.
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| biomaRt | الموصل الحيوي | 2.64.0 | تعليق الجينات من Ensembl |
| clusterProfiler | الموصل الحيوي | 4.16.0 | تحليل الإثراء الوظيفي |
| DESeq2 | الموصل الحيوي | 1.48.1 | تحليل التعبير التفاضلي |
| فاكتوماينر | أجروباريستك | 2.11.0 | تحليل PCA والتحليل متعدد المتغيرات |
| فاست بي | أوبن جين | 1.0.1 | مراقبة الجودة وتصفية بيانات FASTQ |
| عدد الميزات | قسم المعلوماتية الحيوية، معهد والتر وإليزا هول للأبحاث الطبية | 2.0.0 | عد عدد القراءات التي تم تحويلها لكل جين لقياس تعبير الجين |
| ggplot2 | الوضع | 3.5.2 | تصور البيانات |
| غريبل | كميل سلوويكوفسكي | 0.9.6 | تسميات النصوص غير المتداخلة |
| غريدجز | كلاوس أو. ويلكي | 0.5.6 | أنشئ مخططات على خطوط المرتفعات |
| HISAT2 | جامعة جونز هوبكنز | 2.2.1 | محاذاة القراءات عالية الجودة المفلترة مع الجينوم المرجعي |
| R | فريق R Core | 4.5.0 | بيئة لحساب البيانات وتحليلها وتصورها |
| RColorBrewer | إريك نويورث | 1.1.3 | لوحات الألوان للرسم |
| Samtools | مسار عمل الجينوميات واسعة النطاق | 1.22.0 | تحويل ومعالجة ملفات SAM لاسترجاع والوصول الفعال |
| مجموعة أدوات SRA | المركز الوطني لمعلومات التكنولوجيا الحيوية | 3.2.1 | الحصول على بيانات التسلسل الخام ومعالجتها مسبقا من قاعدة بيانات NCBI SRA |
Access restricted. Please log in or start a trial to view this content.
Request permission to reuse the text or figures of this JoVE article
Request Permission