RNA-Seq:差异表达分析案例

白利合子酵母菌在乙酸或铜胁迫下早期反应的转录谱分析

摘要:
醋酸在食品工业和生物技术中是非常重要的微生物抑制化合物,而非传统酵母种白利合子酵母菌对醋酸有显著的耐受性。Zbhaa1是酿酒酵母haa1基因的功能同源物,是一种能调节白利合子酵母菌对醋酸和铜胁迫的适应性反应的双功能转录因子。在2018年5月发表的一篇文章Transcriptional profiling of Zygosaccharomyces bailii early response to acetic acid or copper stress mediated by ZbHaa1中,作者对白利合子酵母菌在亚致死浓度的乙酸(140 mM,pH4.0)或铜(0.08 mM)的早期反应中的基因组转录变化做了相关研究,他们对野生型和胁迫条件下酵母的转录组进行了测序,我们利用他们的实验数据,对这两组表达数据计算了各组的基因表达情况,进行了聚类分析和差异表达基因的鉴定。我们将基因表达数据上传至我们的数据库,并且发现相同的组别在PCA分析中聚在一起,共鉴定了6个差异表达基因。
关键词:
白利合子酵母菌,醋酸胁迫,铜胁迫,差异表达基因

一、介绍

白利合子酵母菌因其对弱酸(乙酸)的高耐受性而被认为是最重要的食品变质酵母。与酿酒酵母相比,白利酵母对这种酸性物质的耐受性高出了3倍。Transcriptional profiling of Zygosaccharomyces bailii early response to acetic acid or copper stress mediated by ZbHaa1一文中,对白利合子酵母菌在亚致死浓度的乙酸(140 mM,pH4.0)或铜(0.08 mM)的早期反应中的基因组转录情况进行了测序,我们利用它们的测序数据,计算了基因表达量,鉴定了差异表达基因以及进行了PCA等分析。
我们利用的分析流程是根据2016年发表在Nature Protocols上的一篇名为Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown的文章,主要用到以下三个软件:
HISAT 利用大量FM索引,以覆盖整个基因组,能够将RNA-Seq的读取与基因组进行快速比对,相较于STAR、Tophat,该软件比对速度快,占用内存少。
StringTie能够应用流神经网络算法和可选的de novo组装进行转录本组装并预计表达水平。与Cufflinks等程序相比,StringTie实现了更完整、更准确的基因重建,并更好地预测了表达水平。
Ballgown是R语言中基因差异表达分析的工具,能利用RNA-Seq实验的数据(StringTie, RSEM, Cufflinks)的结果预测基因、转录本的差异表达。
我们同样利用DESeq2、airway等R包进行了数据分析和处理。

二、方法

1、原始数据下载
(1)二代测序数据

物种:白利合子酵母菌 (Zygosaccharomyces bailii)
对照组:野生型
实验组:Zbhaa 1 delta基因缺失型
测序方法:转录组测序,Illumina 单端测序得到 SRA 文件
样本个数:对照组和实验组各3组,共6个

(2)参考基因组数据
(3)基因组注释文件
2、RNA-seq 分析流程
(1)安装所需软件:SAMtools、HISAT2、stringtie、R包(ballgown、DESeq2、airway)等。
(2)组装比对

1)使用hisat2-build建立索引文件
2)使用生成的索引文件对RNA-Seq进行比对拼接
3)SAM tools 排序及格式转换
4)stringtie 序列初组装

(3)差异表达基因分析

1)计算基因表达量
2)鉴定组间差异表达基因
3)聚类分析
4)PCA分析

三、结果

1、原始数据下载
nohup wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR705/SRR7058083/SRR7058083.sra &

共下载了对照组3个样本(SRR7058078,SRR7058079,SRR7058080)和实验组3个样本(SRR7058081,SRR7058082,SRR7058083)SRA数据(<u>https://www.ncbi.nlm.nih.gov/Traces/study/?acc=SRP142338</u>)。

Picture1.png

wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/442/885/GCA_000442885.1_ZYBA0/GCA_000442885.1_ZYBA0_genomic.fna.gz

下载得到百利合子酵母菌参考基因组(<u>https://www.ncbi.nlm.nih.gov/genome/?term=Zygosaccharomyces+bailii</u>

wget [<u>ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/442/885/GCA_000442885.1_ZYBA0/GCA_000442885.1_ZYBA0_genomic.gff.gz</u>]
(ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/442/885/GCA_000442885.1_ZYBA0/GCA_000442885.1_ZYBA0_genomic.gff.gz)

下载得到基因组注释文件(<u>https://www.ncbi.nlm.nih.gov/genome/?term=Zygosaccharomyces+bailii</u>

2、使用hisat2-build建立索引文件
1)建立基因组索引
hisat2-build -p 4 GCA_000442885.1_ZYBA0_genomic.fna genome/genome
3、使用生成的索引文件对RNA-Seq进行比对拼接
(1)转换SRA文件为fastaq格式
(2)比对
hisat2 -x data/indexes/genome/genome -U SRR7058080.fastq -S SRR7058080.sam
Picture2.png
4、SAM tools 排序及格式转换
samtools sort -@ 8 -o SRR7058080.bam SRR7058080.sam
5、stringtie 序列初组装
stringtie SRR7058083_sorted.bam -p 8 -G ../genes/GCA_000442885.1_ZYBA0_genomic.gtf -l SRR7058083 -o SRR7058083.gtf

stringtie --merge -p 8 -G ../genes/GCA_000442885.1_ZYBA0_genomic.gtf -o stringtie_merged.gtf mergelist.txt
Picture3.png
stringtie-1.3.6.OSX_x86_64/stringtie SRR7058083_sorted.bam -p 8 -G stringtie_merged.gtf -o ballgown/SRR7058083/SRR7058083.gtf -e -B
6、差异表达分析(在R中进行)
library(ballgown)
library(RSkittleBrewer)
library(genefilter)
library(dplyr)
library(devtools)
Picture4.png
Picture5.png
bg_filt = subset(bg,"rowVars(texpr(bg)) >1",genomesubset=TRUE)
#滤掉低丰度的基因,这里选择过滤掉样本间差异少于一个转录本的数据
results_transcripts = stattest(bg_filt,feature="transcript",covariate="group", getFC=TRUE, meas="FPKM")
#用于确定组件有差异的转录本,指定的分析参数是“transcripts”,主变量是“group",getFC可以指定输出结果显示组间表达量的foldchange。
results_transcripts = data.frame(geneNames = ballgown::geneNames(bg_filt), geneIDs =ballgown::geneIDs(bg_filt), results_transcripts) 
#为转录本添加基因名
results_genes = stattest(bg_filt, feature = "gene", covariate = "group", getFC = TRUE, meas = "FPKM")
#用于确定各组间有差异的基因
results_transcripts = arrange(results_transcripts,pval)
results_genes = arrange(results_genes,pval)
#按照p-value值从小到大排序
write.csv(results_transcripts, "transcript_results.csv",row.names=FALSE)
Picture6.png
write.csv(results_genes, "gene_results.csv",row.names=FALSE)
Picture7.png
#将两个结果写到csv文件中
subset(results_transcripts,results_transcripts$qval<0.05)
subset(results_genes,results_genes$qval<0.05)
#选出q值<0.05的转录本和基因,即组间表达有差异的基因
tropical= c('darkorange', 'dodgerblue','hotpink', 'limegreen', 'yellow')
palette(tropical)
fpkm = texpr(bg,meas="FPKM")
#以FPKM为参考值作图,以组别作为区分条件
boxplot(fpkm,col=as.numeric(phenotype_table$group),las=2,ylab='log2(FPKM+1)')
#对所有转录本做箱线图
Picture8.png
ballgown::transcriptNames(bg)[12]
ballgown::geneNames(bg)[12]
plot(fpkm[12,]~phenotype_table$group,border=c(1,2),main=paste(ballgown::geneNames(bg)[12],' : ',ballgown::transcriptNames(bg)[12]),pch=19, xlab="group",ylab='log2(FPKM+1)')
points(fpkm[12,] ~ jitter(as.numeric(phenotype_table$group)),col=as.numeric(phenotype_table$group))
#对单个转录本做箱线图
Picture9.png
plotTranscripts(ballgown::geneIDs(bg)[1729], bg, main=c('Gene MSTRG.1531 in sample SRR7058083'), sample=c('SRR7058083'))
#查看某一基因位置上所有转录本(以ID=1729的基因为例)
Picture10.png
plotMeans('MSTRG.1531', bg_filt,groupvar="group",legend=FALSE)
#以组别为区分,查看基因MSTRG.1531的表达情况
Picture11.png
BiocManager::install("airway")
BiocManager::install("Rsamtools")
BiocManager::install("GenomicFeatures")
BiocManager::install("DESeq2")
BiocManager::install("pheatmap")
library("airway")
pData(bg) = data.frame(id=sampleNames(bg), group=rep(c("wild-type", "Zbhaa1delta deletion"), each=3))
sampleTable <- pData(bg)
filenames <- file.path(paste0(sampleTable$id, "_sorted.bam"))
library("Rsamtools")
bamfiles <- BamFileList(filenames, yieldSize=2000000) 
Picture12.png
library("GenomicFeatures")
gfffile <- file.path("/Users/guoyafei/peppa/data/genes/GCA_000442885.1_ZYBA0_genomic.gff")
(txdb <- makeTxDbFromGFF(gfffile, format="gff", circ_seqs=character()))
Picture13.png
(ebg <- exonsBy(txdb, by="gene"))
library("GenomicAlignments")
library("BiocParallel")
register(SerialParam())
se <- summarizeOverlaps(features=ebg, reads=bamfiles,mode="Union",singleEnd=TRUE,ignore.strand=TRUE,fragments=FALSE )
#基因计数
Picture14.png
(colData(se) <- DataFrame(sampleTable))
#填充样本的具体信息,方便后续分组,寻找差异基因
Picture15.png
library("DESeq2")
#采用 DESeq2 包进行差异表达基因的分析
countdata <- assay(se)
coldata <- colData(se)
(ddsMat <- DESeqDataSetFromMatrix(countData = countdata,colData = coldata,design = ~group))
dds <- DESeqDataSet(se, design = ~ group)
# design 参数为 formula,此处为group一个因素。
Picture16.png
dds <- dds[ rowSums(counts(dds)) > 1, ]
nrow(dds)
rld <- rlog(dds, blind=FALSE)
par( mfrow = c( 1, 2 ) )
plot(log2(counts(dds, normalized=FALSE)[,1:2] + 1),pch=16, cex=0.3)
Picture17.png
(sampleDists <- dist( t( assay(rld) ) ))
Picture18.png
sampleDistMatrix <- as.matrix( sampleDists )
#构建距离矩阵
rownames(sampleDistMatrix) <- rld$group
colnames(sampleDistMatrix) <- NULL
library("RColorBrewer")
colors <- colorRampPalette( rev(brewer.pal(9, "Blues")) )(255)
library("pheatmap")
pheatmap(sampleDistMatrix,clustering_distance_rows=sampleDists,clustering_distance_cols=sampleDists,col=colors)
#差异表达基因聚类分析
Picture19.png
plotPCA(rld, intgroup = group)
#PCA分析
Picture20.png

参考文献
[1] Miguel Antunes, Margarida Palma, Isabel Sá-Correia. Transcriptional profiling of Zygosaccharomyces bailii early response to acetic acid or copper stress mediated by ZbHaa1.[J] Scientific Reports,2018,DOI:10.1038/s41598-018-32266-9
[2] Mortazavi Ali,Williams Brian A,McCue Kenneth,Schaeffer Lorian,Wold Barbara. Mapping and quantifying mammalian transcriptomes by RNA-Seq.[J]. Nature Methods,2008,5(7).
[3] Pertea Mihaela,Kim Daehwan,Pertea Geo M,Leek Jeffrey T,Salzberg Steven L. Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown.[J]. Nature protocols,2016,11(9).
[4] Heng Li,Bob Handsaker,Alec Wysoker,Tim Fennell,Jue Ruan,Nils Homer,Gabor Marth,Goncalo Abecasis,Richard Durbin. The Sequence Alignment/Map format and SAMtools[J]. Bioinformatics,2009,25(16).
[5] Garber Manuel,Grabherr Manfred G,Guttman Mitchell,Trapnell Cole. Computational methods for transcriptome annotation and quantification using RNA-seq.[J]. Nature Methods,2011,8(6).
[6] HISAT2 http://ccb.jhu.edu/software/hisat2/index.shtml
[7] StringTie http://ccb.jhu.edu/software/stringtie/
[8] Bowtie: An ultrafast, memory-efficient short read aligner http://bowtie-bio.sourceforge.net/index.shtml

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容