Method Article
שחבור חלופי (AS) ופוליאדנילציה חלופית (APA) מרחיבים את מגוון האיזופורמים של שעתוק ותוצרים. כאן אנו מתארים פרוטוקולים ביואינפורמטיים לניתוח מבחני RNA-seq בתפזורת ו-3' של ריצוף קצה כדי לזהות ולהמחיש AS ו-APA המשתנים בין תנאי ניסוי.
בנוסף לניתוח הטיפוסי של RNA-Seq למדידת ביטוי גנים דיפרנציאלי (DGE) בתנאים ניסיוניים/ביולוגיים, ניתן להשתמש בנתוני RNA-seq גם כדי לחקור מנגנוני ויסות מורכבים אחרים ברמת האקסון. שחבור חלופי ופוליאדנילציה ממלאים תפקיד מכריע במגוון התפקודי של גן על ידי יצירת איזופורמים שונים כדי לווסת את ביטוי הגנים ברמה שלאחר השעתוק, והגבלת הניתוחים לרמת הגן כולה עלולה לפספס את שכבת הוויסות החשובה הזו. כאן, אנו מדגימים ניתוחים מפורטים צעד אחר צעד לזיהוי והדמיה של שימוש באקסון דיפרנציאלי ובאתר פוליאדנילציה בתנאים שונים, תוך שימוש ב- Bioconductor ובחבילות ופונקציות אחרות, כולל DEXSeq, diffSplice מחבילת לימה ו- rMATS.
RNA-seq היה בשימוש נרחב לאורך השנים בדרך כלל להערכת ביטוי גנים דיפרנציאליים וגילוי גנים1. בנוסף, ניתן להשתמש בו גם כדי להעריך שימוש משתנה ברמת אקסון עקב גנים המבטאים איזופורמים שונים, ובכך לתרום להבנה טובה יותר של ויסות גנים ברמה שלאחר השעתוק. רוב הגנים האאוקריוטים מייצרים איזופורמים שונים על ידי שחבור חלופי (AS) כדי להגדיל את המגוון של ביטוי mRNA. ניתן לחלק את אירועי AS לדפוסים שונים: דילוג על אקסונים שלמים (SE) שבהם אקסון ("קלטת") מוסר לחלוטין מהתמליל יחד עם האינטרונים האגפים שלו; בחירת אתר שחבור חלופי (תורם) 5' (A5SS) וחלופה 3' (מקבל) בחירת אתר שחבור (A3SS) כאשר שני אתרי שחבור או יותר נמצאים משני קצותיו של אקסון; שמירה של אינטרונים (RI) כאשר אינטרון נשמר בתוך תעתיק mRNA בוגר והדרה הדדית של שימוש באקסון (MXE) כאשר רק אחד משני האקסונים הזמינים יכול להישמר בכל פעם 2,3. פוליאדנילציה חלופית (APA) ממלאת גם תפקיד חשוב בוויסות ביטוי גנים באמצעות אתרי פולי (A) חלופיים ליצירת איזופורמים מרובים של mRNA מתעתיק יחיד4. רוב אתרי הפוליאדנילציה (pAs) ממוקמים באזור 3' לא מתורגם (3' UTRs), ומייצרים איזופורמים של mRNA עם אורכי UTR מגוונים של 3'. מכיוון שה-UTR 3' הוא הרכזת המרכזית לזיהוי אלמנטים רגולטוריים, אורכי UTR שונים של 3' יכולים להשפיע על לוקליזציה, יציבות ותרגוםmRNA 5. ישנם סוגים של מבחני רצף קצה 3 'הממוטבים לזיהוי APA השונים בפרטי הפרוטוקול6. הצינור המתואר כאן מיועד ל- PolyA-seq, אך ניתן להתאים אותו לפרוטוקולים אחרים כמתואר.
במחקר זה אנו מציגים צינור של שיטות ניתוח אקסון דיפרנציאליות7,8 (איור 1), שניתן לחלק לשתי קטגוריות רחבות: מבוססות אקסון (DEXSeq9, diffSplice 10) ומבוססות אירועים (ניתוח רב-משתני משוכפל של שחבור תעתיק (rMATS)11). השיטות המבוססות על אקסון משוות את שינוי הקיפול על פני תנאים של אקסונים בודדים, כנגד מידה של שינוי קיפול גנים כולל כדי לקרוא לשימוש באקסון המתבטא באופן דיפרנציאלי, ומתוך כך מחשבים מדידה ברמת הגן של פעילות AS. שיטות מבוססות אירועים משתמשות בקריאות צומת exon-intron-spanning כדי לזהות ולסווג אירועי שחבור ספציפיים כגון דילוג אקסון או שמירה של אינטרונים, ולהבחין בין סוגי AS אלה בפלט3. לפיכך, שיטות אלה מספקות תצוגות משלימות לניתוח מלא של AS12,13. בחרנו ב- DEXSeq (בהתבסס על חבילת DESeq214 DGE) ו- diffSplice (בהתבסס על חבילת Limma10 DGE) למחקר מכיוון שהם בין החבילות הנפוצות ביותר לניתוח שחבור דיפרנציאלי. rMATS נבחרה כשיטה פופולרית לניתוח מבוסס אירועים. שיטה פופולרית נוספת המבוססת על אירועים היא MISO (תערובת של איזופורמים)1. עבור APA אנו מתאימים את הגישה מבוססת exon.
איור 1. צינור ניתוח. תרשים זרימה של השלבים המשמשים בניתוח. השלבים כוללים: קבלת הנתונים, ביצוע בדיקות איכות ויישור קריאה ולאחר מכן ספירת קריאות באמצעות ביאורים עבור exons, introns ואתרי pA ידועים, סינון כדי להסיר ספירות נמוכות ונורמליזציה. נתוני PolyA-seq נותחו עבור אתרי pA חלופיים באמצעות שיטות diffSplice/DEXSeq, RNA-Seq בתפזורת נותח עבור שחבור חלופי ברמת האקסון בשיטות diffSplice/DEXseq, ואירועי AS נותחו עם rMATS. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
נתוני ה-RNA-seq ששימשו בסקר זה נרכשו מביטוי גנים אומניבוס (GEO) (GSE138691)15. השתמשנו בנתוני RNA-seq של עכברים ממחקר זה עם שתי קבוצות מצב: נוקאאוט מסוג פראי (WT) ונוקאאוט דמוי שריר מסוג 1 (Mbnl1 KO) עם שלושה שכפולים כל אחד. כדי להדגים ניתוח שימוש באתר פוליאדנילציה דיפרנציאלית, השגנו נתוני פוליA-seq של עוברי עכברים (MEFs) (GEO Accession GSE60487)16. לנתונים יש ארבע קבוצות מצבים: סוג פראי (WT), דמוי שרירים מסוג 1/סוג 2 נוקאאוט כפול (Mbnl1/2 DKO), Mbnl 1/2 DKO עם נוקאאוט Mbnl3 (KD) ו- Mbnl1/2 DKO עם בקרת Mbnl3 (Ctrl). כל קבוצת תנאים מורכבת משני עותקים משוכפלים.
הצטרפות גיאוגרפית | מספר הפעלה של SRA | שם לדוגמה | תנאי | לשכפל | טישו | רצף | אורך קריאה | |
רנ"א-סק | GSM4116218 | SRR10261601 | Mbnl1KO_Thymus_1 | נוקאאוט Mbnl1 | נציג 1 | התימוס | סוף מזווג | 100 כ"ס |
GSM4116219 | SRR10261602 | Mbnl1KO_Thymus_2 | נוקאאוט Mbnl1 | חזרה 2 | התימוס | סוף מזווג | 100 כ"ס | |
GSM4116220 | SRR10261603 | Mbnl1KO_Thymus_3 | נוקאאוט Mbnl1 | חזרה 3 | התימוס | סוף מזווג | 100 כ"ס | |
GSM4116221 | SRR10261604 | WT_Thymus_1 | סוג פראי | נציג 1 | התימוס | סוף מזווג | 100 כ"ס | |
GSM4116222 | SRR10261605 | WT_Thymus_2 | סוג פראי | חזרה 2 | התימוס | סוף מזווג | 100 כ"ס | |
GSM4116223 | SRR10261606 | WT_Thymus_3 | סוג פראי | חזרה 3 | התימוס | סוף מזווג | 100 כ"ס | |
3P-Seq | GSM1480973 | SRR1553129 | WT_1 | סוג פראי (WT) | נציג 1 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp |
GSM1480974 | SRR1553130 | WT_2 | סוג פראי (WT) | חזרה 2 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp | |
GSM1480975 | SRR1553131 | DKO_1 | Mbnl 1/2 נוקאאוט כפול (DKO) | נציג 1 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp | |
GSM1480976 | SRR1553132 | DKO_2 | Mbnl 1/2 נוקאאוט כפול (DKO) | חזרה 2 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp | |
GSM1480977 | SRR1553133 | DKOsiRNA_1 | Mbnl 1/2 נוקאאוט כפול עם Mbnl 3 siRNA (KD) | נציג 1 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp | |
GSM1480978 | SRR1553134 | DKOsiRNA_2 | Mbnl 1/2 נוקאאוט כפול עם Mbnl 3 siRNA (KD) | חזרה 2 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 36 bp | |
GSM1480979 | SRR1553135 | DKONTsiRNA_1 | Mbnl 1/2 נוקאאוט כפול עם siRNA ללא מיקוד (Ctrl) | נציג 1 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp | |
GSM1480980 | SRR1553136 | DKONTsiRNA_2 | Mbnl 1/2 נוקאאוט כפול עם siRNA ללא מיקוד (Ctrl) | חזרה 2 | פיברובלסטים עובריים לעכבר (MEFs) | קצה יחיד | 40 bp |
טבלה 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
Done
Rscript prepare_mm_exon_annotation.R annotation.gtf
packages<- 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>% plotDispEsts
dxd%<>%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_analysis
python 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 pos
library(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_output
3. ניתוח פוליאדנילציה חלופית (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>% plotDispEsts
dxd1 %<>% 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 topSplice
sig1<-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, לשונית 2 מציגה אקסונים משמעותיים, עם עמודות המציגות FC דיפרנציאלי של אקסון לעומת מנוחה, ערך p לא מותאם לכל אקסון וערך p מותאם (תיקון בנימיני-הוקברג). סף על ערכי ה- p המותאמים ייתן קבוצה של אקסונים עם FDR מוגדר. טבלה משלימה 1, לשונית 3 מציגה רשימה מדורגת של גנים המציגים משמעות של פעילות שחבור כוללת, עם עמודה המציגה ערך p מותאם ברמת הגן המחושב באמצעות שיטת סימס. נתונים דומים מוצגים בטבלה 2 עבור DEXSeq. איור משלים 1 ואיור משלים 2 מראים דפוס שחבור דיפרנציאלי בגנים Mbnl1, Tcf7 ו-Lef1 אשר אומתו בניסוי במאמר שפורסם עם הנתונים15. החוקרים הראו אימות ניסיוני של חמישה גנים - Mbnl1, Mbnl2, Lef1, Tcf7 ו- Ncor2. הגישה שלנו זיהתה פטנים של שחבור דיפרנציאלי בכל הגנים האלה. כאן אנו מציגים את רמות FDR עבור כל גן באמצעות DEXSeq, diffSplice ו- rMATS בהתאמה כפי שמתקבל בטבלאות משלימות 1-3: Mbnl1 (0, 6.6E-61 ,0), Mbnl2 (0,0.18,0), Lef1 (1.4E-10, 1.3E-04, 0), Tcf7 (0, 1.1E-6, 0) ו- Ncor2 (9.2E-11, 1.6E-06, 0).
איור 2 מציג השוואה בין יציאות המתקבלות משלושה כלים שונים וממחיש דפוסי שחבור חלופיים בגן Wnk1 . חלקות הר הגעש מוצגות באיור 2A (diffSplice) ובאיור 2B (DEXSeq). שלושה גנים נוספים בעלי דירוג גבוה מוצגים באיור משלים 1 (diffSplice) ובאיור משלים 2 (DEXSeq). ציר ה-y מראה מובהקות סטטיסטית (-log10 P-values) וציר ה-x מראה את גודל האפקט (שינוי קיפול). גנים הממוקמים ברביע השמאלי או הימני העליון מצביעים על FC משמעותי וראיות סטטיסטיות חזקות להבדלים אמיתיים.
איור 2. השוואה של תוצאות שחבור חלופיות המתקבלות מ- diffSplice, DEXSeq ו- rMATS. |
(A) חלקת הר געש (משמאל) של RNA-Seq מאנליזת Limma diffSplice: ציר ה-x מראה שינוי בקיפול אקסון יומן; ציר ה-y מציג -log10-p-value . כל נקודה מתאימה לאקסון. קו מקווקו אופקי בערך p = 1E-5; קווים מקווקווים אנכיים בשינוי פי שניים (FC). אקסונים אדומים מראים FC משמעותי ומובהקות סטטיסטית. עלילת שחבור דיפרנציאלית (מימין): תבניות שחבור מוצגות עבור גן לדוגמה Wnk1 שבו ציר ה-x מציג מזהה אקסון לכל תעתיק; ציר ה-y מציג את שינוי קיפול יומן הרישום היחסי של אקסון (ההפרש בין logFC של האקסון לבין ה-logFC הכולל עבור כל האקסונים האחרים). אקסונים המודגשים באדום מראים ביטוי דיפרנציאלי מובהק סטטיסטית (FDR < 0.1).
(B) תרשים הר געש (משמאל) ושימוש באקסון דיפרנציאלי (מימין) של RNA-Seq המתקבל מניתוח DEXSeq. הגן Wnk1 מראה שימוש דיפרנציאלי משמעותי באקסונים בין WT ל-Mbnl1 המודגשים בוורוד, המתאימים לאותם אקסונים דיפרנציאליים ב-(A).
(C) עלילת הר געש (משמאל) ומגרש סשימי (מימין) עבור Wnk1 שהתקבלו מניתוח rMATS. עלילת הר געש המתארת אירוע משמעותי של דילוג (קלטת) אקסון (SE) בסוג פראי בהשוואה לנוקאאוט ב-10% FDR עם שינוי באחוזים שחבורים בערכים (PSI או ΔΨ) > 0.1. ציר ה- x מציג שינוי בערכי PSI בין תנאים, וציר ה- y מציג ערך P של יומן. עלילת סשימי מראה אירוע אקסון מדלג בגן Wnk1, המתאים לאקסון דיפרנציאלי משמעותי ב-(A) ו-(B). כל שורה מייצגת דגימת RNA-Seq: שלושה שכפולים של סוג פראי ונוק-אאוט Mbnl1. הגובה מראה כיסוי קריאה ב- RPKM והקשתות המחברות מתארות קריאות צומת על פני אקסונים. איזופורמים חלופיים של מודל גנים מבואר מוצגים בתחתית העלילה. הפאנל התחתון של C ממחיש קריאות צומת המשמשות לחישוב סטטיסטיקת PSI.
(D) דיאגרמת Venn המשווה את מספר האקסונים הדיפרנציאליים המשמעותיים המתקבלים בשיטות השונות. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
תרשים 2 A (לוח ימני) מציג תצוגה דיאגרמתית של הבדלי אקסון של אחד הגנים המדורגים ראשונים, ומציג logFC על ציר y ומספר אקסון על ציר x. דוגמה זו מציגה אקסון קסטה המשתנה בין התנאים לגן Wnk1. עלילת השימוש באקסון דיפרנציאלי מ- DEXSeq מראה עדויות לשחבור דיפרנציאלי בחמישה אתרי אקסון ליד Wnk1.6.45. האקסונים המודגשים בוורוד צפויים להיות מתפצלים בדגימות Mbnl1 KO בהשוואה ל- WT. אקסונים אלה משלימים את התוצאות המתקבלות על ידי diffSplice אשר מראה דפוס דומה במיקום הגנומי הספציפי. דוגמאות נוספות מוצגות באיור משלים 1 ובאיור משלים 2. תצוגה מפורטת יותר כדי לאשר תוצאות מעניינות יכולה להינתן על ידי השוואת מסלולי כיסוי (נדנדה) ביחידות RPM (קריאות למיליון) בדפדפני הגנום של UCSC (אוניברסיטת סנטה קרוז) או IGV (מציג גנומיקה אינטגרטיבי) (לא מוצג), יחד עם מתאם חזותי עם מסלולים אחרים של עניין, כגון מודלים ידועים של גנים, שימור ומבחנים אחרים ברחבי הגנום.
טבלת פלט rMATS מפרטת אירועי שחבור חלופיים משמעותיים המסווגים לפי סוג (טבלה משלימה 3). איור 2C מראה חלקת הר געש של גנים שהם שחבורים חלופיים, כאשר גודל ההשפעה נמדד על ידי הסטטיסטיקה הדיפרנציאלית של "אחוז שחבור פנימה" (PSI או ΔΨ) של11.
PSI מתייחס לאחוז הקריאות העקביות עם הכללת אקסון קלטת (כלומר, קריאות מיפוי לאקסון הקלטת עצמה או קריאות צומת החופפות את האקסון) בהשוואה לקריאות התואמות את אי הכללת האקסון, כלומר קריאות צומת על פני אקסונים סמוכים במעלה הזרם ובמורד הזרם (הפאנל התחתון של איור 2C). הפאנל הימני של איור 2C מראה חלקת סשימי של גן Wnk1 עם אירוע שחבור דיפרנציאלי על מסלולי כיסוי של הגן, עם אקסון מדלג ב-Mbnl1 KO. קשתות המצטרפות לאקסונים מציגות את מספר קריאות הצמתים (קריאות חוצות אינטרון שחבור). כרטיסיות שונות של טבלה משלימה 3 מציגות קריאות משמעותיות של כל סוג של אירוע המשתרע על פני צמתים עם גבולות אקסון (ספירות צמתים וספירות אקסון (JCEC)). איור 2D משווה את האקסונים השחבורים הדיפרנציאליים המשמעותיים שזוהו על-ידי שלושת הכלים.
איור 3. אירועי שחבור חלופיים שנרכשו על ידי ניתוח rMATS. א) סוגי אירועי AS. נתון זה מותאם מתיעוד rMATS11 המסביר את אירוע השחבור עם אקסונים מכוננים ולחילופין שחבורים. מסומן עם המספר של כל אירוע ב- FDR 10%. ב) עלילת סשימי של הגן Add3 המציגה אקסון מדלג (SE). ג) חלקת סשימי של גן Baz2b המציגה אתר שחבור חלופי 5' (A5SS). D) חלקת סשימי של הגן Lsm14b המציגה אתר שחבור חלופי 3' (A3SS). E) עלילת סשימי של גן Mta1 המציגה אקסונים בלעדיים הדדית (MXE). ו) עלילת סשימי של גן Arpp21 המציגה אינטרון שמור (RI). שורות אדומות מייצגות שלושה שכפולים של שורות מסוג פראי ושורות כתומות מייצגות שכפולים של Mbnl1 נוק-אאוט. ציר ה-x מתאים לקואורדינטות גנומיות ולמידע על גדילים, ציר y מראה כיסוי ב-RPKM. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
איור 3 ממחיש סוגים של אירועי שחבור SE, A5SS, A3SS, MXE ו-RI בעזרת חלקות סשימי של הגנים המשמעותיים ביותר של אותם אירועים. בהשוואה בין שלושת המשכפלים של WT ו- Mbnl1_KO, זוהו בסך הכל 1272 אירועי SE, 130 A5SS, 116 A3SS, 215 MXE ו- 313 אירועי RI ב- FDR 10%. עלילת סשימי ממחישה את סוג האירוע באמצעות גנים עליונים כדוגמה.
APA:
הפלט מניתוח APA דומה לניתוח AS ברמת אקסון. טבלה של גנים מובילים המדורגים לפי פעילות APA דיפרנציאלית ב- 3'UTR מסופקת (טבלה משלימה 4 וטבלה משלימה 5). איור 4A מראה את חלקות הר הגעש של גנים על-ידי פעילות APA דיפרנציאלית ב-3'UTRs שנוצרו באמצעות diffSplice ו-DEXSeq בנפרד. איור 4B מציג את תרשים Venn המשווה את תוצאות השימוש באתר pA דיפרנציאלי משמעותי שנרכשו מצינורות שונים. איורים 4C ו-4D מראים את הייצוג הדיאגרמתי של שימוש באתר pA דיפרנציאלי ב-3'UTR של הגן Fosl2 (איור 4C) ו-Papola (איור 4D) שנוצר באמצעות diffSplice ו-DEXSeq, אשר מאומתים באופן ניסיוני כדי להראות תזוזה דיסטלית פרוקסימלית לפרוקסימלית משמעותית (Papola) של שימוש באתר pA ב-DKO, בהתאמה. דוגמאות נוספות מוצגות באיור משלים 3 ובאיור משלים 4.
תרשים 4. חלקות פוליאדנילציה חלופיות על ידי diffSplice ו- DEXSeq. A) חלקות הר געש של נתוני PolyA-seq שנוצרו באמצעות diffSplice ו- DEXSeq. ציר X מציג יומן pA שינוי קיפול אתר; ציר y מציג -log10-ערך p. כל נקודה מתאימה לאתר pA. קו מקווקו אופקי בערך p = 1E-5; קווים מקווקווים אנכיים ב- FC פי 2. אקסונים אדומים מראים FC משמעותי ומובהקות סטטיסטית. ב) עלילת Venn המשווה את תוצאות השימוש באתר pA דיפרנציאלי משמעותי שנרכשו מצינורות שונים. ג-ד) עלילות APA דיפרנציאליות שנוצרו באמצעות diffSplice ו- DEXSeq המציגות את אתרי ה- pA הפרוקסימליים, הפנימיים והדיסטליים עבור הגן Fosl2 ו - Papola . דמויות נוצרות על-ידי אותה פונקציה כמו איור 2 (B) אך עם אתרי pA שמחליפים אקסונים. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
איור 5 הוא עלילת אבחון המאשרת את התפלגות הקריאה הצפויה סביב אתרי ביקוע pA מבוארים עבור בדיקת PolyA-seq שבה נעשה שימוש. הוא מראה את הכיסוי הממוצע באזורי אגף המעוגנים באתרי ביקוע pA ידועים ברמה הרחבה של הגנום. במקרה זה, הערימה הצפויה של קריאות במעלה הזרם של האתרים הוא דמיה. התפלגויות הקריאה המעוגנות באתרי pA עבור כל דגימות PolyA-seq מוצגות באיור משלים 5.
איור 5. מגרש כיסוי ממוצע סביב אתרי מחשוף pA. אתר המחשוף עבור נתוני PolyA-seq מוצג על ידי קו מקווקו אנכי. ציר X מראה את מיקום הבסיס ביחס לאתרי ביקוע pA, עד 100 נוקלאוטידים במעלה הזרם ובמורד הזרם; ציר y מציג את כיסוי הקריאה הממוצע מעל כל אתרי המחשוף של pA, מנורמל לפי גודל הספרייה ב- CPM. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
ניתן להשוות ולאמת את תוצאות ה- APA הדיפרנציאליות של ניגודים שונים שנוצרו על ידי אותו צינור על ידי הדמיה של כיסוי הקריאה של אתרי pA דיפרנציאליים מייצגים בדפדפן הגנום. איור 6A הוא מתווה Venn המשווה את השימוש באתר pA דיפרנציאלי משמעותי של ניגודים שונים שנרכשו מ-diffSplice. איור 6B-D הם תצלומי IGV של כיסוי הקריאה באתרי pA עבור גנים שונים, אשר מראים את הדפוסים התואמים לאלה שהתגלו בניתוח APA באמצעות diffSplice. איור 6B מאמת את התזוזה הפרוקסימלית עד הדיסטלית המשמעותית של השימוש באתר pA עבור הגן Paip2, אשר מזוהה באופן ייחודי בניגודיות DKO לעומת WT, אך לא בשני הניגודים האחרים KD לעומת WT, ו- Ctr לעומת WT. איור 6C מאמת את התזוזה הדיסטלית המשמעותית עד הפרוקסימלית של השימוש באתר pA עבור הגן Ccl2 שזוהה באופן ייחודי בניגוד KD לעומת WT, ואילו איור 6D מאמת את השימוש המשמעותי ב-pA דיפרנציאלי של כל הניגודים עבור הגן Cacna2d1.
תרשים 6. השוואת ניגודיות ואימות של תוצאות diffSplice. א) דיאגרמת Venn המשווה תוצאות שימוש דיפרנציאליות משמעותיות באתר pA של ניגודים שונים שנרכשו מ- diffSplice. ב-ד) תמונת מצב של IGV הממחישה את הכיסוי של הגנים Paip2, Ccl2 ו- Cacna2d1 בתנאים שונים. כל רצועה מייצגת את כיסוי הקריאה במצב מסוים. אנא לחץ כאן כדי להציג גרסה גדולה יותר של נתון זה.
איור משלים 1. ניתוח RNA-Seq של שחבור דיפרנציאלי עם Limma diffSplice. (A) תרשים הר געש של RNA-Seq מניתוח Limma diffSplice: ציר ה-x מראה שינוי בקיפול אקסון יומן; ציר ה-y מציג -log10-p-value . כל נקודה מתאימה לאקסון. קו מקווקו אופקי בערך p = 1E-5; קווים מקווקווים אנכיים בשינוי כפול (FC). אקסונים אדומים מראים FC משמעותי ומובהקות סטטיסטית. (ב-ד) חלקות שחבור דיפרנציאליות: תבניות שחבור מוצגות למשל בגנים Mbnl1, Tcf7 ו- Lef1, בהתאמה, כאשר ציר ה-x מראה מזהה אקסון לכל תעתיק; ציר ה-y מציג את שינוי קיפול יומן הרישום היחסי של אקסון (ההפרש בין logFC של האקסון לבין ה-logFC הכולל עבור כל האקסונים האחרים). אקסונים המודגשים באדום מראים ביטוי דיפרנציאלי מובהק סטטיסטית (FDR < 0.1). אנא לחץ כאן כדי להוריד קובץ זה.
איור משלים 2. ניתוח RNA-Seq של שימוש באקסון דיפרנציאלי עם DEXSeq. (א) חלקת הר געש. (ב-ד) שימוש באקסון דיפרנציאלי של RNA-Seq המתקבל מניתוח DEXSeq. גנים Mbnl1, Tcf7 ו- Lef1, בהתאמה, מראים שימוש דיפרנציאלי משמעותי באקסונים בין WT ל- Mbnl1 נוק-אאוט מודגש בוורוד, התואמים את אותם אקסונים דיפרנציאליים באיור משלים 1. אנא לחץ כאן כדי להוריד קובץ זה.
איור משלים 3. חלקות פוליאדנילציה חלופיות על ידי diffSplice. A) חלקות הר געש של נתוני PolyA-seq שנוצרו באמצעות diffSplice בשלושה זוגות ניגודיות שהתקבלו מנתוני PolyA-seq של העכבר, כולל נוקאאוט כפול (DKO) לעומת סוג פראי (WT), נוק-דאון (KD) לעומת WT, ובקרה (Ctrl) לעומת WT. ציר X מראה שינוי בקיפול אתר pA יומן; ציר y מציג -log10-ערך p. כל נקודה מתאימה לאתר pA. קו מקווקו אופקי בערך p = 1E-5; קווים מקווקווים אנכיים ב- FC פי 2. אתרי pA אדומים מראים FC משמעותי ומובהקות סטטיסטית. B) חלקות APA דיפרנציאליות שנוצרו באמצעות diffSplice המציגות את אתרי ה- pA הפרוקסימליים, הפנימיים והדיסטליים עבור הגנים המדורגים ביותר S100a7a, Tpm1 ו- Smc6. אנא לחץ כאן כדי להוריד קובץ זה.
איור משלים 4. ניתוח שימוש דיפרנציאלי ב- pA על ידי צינור DEXSeq. A) חלקות הר געש של נתוני PolyA-seq שנוצרו באמצעות DEXSeq בשלושה זוגות המתקבלים מנתוני PolyA-seq של העכבר, כולל נוקאאוט כפול (DKO) לעומת סוג פראי (WT), נוק-דאון (KD) לעומת WT, ובקרה (Ctrl) לעומת WT. ציר X מראה שינוי בקיפול אתר pA יומן; ציר y מציג -log10-ערך p. כל נקודה מתאימה לאתר pA. קו מקווקו אופקי בערך p = 1E-5; קווים מקווקווים אנכיים ב- FC פי 2. אתרי pA אדומים מראים FC משמעותי ומובהקות סטטיסטית. ב) חלקות APA דיפרנציאליות שנוצרו באמצעות DEXSeq המציגות את אתרי ה- pA הפרוקסימליים, הפנימיים והדיסטליים עבור הגנים המדורגים ביותר S100a7a, Tpm1 ו- Smc6. אנא לחץ כאן כדי להוריד קובץ זה.
איור משלים 5. מגרש כיסוי ממוצע ומפות חום סביב אתרי ביקוע pA. הכיסוי מוצג עבור ארבעה מצבים, כאשר גנים על גדילים קדימה ואחורה מוצגים בנפרד. ציר X מראה את מיקום הבסיס ביחס לאתרי ביקוע pA, עד 100 נוקלאוטידים במעלה הזרם ובמורד הזרם; ציר y מתייחס לכיסוי הממוצע במיקומי בסיס יחסיים מקבילים בכל אתרי המחשוף של pA. מפות חום מספקות תצוגה חלופית, כאשר כל אתר ביקוע pA מוצג כשורה נפרדת על ציר ה-x, מסודר לפי כיסוי. אינטנסיביות מראה סיקור קריאה (ראה מקרא). אנא לחץ כאן כדי להוריד קובץ זה.
טבלה משלימה 1. פלט diffSplice של ניתוח AS. הכרטיסייה First מגדירה את שמות העמודות עבור הפלטים המקוריים המוצגים בכרטיסיות השנייה (רמת exon) והשלישית (ברמת הגן). אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 2. פלט DEXSeq של ניתוח AS. הכרטיסייה First מגדירה את שמות העמודות עבור הפלט המקורי המוצג בכרטיסיות השנייה (רמת exon) והשלישית (ברמת הגן). אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 3. פלט rMATS של ניתוח AS. הכרטיסייה הראשונה מגדירה את שמות העמודות עבור קובץ הסיכום (לשונית 2) ואת קבצי JCEC עבור כל אירוע (כרטיסיה 3-7). אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 4. פלט diffSplice של ניתוח APA. הכרטיסייה First מגדירה את שמות העמודות עבור הפלט המקורי המוצג בכרטיסיות השנייה (ברמת אתר pA) והשלישית (ברמת הגן). אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 5. פלט DEXSeq של ניתוח APA. הכרטיסייה First מגדירה את שמות העמודות עבור הפלט המקורי המוצג בכרטיסיות השנייה (ברמת אתר pA) והשלישית (ברמת הגן). אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 6. סיכום של מספר האקסונים שהשתנו באופן משמעותי עבור אתרי AS ו- pA עבור APA. אנא לחץ כאן כדי להוריד טבלה זו.
טבלה משלימה 7. סיכום של כלים וחבילות המשמשים בניתוח AS/APA. אנא לחץ כאן כדי להוריד טבלה זו.
במחקר זה, הערכנו גישות מבוססות אקסון ומבוססות אירועים לזיהוי AS ו-APA בנתוני RNA-Seq בתפזורת ובנתוני ריצוף קצה של 3'. גישות ה-AS המבוססות על אקסון מייצרות הן רשימה של אקסונים המבוטאים באופן דיפרנציאלי והן דירוג ברמת הגן המסודר לפי המובהקות הסטטיסטית של פעילות השחבור הדיפרנציאלית הכוללת ברמת הגן (טבלאות 1-2, 4-5). עבור חבילת diffSplice, השימוש הדיפרנציאלי נקבע על ידי התאמת מודלים ליניאריים משוקללים ברמת אקסון כדי להעריך את שינוי קיפול היומן הדיפרנציאלי של אקסון כנגד שינוי קיפול היומן הממוצע של האקסונים האחרים בתוך אותו גן (הנקרא per exon FC). המובהקות הסטטיסטית ברמת הגן מחושבת על ידי שילוב מבחני מובהקות בודדים ברמת אקסון למבחן מבחינת גנים בשיטת סימס10. דירוג זה על ידי פעילות שחבור דיפרנציאלית ברמת הגן יכול לשמש לאחר מכן לביצוע ניתוח העשרת קבוצת גנים (GSEA) של מסלולי מפתח המעורבים10. DEXSeq משתמש באסטרטגיה דומה, על ידי התאמת מודל ליניארי כללי למדידת שימוש באקסון דיפרנציאלי, אם כי שונה בשלבים מסוימים כגון סינון, נורמליזציה והערכת פיזור. כאשר השווינו את 500 האקסונים המדורגים הראשונים המציגים פעילות AS ו-APA באמצעות DEXSeq ו-DiffSplice, מצאנו חפיפה של 310 אקסונים ו-300 אתרי pA, בהתאמה, המדגימה את הקונקורדנציה של שתי הגישות מבוססות האקסון, שהודגמה גם במחקר קודם 29. מומלץ להשתמש בשילוב של גישה מבוססת אקסון (DEXSeq או diffSplice) וגישה מבוססת אירועים לזיהוי וסיווג מקיפים של AS. עבור APA, משתמשים יכולים לבחור ב- DEXSeq או ב- diffSplice: שתי השיטות הוכחו כבעלות ביצועים טובים במגוון רחב של ניסויי תעתיק29.
בהכנת ספריית RNA-seq לניתוח AS, חשוב להשתמש בפרוטוקול RNA-seq בתפזורת ספציפית לגדיל 8, שכן חלק גדול מהגנים בגנומים של בעלי חוליות חופפים על גדילים שונים, ופרוטוקול שאינו ספציפי לגדילים אינו מסוגל להבחין בין אזורים חופפים אלה, מה שמבלבל את זיהוי האקסון הסופי. שיקול נוסף הוא עומק הקריאה, כאשר ניתוחי שחבור דורשים ריצוף עמוק יותר מאשר DGE, למשל 30-60 מיליון קריאות לדגימה, לעומת 5-25 מיליון קריאות לכל דגימה עבור DGE (https://sapac.support.illumina.com/bulletins/2017/04/considerations-for-rna-seq-read-length-and-coverage-.html). כל הכלים המודגמים בפרוטוקול תומכים הן בנתוני רצף חד-צדדיים והן בנתוני רצף זוגיים. אם משתמשים רק בביאורים ידועים של גנים כדי לזהות קריאות צומת, ניתן להשתמש בקריאות קצרות יותר חד-צדדיות (≥ 50 bp), אם כי זיהוי דה נובו של צמתי שחבור חדשים נהנה מקישור קצה וארוך יותר (≥ 100bp) קורא30,31. הבחירה בפרוטוקול מיצוי RNA - בחירת polyA או דלדול rRNA - תלויה באיכות הרנ"א ובשאלת הניסוי - ראה31 לדיון. בהתאם לפרטי בניית הספרייה, יידרשו שינויים בסקריפטים לדוגמה שניתנו כאן עבור הפרמטרים של יישור קריאה, ספירת תכונות ו- rMATS. בחישוב ספירות הקריאה הראשוניות ברמת אקסון באמצעות featureCounts, או שיטות דומות, יש להקפיד להגדיר את אפשרויות הפונקציה בצורה נכונה עבור ספירות וגדילות: ב- featureCounts, אנו מגדירים את הארגומנט "strandSpecific" כראוי עבור פרוטוקול RNA-seq ספציפי לגדיל המשמש; ועבור כימות ברמת האקסון צפוי שקריאה תמפה מעל אקסונים סמוכים, ולכן הגדרנו את הפרמטר allowMultiOverlap ל- TRUE. עבור APA, ישנם פרוטוקולי ריצוף קצהשונים של 3' 6 אשר משתנים במיקום המדויק של פסגות ביחס לאתר pA. עבור הנתונים לדוגמה שלנו אנו קובעים שהשיא הוא 60 bp במעלה הזרם של אתר ה-pA כפי שמוצג באיור 5, וניתוח זה יצטרך להיות מותאם לפרוטוקולי ריצוף קצה אחרים של 3'.
בפרוטוקול זה אנו מגבילים את ההיקף לדיון בניתוחים דיפרנציאליים ברמה של אקסונים בודדים, ואירועי שחבור המורכבים מצירופים סמוכים של אקסון-אינטרון. איננו דנים בסוג האנליזות המבוססות על שחזור איזופורם דה נובו כגון חפתים, Cuffdiff32, RSEM33, Kallisto34 שמטרתן לזהות ולכמת את הביטוי המוחלט והיחסי של איזופורמים חלופיים שלמים. שיטות האקסון והאירועים רגישות יותר לאיתור אירועי שחבור בודדים30 ובמקרים רבים מספקות את כל המידע הדרוש לניתוח נוסף, ללא צורך בכימות ברמת האיזופורם.
הגרסה העדכנית ביותר של קבצי המקור בפרוטוקול זה זמינה בכתובת https://github.com/jiayuwen/AS_APA_JoVE
למחברים אין מה לחשוף.
מחקר זה נתמך על ידי מלגת העתיד של מועצת המחקר האוסטרלית (ARC) (FT16010043) ותוכנית החוזים העתידיים של ANU.
Name | Company | Catalog Number | Comments |
Not relevent for computational study |
Request permission to reuse the text or figures of this JoVE article
Request PermissionThis article has been published
Video Coming Soon
Copyright © 2025 MyJoVE Corporation. All rights reserved