يعمل الربط البديل (AS) والبولي أدينيل البديل (APA) على توسيع تنوع الأشكال المتماثلة ومنتجاتها. هنا ، نصف بروتوكولات المعلوماتية الحيوية لتحليل مقايسات تسلسل RNA-seq السائبة و 3 'للكشف عن وتصور AS و APA المتغيرة عبر الظروف التجريبية.
مقالة منهجية
يعمل الربط البديل (AS) والبولي أدينيل البديل (APA) على توسيع تنوع الأشكال المتماثلة ومنتجاتها. هنا ، نصف بروتوكولات المعلوماتية الحيوية لتحليل مقايسات تسلسل RNA-seq السائبة و 3 'للكشف عن وتصور AS و APA المتغيرة عبر الظروف التجريبية.
بالإضافة إلى التحليل النموذجي ل RNA-Seq لقياس التعبير الجيني التفاضلي (DGE) عبر الظروف التجريبية / البيولوجية ، يمكن أيضا استخدام بيانات RNA-seq لاستكشاف آليات تنظيمية معقدة أخرى على مستوى exon. يلعب الربط البديل و polyadenylation دورا حاسما في التنوع الوظيفي للجين من خلال توليد أشكال متساوية مختلفة لتنظيم التعبير الجيني على مستوى ما بعد النسخ ، ويمكن أن يؤدي قصر التحليلات على مستوى الجينات بالكامل إلى تفويت هذه الطبقة التنظيمية المهمة. هنا ، نوضح تحليلات مفصلة خطوة بخطوة لتحديد وتصور استخدام موقع exon و polyadenylation التفاضلي عبر الظروف ، باستخدام Bioconductor والحزم والوظائف الأخرى ، بما في ذلك DEXSeq و diffSplice من حزمة Limma و rMATS.
تم استخدام RNA-seq على نطاق واسع على مر السنين عادة لتقدير التعبير الجيني التفاضلي واكتشاف الجينات1. بالإضافة إلى ذلك ، يمكن استخدامه أيضا لتقدير الاستخدام المتغير لمستوى إكسون بسبب تعبير الجينات عن أشكال متساوية مختلفة ، وبالتالي المساهمة في فهم أفضل لتنظيم الجينات على مستوى ما بعد النسخ. تولد غالبية الجينات حقيقية النواة أشكالا متساوية مختلفة عن طريق الربط البديل (AS) لزيادة تنوع تعبير mRNA. يمكن تقسيم أحداث AS إلى أنماط مختلفة: تخطي exons كاملة (SE) حيث تتم إزالة exon ("كاسيت") تماما من النص جنبا إلى جنب مع الإنترونات المرافقة له ؛ اختيار موقع لصق بديل (مانح) 5 '(A5SS) واختيار موقع لصق بديل 3 '(متقبل) (A3SS) عند وجود موقعين أو أكثر من مواقع لصق على طرفي إكسون ؛ الاحتفاظ بالإنترونات (RI) عند الاحتفاظ ب intron ضمن نسخة mRNA الناضجة والاستبعاد المتبادل لاستخدام exon (MXE) حيث يمكن الاحتفاظ بواحد فقط من الإكسونات المتاحين في وقت 2,3. يلعب polyadenylation البديل (APA) أيضا دورا مهما في تنظيم التعبير الجيني باستخدام مواقع poly البديلة (A) لتوليد أشكال متماثلة متعددة من mRNA من نسخة واحدة4. تقع معظم مواقع polyadenylation (pAs) في المنطقة غير المترجمة 3 '(3' UTRs) ، مما يولد أشكالا متماثلة من mRNA بأطوال UTR متنوعة 3 بوصات. نظرا لأن 3 'UTR هو المحور المركزي للتعرف على العناصر التنظيمية ، يمكن أن تؤثر أطوال UTR المختلفة 3 'على توطين mRNA واستقراره وترجمته5. هناك فئة من 3 'مقايسات تسلسل نهاية محسنة للكشف عن APA التي تختلف في تفاصيل البروتوكول6. تم تصميم خط الأنابيب الموصوف هنا ل PolyA-seq ، ولكن يمكن تكييفه مع البروتوكولات الأخرى كما هو موضح.
في هذه الدراسة ، نقدم مجموعة من طرق تحليل exon التفاضلية 7,8 (الشكل 1) ، والتي يمكن تقسيمها إلى فئتين عريضتين: القائمة على exon (DEXSeq9 ، diffSplice 10) والقائمة على الحدث (تكرار التحليل متعدد المتغيرات لربط النص (rMATS)11). تقارن الطرق القائمة على الإكسون تغير الطي عبر ظروف الإكسونات الفردية ، مقابل مقياس للتغير الكلي في طية الجينات لاستدعاء استخدام إكسون المعبر عنه بشكل تفاضلي ، ومن ذلك تحسب مقياسا على مستوى الجينات لنشاط AS. تستخدم الطرق المستندة إلى الأحداث قراءات تقاطع exon-intron-spanning لاكتشاف وتصنيف أحداث الربط المحددة مثل تخطي exon أو الاحتفاظ بالإنترونات ، وتمييز أنواع AS هذه في الإخراج3. وبالتالي ، توفر هذه الطرق وجهات نظر تكميلية لتحليل كامل لمعيار المحاسبة12,13. اخترنا DEXSeq (استنادا إلى حزمة DESeq214 DGE) و diffSplice (استنادا إلى حزمة Limma10 DGE) للدراسة لأنهما من بين الحزم الأكثر استخداما لتحليل الربط التفاضلي. تم اختيار rMATS كطريقة شائعة للتحليل القائم على الأحداث. طريقة أخرى شائعة قائمة على الأحداث هي MISO (خليط من الأشكال المتساوية)1. بالنسبة إلى APA ، نقوم بتكييف النهج القائم على exon.

الشكل 1. خط أنابيب التحليل. مخطط انسيابي للخطوات المستخدمة في التحليل. تشمل الخطوات: الحصول على البيانات ، وإجراء فحوصات الجودة ومحاذاة القراءة متبوعة بحساب القراءات باستخدام التعليقات التوضيحية لمواقع exons و introns و pA المعروفة ، والتصفية لإزالة الأعداد المنخفضة والتطبيع. تم تحليل بيانات PolyA-seq لمواقع pA البديلة باستخدام طرق diffSplice / DEXSeq ، وتم تحليل RNA-Seq السائب للربط البديل على مستوى exon باستخدام طرق diffSplice / DEXseq ، وتم تحليل أحداث AS باستخدام rMATS. الرجاء الضغط هنا لعرض نسخة أكبر من هذا الشكل.
تم الحصول على بيانات RNA-seq المستخدمة في هذا المسح من التعبير الجيني الجامع (GEO) (GSE138691)15. استخدمنا بيانات RNA-seq للفأر من هذه الدراسة مع مجموعتين من الحالات: النوع البري (WT) والضربة القاضية من النوع 1 الشبيه بالعضلات (Mbnl1 KO) مع ثلاث نسخ متماثلة لكل منهما. لإثبات تحليل استخدام موقع polyadenylation التفاضلي ، حصلنا على بيانات الخلايا الليفية الجنينية للفأر (MEFs) PolyA-seq (GEO Accession GSE60487)16. تحتوي البيانات على أربع مجموعات شروط: النوع البري (WT) ، النوع 1 / النوع 2 الشبيه بالعضلات بالضربة القاضية المزدوجة (Mbnl1/2 DKO) ، Mbnl 1/2 DKO مع ضربة قاضية Mbnl3 (KD) و Mbnl1/2 DKO مع التحكم Mbnl3 (Ctrl). تتكون كل مجموعة شرط من نسختين متماثلتين.
| انضمام GEO | رقم تشغيل SRA | اسم العينة | شرط | تكرار | نسيج | التسلسل | طول القراءة | |
| RNA-Seq | جي إس إم 4116218 | SRR10261601 | Mbnl1KO_Thymus_1 | Mbnl1 بالضربة القاضية | ممثل 1 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس |
| جي إس إم 4116219 | SRR10261602 | Mbnl1KO_Thymus_2 | Mbnl1 بالضربة القاضية | ممثل 2 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس | |
| جي إس إم 4116220 | SRR10261603 | Mbnl1KO_Thymus_3 | Mbnl1 بالضربة القاضية | مندوب 3 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس | |
| جي إس إم 4116221 | SRR10261604 | WT_Thymus_1 | نوع البرية | ممثل 1 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس | |
| جي إس إم 4116222 | SRR10261605 | WT_Thymus_2 | نوع البرية | ممثل 2 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس | |
| جي إس إم 4116223 | SRR10261606 | WT_Thymus_3 | نوع البرية | مندوب 3 | الغدة الصعترية | نهاية مزدوجة | 100 نقطة أساس | |
| 3P-Seq | جي إس إم 1480973 | ريال1553129 | WT_1 | النوع البري (WT) | ممثل 1 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس |
| جي إس إم 1480974 | ريال1553130 | WT_2 | النوع البري (WT) | ممثل 2 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس | |
| جي إس إم 1480975 | SRR1553131 | DKO_1 | Mbnl 1/2 ضربة قاضية مزدوجة (DKO) | ممثل 1 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس | |
| جي إس إم 1480976 | SRR1553132 | DKO_2 | Mbnl 1/2 ضربة قاضية مزدوجة (DKO) | ممثل 2 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس | |
| جي إس إم 1480977 | ريال1553133 | DKOsiRNA_1 | Mbnl 1/2 ضربة قاضية مزدوجة مع Mbnl 3 siRNA (دينار كويتي) | ممثل 1 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس | |
| جي إس إم 1480978 | ريال1553134 | DKOsiRNA_2 | Mbnl 1/2 ضربة قاضية مزدوجة مع Mbnl 3 siRNA (دينار كويتي) | ممثل 2 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 36 نقطة أساس | |
| جي إس إم 1480979 | ريال1553135 | DKONTsiRNA_1 | Mbnl 1/2 ضربة قاضية مزدوجة مع siRNA غير مستهدف (Ctrl) | ممثل 1 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس | |
| جي إس إم 1480980 | SRR1553136 | DKONTsiRNA_2 | Mbnl 1/2 ضربة قاضية مزدوجة مع siRNA غير مستهدف (Ctrl) | ممثل 2 | الخلايا الليفية الجنينية للفأر (MEFs) | نهاية واحدة | 40 نقطة أساس |
الجدول 1. ملخص مجموعات بيانات RNA-Seq و PolyA-seq المستخدمة في التحليل.
الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
1. تركيب الأدوات وحزم R المستخدمة في التحليل
conda install -c daler sratoolkit
conda install -c conda-forge parallel
conda install -c bioconda star bowtie fastqc rmats rmats2sashimiplot samtools fasterq-dump cutadapt bedtools deeptools bioc_packages<- c("DEXSeq", "Rsubread", "EnhancedVolcano", "edgeR", "limma", "maser","GenomicRanges")
packages<- c("magrittr", "rtracklayer", "tidyverse", "openxlsx", "BiocManager")
#Install if not already installed
installed_packages<-packages%in% rownames(installed.packages())
installed_bioc_packages<-bioc_packages%in% rownames(installed.packages())
if(any(installed_packages==FALSE)) {
install.packages(packages[!installed_packages],dependencies=TRUE)
BiocManager::install(packages[!installed_bioc_packages], dependencies=TRUE)
}2. تحليل الربط البديل (AS) باستخدام RNA-seq
seq 10261601 10261606 | parallel prefetch SRR{}parallel -j 3 fastq-dump --gzip --skip-technical --read-filter pass --dumpbase --split-e --clip --origfmt {} ::: wget -nv -O annotation.gtf.gz http://ftp.ensembl.org/pub/release-103/gtf/mus_musculus/Mus_musculus.GRCm39.103.gtf.gz \ && gunzip -f annotation.gtf.gz
wget -nv -O genome.fa.gz http://ftp.ensembl.org/pub/release-103/fasta/mus_musculus/dna/Mus_musculus.GRCm39.dna.primary_assembly.fa.gz \ && gunzip -f genome.fa.gz
GTF=$(readlink -f annotation.gtf)
GENOME=$(readlink -f genome.fa)mkdir fastqc_out
parallel "fastqc {} -o fastqc_out" ::: $RAW_DATA/*.fastq.gz#Build STAR index
GDIR=STAR_indices
mkdir $GDIR
STAR --runMode genomeGenerate --genomeFastaFiles $GENOME --sjdbGTFfile $GTF --runThreadN 8 --genomeDir $GDIR
ODIR=results/mapping
mkdir -p $ODIR
#Align reads to the genome
for fq1 in $RAW_DATA/*R1.fastq.gz;
do
fq2=$(echo $fq1| sed 's/1.fastq.gz/2.fastq.gz/g');
OUTPUT=$(basename ${fq1}| sed 's/R1.fastq.gz//g');
STAR --genomeDir $GDIR \
--runThreadN 12 \
--readFilesCommand zcat \
--readFilesIn ${fq1}${fq2}\
--outFileNamePrefix $ODIR\/${OUTPUT} \
--outSAMtype BAM SortedByCoordinate \
--outSAMunmapped Within \
--outSAMattributes Standard
DoneRscript prepare_mm_exon_annotation.R annotation.gtfpackages<- c("Rsubread","tidyverse", "magrittr", "EnhancedVolcano", "edgeR","openxlsx")
invisible(lapply(packages, library, character.only=TRUE))load("mm_exon_anno.RData")countData <- dir("bams", pattern=".bam$", full.names=T) %>%
featureCounts(annot.ext=anno,
isGTFAnnotationFile=FALSE,
minMQS=0,useMetaFeatures=FALSE,
allowMultiOverlap=TRUE,
largestOverlap=TRUE,
countMultiMappingReads=FALSE,
primaryOnly=TRUE,
isPairedEnd=TRUE,
nthreads=12)# Non-specific filtering: Remove the exons with low counts
isexpr<- rownames(countData$counts)[rowSums(cpm(countData$counts)>1) >=3]
countData$counts<-countData$counts[rownames(countData$counts) %in%isexpr, ]
anno<-anno%>% filter(GeneID%in% rownames(countData$counts))
# Remove genes with only 1 site and NA in geneIDs
dn<-anno%>%group_by(GeneID)%>%summarise(nsites=n())%>% filter(nsites>1&!is.na(GeneID))
anno<-anno%>% filter(GeneID%in%dn$GeneID)
countData$counts<-countData$counts[rownames(countData$counts) %in%anno$GeneID, ]library(DEXSeq)
sampleTable<-data.frame(row.names= c("Mbnl1KO_Thymus_1", "Mbnl1KO_Thymus_2", "Mbnl1KO_Thymus_3", "WT_Thymus_1", "WT_Thymus_2", "WT_Thymus_3"), condition= rep(c("Mbnl1_KO", "WT"),c(3,3)), libType= rep(c("paired-end")))exoninfo<-anno[anno$GeneID%in% rownames(countData$counts),]
exoninfo<-GRanges(seqnames=anno$Chr,
ranges=IRanges(start=anno$Start, end=anno$End, width=anno$Width),strand=Rle(anno$Strand))
mcols(exoninfo)$TranscriptIDs<-anno$TranscriptIDs
mcols(exoninfo)$Ticker<-anno$Ticker
mcols(exoninfo)$ExonID<-anno$ExonID
mcols(exoninfo)$n<-anno$n
mcols(exoninfo)$GeneID<-anno$GeneID
transcripts_l= strsplit(exoninfo$TranscriptIDs, "\\,")
save(countData, sampleTable, exoninfo, transcripts_l, file="AS_countdata.RData")dxd<-DEXSeqDataSet(countData$counts,sampleData=sampleTable, design=~sample+exon+condition:exon,featureID=exoninfo$ExonID,groupID=exoninfo$GeneID,featureRanges=exoninfo, transcripts=transcripts_l)dxd %<>% estimateSizeFactors %>% estimateDispersions %T>% plotDispEstsdxd%<>%testForDEU%>%estimateExonFoldChanges(fitExpToVar=
"condition")#Estimate fold changes
dxr=DEXSeqResults(dxd)plotDEXSeq(dxr,"Wnk1", displayTranscripts=TRUE, splicing=TRUE,legend
=TRUE,cex.axis=1.2,cex=1.3,lwd=2)library(limma)
library(edgeR)mycounts=countData$counts
#Change the rownames of the countdata to exon Ids instead of genes for unique rownames.
rownames(mycounts) = exoninfo$ExonID
dge<-DGEList(counts=mycounts)
#Filtering
isexpr<- rowSums(cpm(dge)>1) >=3
dge<-dge[isexpr,,keep.lib.sizes=FALSE]
#Extract the exon annotations for only transcripts meeting non-specific filter
exoninfo=anno%>% filter(ExonID%in% rownames(dge$counts))
#Convert the exoninfo into GRanges object
exoninfo1<-GRanges(seqnames=exoninfo$Chr,
ranges=IRanges(start=exoninfo$Start, end=exoninfo$End, width=exoninfo$Width),strand=Rle(exoninfo$Strand))
mcols(exoninfo1)$TranscriptIDs<-exoninfo$TranscriptIDs
mcols(exoninfo1)$Ticker<-exoninfo$Ticker
mcols(exoninfo1)$ExonID<-exoninfo$ExonID
mcols(exoninfo1)$n<-exoninfo$n
mcols(exoninfo1)$GeneID<-exoninfo$GeneID
transcripts_l= strsplit(exoninfo1$TranscriptIDs, "\\,")dge<-calcNormFactors(dge)Treat<- factor(sampleTable$condition)
design<- model.matrix(~0+Treat)
colnames(design) <- levels(Treat)v<-voom(dge,design,plot=FALSE)
fit<-lmFit(v,design)
fit<-eBayes(fit)
colnames(fit)
cont.matrix<-makeContrasts(
Mbnl1_KO_WT=Mbnl1_KO-WT,
levels=design)
fit2<-contrasts.fit(fit,cont.matrix)ex<-diffSplice(fit2,geneid=exoninfo$GeneID,exonid=exoninfo$ExonID)
ts<-topSplice(ex,n=Inf,FDR=0.1, test="t", sort.by="logFC")
tg<-topSplice(ex,n=Inf,FDR=0.1, test="simes")plotSplice(ex,geneid="Wnk1", FDR=0.1)
#Volcano plot
EnhancedVolcano(ts,lab=ts$ExonID,selectLab= head((ts$ExonID),2000), xlab= bquote(~Log[2]~'fold change'), x='logFC', y='P.Value', title='Volcano Plot', subtitle='Mbnl1_KO vs WT (Limma_diffSplice)', FCcutoff=2, labSize=4,legendPosition="right", caption= bquote(~Log[2]~"Fold change cutoff, 2; FDR 10%"))mkdir rMATS_analysis
cd bams/
ls -pd "$PWD"/*| grep "WT"| tr '\n'','> Wt.txt
ls -pd "$PWD"/*| grep "Mb"| tr '\n'','> KO.txt
mv *.txt ../rMATS_analysispython rmats-turbo/rmats.py --b1 KO.txt --b2 Wt.txt --gtf annotation.gtf -t paired --readLength 50 --nthread 8 --od rmats_out/ --tmp rmats_tmp --task poslibrary(maser)
mbnl1<-maser("/rmats_out/", c("WT","Mbnl1_KO"), ftype="JCEC")
#Filtering out events by coverage
mbnl1_filt<-filterByCoverage(mbnl1,avg_reads=5)#Top splicing events at 10% FDR
mbnl1_top<-topEvents(mbnl1_filt,fdr=0.1, deltaPSI=0.1)
mbnl1_top
#Check the gene events for a particular gene
mbnl1_wnk1<-geneEvents(mbnl1_filt,geneS="Wnk1", fdr=0.1, deltaPSI=0.1)
maser::display(mbnl1_wnk1,"SE")
plotGenePSI(mbnl1_wnk1,type="SE", show_replicates
=TRUE)
volcano(mbnl1_filt,fdr=0.1, deltaPSI=0.1,type="SE")
+xlab("deltaPSI")+ylab("Log10 Adj. Pvalue")+ggtitle("Volcano Plot of exon skipping events")python ./src/rmats2sashimiplot/rmats2sashimiplot.py --b1 ../bams/WT_Thymus_1.bam,../bams/WT_Thymus_2.bam,../bams/WT_Thymus_3.bam --b2 ../bams/Mbnl1KO_Thymus_1.bam,../bams/Mbnl1KO_Thymus_2.bam,../bams/Mbnl1KO_Thymus_3.bam -t SE -e ../rMATS_analysis/rmats_out/SE.MATS.JC.txt --l1 WT --l2 Mbnl1_KO --exon_s 1 --intron_s 5 -o ../rMATS_analysis/rmats2shasmi_output3. تحليل polyadenylation البديل (APA) باستخدام تسلسل نهاية 3 '
anno<- read.table(file= "flanking60added.pA_annotation.bed",
stringsAsFactors=FALSE, check.names=FALSE, header=FALSE, sep="")
colnames(anno) <- c("chrom", "chromStart", "chromEnd", "name", "score", "strand", "rep", "annotation", "gene_name", "gene_id")
anno<- dplyr::select(anno,name,chrom, chromStart,chromEnd, strand,gene_id,gene_name,rep)
colnames(anno) <- c("GeneID", "Chr", "Start", "End", "Strand", "Ensembl", "Symbol", "repID")countData<- dir("bamfiles", pattern="sorted.bam$", full.names=TRUE) %>%
# Read all bam files as input for featureCounts
featureCounts(annot.ext=anno, isGTFAnnotationFile= FALSE,minMQS=0,useMetaFeatures= TRUE,allowMultiOverlap=TRUE, largestOverlap= TRUE,strandSpecific=1, countMultiMappingReads =TRUE,primaryOnly= TRUE,isPairedEnd= FALSE,nthreads=12)%T>%
save(file="APA_countData.Rdata")load(file= "APA_countData.Rdata")# Skip this step if already loaded
# Non-specific filtering: Remove the pA sites not differentially expressed in the samples
countData<-countData$counts%>%as.data.frame%>% .[rowSums(edgeR::cpm(.)>1) >=2, ]
anno%<>% .[.$GeneID%in% rownames(countData), ]
# Remove genes with only 1 site and NA in geneIDs
dnsites<-anno%>%group_by(Symbol)%>%summarise(nsites=n())%>% filter(nsites>1&!is.na(Symbol))
anno<-anno%>% filter(Symbol%in%dnsites$Symbol)
countData<-countData[rownames(countData) %in%anno$GeneID, ]c("DEXSeq", "GenomicRanges") %>% lapply(library, character.only=TRUE) %>%invisible
sampleTable1<- data.frame(row.names= c("WT_1","WT_2","DKO_1","DKO_2"),
condition= c(rep("WT", 2), rep("DKO", 2)),
libType= rep("single-end", 4))# Prepare the GRanges object for DEXSeqDataSet object construction
PASinfo <- GRanges(seqnames = anno$Chr,
ranges = IRanges(start = anno$Start, end = anno$End),strand = Rle(anno$Strand))
mcols(PASinfo)$PASID<-anno$repID
mcols(PASinfo)$GeneEns<-anno$Ensembl
mcols(PASinfo)$GeneID<-anno$Symbol
# Prepare the new feature IDs, replace the strand information with letters to match the current pA site clusterID
new.featureID <- anno$Strand %>% as.character %>% replace(. %in% "+", "F") %>% replace(. %in% "-", "R") %>% paste0(as.character(anno$repID), .)# Select the read counts of the condition WT and DKO
countData1<- dplyr::select(countData, SRR1553129.sorted.bam, SRR1553130.sorted.bam, SRR1553131.sorted.bam, SRR1553132.sorted.bam)
# Rename the columns of countData using sample names in sampleTable
colnames(countData1) <- rownames(sampleTable1)
dxd1<-DEXSeqDataSet(countData=countData1,
sampleData=sampleTable1,
design=~sample+exon+condition:exon,
featureID=new.featureID,
groupID=anno$Symbol,
featureRanges=PASinfo)dxd1$condition<- factor(dxd1$condition, levels= c("WT", "DKO"))
# The contrast pair will be "DKO - WT"dxd1 %<>% estimateSizeFactors %>% estimateDispersions %T>% plotDispEstsdxd1 %<>% testForDEU %>% estimateExonFoldChanges(fitExpToVar = "condition")
dxr1 <- DEXSeqResults(dxd1)
dxr1
mcols(dxr1)$description
table(dxr1$padj<0.1) # Check the number of differential pA sites (FDR < 0.1)
table(tapply(dxr1$padj<0.1, dxr1$groupID, any)) # Check the number of gene overlapped with differential pA site# Select the top 100 significant differential pA sites ranked by FDR
topdiff.PAS<- dxr1%>%as.data.frame%>%rownames_to_column%>%arrange(padj)%$%groupID[1:100]
# Apply plotDEXSeq for the visualization of differential polyA usage
plotDEXSeq(dxr1,"S100a7a", legend=TRUE, expression=FALSE,splicing=TRUE, cex.axis=1.2, cex=1.3,lwd=2)
# Apply perGeneQValue to check the top genes with differential polyA site usage
dxr1%<>% .[!is.na(.$padj), ]
dgene<- data.frame(perGeneQValue= perGeneQValue (dxr1)) %>%rownames_to_column("groupID")
dePAS_sig1<-dxr1%>% data.frame() %>%
dplyr::select(-matches("dispersion|stat|countData|genomicData"))%>%
inner_join(dgene)%>%arrange(perGeneQValue)%>%distinct()%>%
filter(padj<0.1)
# Apply EnhancedVolcano package to visualise differential polyA site usage
"EnhancedVolcano"%>% lapply(library, character.only=TRUE) %>%invisible
EnhancedVolcano(dePAS_sig1, lab=dePAS_sig1$groupID, x='log2fold_DKO_WT',
y='pvalue',title='Volcano Plot',subtitle='DKO vs WT',
FCcutoff=1,labSize=4, legendPosition="right",
caption= bquote(~Log[2]~"Fold change cutoff, 1; FDR 10%"))contrast.matrix<-makeContrasts(DKO_vs_WT=DKO-
WT,Ctrl_vs_DKO=Ctrl-DKO,
KD_vs_Ctrl=KD-Ctrl,KD_vs_DKO=KD-DKO,levels=design)
fit2<-fit%>%contrasts.fit(contrast.matrix)%>%eBayes
summary(decideTests(fit2))
ex<-diffSplice(fit2,geneid=anno$Symbol,exonid=new.featureID)
topSplice(ex) #Check the top significant results with topSplicesig1<-topSplice(ex,n=Inf,FDR=0.1,coef=1, test="t", sort.by="logFC")
sig1.genes<-topSplice(ex,n=Inf,FDR=0.1,coef=1, test="simes")
plotSplice(ex, coef=1,geneid="S100a7a", FDR = 0.1)
plotSplice(ex,coef=1,geneid="Tpm1", FDR = 0.1)
plotSplice(ex,coef=1,geneid="Smc6", FDR = 0.1)
EnhancedVolcano(sig1, lab=sig1$GeneID,xlab= bquote(~Log[2]~'fold change'),
x='logFC', y='P.Value', title='Volcano Plot', subtitle='DKO vs WT',
FCcutoff=1, labSize=6, legendPosition="right")الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
بعد تشغيل سير العمل خطوة بخطوة أعلاه ، تكون مخرجات تحليل AS و APA والنتائج التمثيلية في شكل جداول ومخططات بيانات ، يتم إنشاؤها على النحو التالي.
مثل:
الناتج الرئيسي لتحليل AS (الجدول التكميلي 1 ل diffSplice; الجدول 2 ل DEXSeq) عبارة عن قائمة بالإكسونات التي تظهر الاستخدام التفاضلي عبر الظروف ، وقائمة بالجينات التي تظهر نشاط الربط الكلي الكبير لواحد أو أكثر من الإكسونات المكونة لها ، مرتبة حسب الدلالة الإحصائية. الجدول التكميلي 1
الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
في هذه الدراسة ، قمنا بتقييم النهج القائمة على exon والقائمة على الأحداث للكشف عن AS و APA في بيانات تسلسل RNA-Seq السائبة و 3 'التسلسل النهائي. تنتج مناهج AS القائمة على exon كلا من قائمة الإكسونات المعبر عنها بشكل تفاضلي وترتيب على مستوى الجينات مرتبة حسب الأهمية الإحصائية لنشاط الربط التفاضلي على مستوى الجينات الإجمالي (الجداول 1-2 ، 4-5). بالنسبة لحزمة diffSplice ، يتم تحديد الاستخدام التفاضلي عن طريق تركيب نماذج خطية مرجحة على مستوى exon لتقدير تغير طية اللوغاريتم التفاضلية ل exon مقابل متوسط تغير ط...
الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
ليس لدى المؤلفين ما يكشفون عنه.
تم دعم هذه الدراسة من قبل زمالة المستقبل لمجلس البحوث الأسترالي (ARC) (FT16010043) ومخطط ANU Futures.
الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
| الاسم | الشركة | رقم فهرسي | التعليقات |
|---|---|---|---|
| غير ذات صلة بالدراسة |
الوصول مقيد. يرجى تسجيل الدخول أو بدء فترة تجريبية لعرض هذا المحتوى.
طلب إذن لإعادة استخدام النص أو الأشكال في مقالة JoVE هذه
طلب إذن