白利合子酵母菌在乙酸或铜胁迫下早期反应的转录谱分析
摘要:
醋酸在食品工业和生物技术中是非常重要的微生物抑制化合物,而非传统酵母种白利合子酵母菌对醋酸有显著的耐受性。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>)。
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
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
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)
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)
write.csv(results_genes, "gene_results.csv",row.names=FALSE)
#将两个结果写到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)')
#对所有转录本做箱线图
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))
#对单个转录本做箱线图
plotTranscripts(ballgown::geneIDs(bg)[1729], bg, main=c('Gene MSTRG.1531 in sample SRR7058083'), sample=c('SRR7058083'))
#查看某一基因位置上所有转录本(以ID=1729的基因为例)
plotMeans('MSTRG.1531', bg_filt,groupvar="group",legend=FALSE)
#以组别为区分,查看基因MSTRG.1531的表达情况
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)
library("GenomicFeatures")
gfffile <- file.path("/Users/guoyafei/peppa/data/genes/GCA_000442885.1_ZYBA0_genomic.gff")
(txdb <- makeTxDbFromGFF(gfffile, format="gff", circ_seqs=character()))
(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 )
#基因计数
(colData(se) <- DataFrame(sampleTable))
#填充样本的具体信息,方便后续分组,寻找差异基因
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一个因素。
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)
(sampleDists <- dist( t( assay(rld) ) ))
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)
#差异表达基因聚类分析
plotPCA(rld, intgroup = group)
#PCA分析
参考文献
[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