Mevcut protokol, ham veriden fonksiyonel zenginleştirme analizine kadar toplu RNA-divizinin analizi için tam bir iş hattı oluşturur.
Method Article
* These authors contributed equally
Mevcut protokol, ham veriden fonksiyonel zenginleştirme analizine kadar toplu RNA-divizinin analizi için tam bir iş hattı oluşturur.
Alkolsüz yağlı karaciğer (NAFL) genellikle iyi huylu bir durum olarak kabul edilir; ancak alkolsüz steatohepatite (NASH) ilerlediğinde, hastalar son evre karaciğer hastalığı geliştirme riski açısından önemli ölçüde artmaktadır. Birçok çalışma, NAFL'den NASH'a geçişin altında yatan moleküler mekanizmayı aydınlatmaya çalışıyor. Yüksek verimli dizileme teknolojileri (örneğin toplu RNA-dizi) araştırmacılara transkriptomu inceleyerek, moleküllerin ifadesini, sinyal yollarının aktivasyonunu ve hastalık ilerlemesiyle ilişkili diğer faktörleri ortaya çıkararak daha derin bir anlayış sağlamıştır. Araştırmacıların hastalık tedavisi için potansiyel hedefleri belirlemesi amacıyla analiz edebileceği zengin açık kaynak veri mevcuttur. Ancak, ilgili araştırmalar, transkriptomun yukarı akış analizi için verimli ve güvenilir bir sürecin olmaması nedeniyle sınırlıdır. Burada, standart işlem ve özel ya da kamu verilerinin derinlemesine ayrıştırılması için yüksek tekrarlanabilir ve kullanıcı dostu bir üst akış analizi ve ardından ilgili diferansiyel gen analizi hattı sağlanır. Boru hattı dört aşamaya ayrılmıştır: (1) veri kalite kontrolü; (2) gen haritalama; (3) diferansiyel gen analizi; ve (4) fonksiyonel analiz. Bu süreç, hastalık dönüşümünün moleküler mekanizmalarını ortaya çıkarmayı ve araştırmacıların Toplu RNA dizi verilerinin analiziyle potansiyel ilaç hedefleri ve terapötik yaklaşımları taramalarına yardımcı olmayı amaçlamaktadır.
Alkol olmayan yağlı karaciğer hastalığı (NAFLD), dünya genelinde en yaygın kronik karaciğer hastalığıdır ve nüfusun dörtte birinden fazlasını etkiler. Son on yıllarda bu sıklığı dramatik şekilde artmıştır 1,2,3. Artan hastalık yükü, özellikle daha gelişmiş formu olan alkolsüz steatohepatit (NASH), büyük bir küresel sağlık sorunu ve ağır ekonomik yükoluşturmaktadır 4. NAFLD'nin ilk evresi, alkolsüz yağlı karaciğerdir (NAFL), iltihap ve fibrozis ile birlikte gelişir ve NASH'a ilerleyebilen bir durumdur. Sonuncusu, sirroz ve hepatosellüler karsinom (HCC) dahil olmak üzere son evre karaciğer hastalığına ilerleme riskini önemli ölçüde artırır 5,6,7. HCC insidansı ve ölüm, NASH 8,9 artışıyla ilişkilidir ve NAFLD/NASH'ın 2030 yılına kadar karaciğer nakli için önde gelen endikasyon haline gelmesibeklenmektedir 10. Ancak, NAFLD'nin klinik ilerlemesi oldukça heterojen11 olup, ilgili ilaçlarıngeliştirilmesini ciddi şekilde engeller ve moleküler mekanizmaların hassas şekilde incelenmesini özellikle önemli.
Hücresel bileşimsel bilginin toplu RNA dizisi tabanlı edinimi, çeşitli hastalıkların patogenezini önemli ölçüde aydınlatabilir. Son on yıllarda, NASH ilerlemesi 13,14,15'te gen ifade farklılıklarını aydınlatmak ve müdahale için yeni terapötik hedefler belirlemek amacıyla model organizmalar ve insanlar üzerinde çok sayıda toplu RNA sekimi çalışması yapılmıştır. Toplu RNA-seq analizine dayanarak, Xiong ve ark. karaciğerdeki nonparenkimal hücrelerin (NPC) ekstrasellüler matriks oluşumu ve hücre yapışması gibi süreçlerde rol aldığını ve bunun NASH16'nın ilerlemesine katkıda bulunduğunu bulmuştur. Li ve ark. hepatositlerdeki hepatik Wilms tümör 1-ilişkili proteininin (WTAP) ektopik lipid birikimini ve iltihabı düzenlediğini, böylece NASH oluşumunu teşvikettiğini göstermiştir 17. Toplu RNA-dicil analizi, NASH mekanizmalarını aydınlatmak için güçlü bir araç olsa da, sonuçları yukarı akış verilerinin kalitesine karşı son derece hassastır. Üst akış deneysel operasyonları ve analiz süreçlerinin heterojenliği, verilerin güvenilirliğini ciddi şekilde zayıflatabilir, böylece gerçek biyolojik bilgiyi gizleyebilir ve sonraki analizlerin doğruluğunu engeller. Bu nedenle, standartlaştırılmış bir üst akış analiz prosedürleri seti oluşturmak önemlidir.
Tek hücreli RNA dizileme (scRNA-seq) ile karşılaştırıldığında, toplu RNA-dizi, hem deneysel tasarımda hem de pratik uygulamalarda birkaç belirgin avantaj sunar. scRNA-seq, hücresel heterojenliğin tek hücre düzeyinde tanımlanmasını ve hücre tipine özgü transkripsiyon özelliklerinin hassas analizini mümkün kılsa da, yüksek maliyet, karmaşık veri işleme gereksinimleri ve düşük bolluklu transkripsiyonların tespit edilmesinde sınırlı hassasiyetleilişkilidir 18. Buna karşılık, toplu RNA-dizi, daha yüksek dizileme derinliği, daha düşük maliyet ve daha yüksek örnek verimliliği sağlar; bu da onu özellikle popülasyon düzeyinde farklı gen ekspresyonu analizleri ve moleküler mekanizmaların keşfi için uygunkılar 19. Bu nedenle, standartlaştırılmış analitik iş akışlarıyla yönlendirildiğinde, toplu RNA-dizi, karmaşık hastalıkların moleküler temelini araştırmak için verimli, maliyet etkin ve sağlam bir yaklaşım olarak kalır.
Bu protokol, yüksek RNA bütünlüğüne (RIN ≥ 7.0) ve yeterli giriş RNA'sına (örnek başına ≥ 500 ng) sahip insan dokularından türetilen toplu RNA-seq veri setleri için özel olarak tasarlanmıştır. Hizalama ve nicelik adımlarının güvenilir şekilde uygulanmasını sağlamak için, en az 10 çekirdekli CPU, 32 GB RAM ve minimum 200 GB boş disk alanına sahip yerel bir iş istasyonu önerilir. Bu gereksinimler üzerine inşa edilen protokol, büyük ölçekli transkriptomik verileri analiz eden araştırmacıların ihtiyaçlarını karşılamak için ayrıntılı operasyonel talimatlar ve standart parametre yapılandırmaları dahil olmak üzere verimli ve kullanıcı dostu bir analitik iş akışı sağlar.
Access restricted. Please log in or start a trial to view this content.
Gösteri amacıyla, Lan Bai ve ark. tarafından oluşturulan kamuya açık veri seti PRJNA1023502, hem üst hem de aşağı akış analizlerinin her adımını göstermek içinkullanılmıştır 20. Bu veri seti açık erişimli NCBI SRA veritabanından geldiği için ek izin veya etik onay gerekmez. Tüm gerekli yazılımları ve R-paket sürümlerini doğrulamak için Materyaller Tablosu'na bakabilirsiniz. Halka açık veri seti PRJNA1023502 6 NASH olmayan, 6 NAFL ve 6 NASH karaciğer RNA-seq örneğinden oluşmaktadır. Bu protokolde, veri seti, SRA veritabanından veri alımı, kalite kontrolü (fastp), hizalama (HISAT2), nicelik (featureCounts) ve aşağıya doğru diferansiyel ifade ile fonksiyonel zenginleştirme analizleri dahil olmak üzere toplu RNA-seq iş akışının tüm adımlarını göstermek için kullanıldı.
1. SRA araç seti kurulumu
2. Kamuya açık veri indirmek
3. Gen sayısı matrisinin oluşturulması
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. Ham sayım matrisi işleme ve gen açıklaması
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. Gen ifadesinin niceleştirilmesi
NOT: Detaylı senaryo için Ek Dosya 1'e bakınız.
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. Örnek kümeleme ve fark görselleştirme
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. Diferansiyel ifade analizi ve sonuçların görselleştirilmesi
NOT: Detaylı senaryo için Ek Dosya 1'e bakınız.
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. Fonksiyonel zenginleştirme analizi ve görselleştirme yapmak
NOT: Detaylı senaryo için Ek Dosya 1'e bakınız.
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.
Toplu RNA-dizisi için üst akış analiz iş akışı Şekil 1A'da gösterilmiştir. Bu iş akışı, bir Linux platformunda sıralı olarak aşağıdaki temel adımları uygular: birincisi, ham dizileme verilerinin titiz kalite kontrolü, düşük kaliteli okumalar ve adaptör dizilerini kaldırmak için fastp kullanılarak gerçekleştirilir; daha sonra HISAT2, yüksek kaliteli okumaları referans genomuna hizalar; Samtools hizalama dosyalarını dönüştürüp sıralar; son olarak, FeatureCounts gen seviyesinde nicelik ölçerek ...
Access restricted. Please log in or start a trial to view this content.
Toplu RNA dizisini veri analizi, genomik, biyoinformatik, istatistik ve bilgisayar bilimini bütünleyen disiplinlerarası bir görev olarak tanımlanır. Tam bir analitik iş akışı, ham veri ön işlemesi, kalite kontrolü, dizi hizası, gen düzeyinde nicelik, veri normalizasyonu, diferansiyel ifade analizi ve biyolojik yorumlama gibi birçok üst ve aşağı akış adımını kapsar. Bu adımlar arasında, ham dizileme okumalarını yüksek kaliteli bir gen ifade matrisine doğru şekilde dönüştürmek özellikle kr...
Access restricted. Please log in or start a trial to view this content.
Yazarlar, çıkar çatışmaları olmadığını belirtirler.
Yazarlar, bu çalışmada kullanılan kamuya açık veri tabanlarının koruyucularına teşekkür etmek isterler.
Access restricted. Please log in or start a trial to view this content.
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| biomaRt | Biyoiletken | 2.64.0 | Ensambl'dan gen açıklaması |
| clusterProfiler | Biyoiletken | 4.16.0 | Fonksiyonel zenginleştirme analizi |
| DESeq2 | Biyoiletken | 1.48.1 | Diferansiyel ifade analizi |
| FactoMineR | AgroParisTech | 2.11.0 | PCA ve çok değişkenli analiz |
| fastp | OpenGene | 1.0.1 | FASTQ verilerinin kalite kontrolü ve filtrelenmesi |
| ÖzelliklerSayıları | Biyoinformatik Bölümü, Walter ve Eliza Hall Tıbbi Araştırma Enstitüsü | 2.0.0 | Gen ifade niceliği için her gene eşlenen okuma sayısını sayın |
| ggplot2 | Pozisyon | 3.5.2 | Veri görselleştirme |
| ggrepel | Kamil Slowikowski | 0.9.6 | Örtüşmeyen metin etiketleri |
| ggridges | Claus O. Wilke | 0.5.6 | Sırt çizgisi haritaları oluşturun |
| HISAT2 | Johns Hopkins Üniversitesi | 2.2.1 | Filtrelenmiş yüksek kaliteli okumaları referans genomla hizalamak |
| R | R Core Team | 4.5.0 | Veri hesaplama, analiz ve görselleştirme için bir ortam |
| RColorBrewer | Erich Neuwirth | 1.1.3 | Grafik için renk paletleri |
| samtools | Büyük Ölçekli Genomik çalışma akışı | 1.22.0 | SAM dosyalarını verimli erişim ve erişim için dönüştürün ve işleyin |
| SRA Araç Seti | Ulusal Biyoteknoloji Bilgi Merkezi | 3.2.1 | NCBI SRA veritabanından ham dizileme verilerini elde etmek ve ön işleme |
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