首页 > 代码库 > edgeR
edgeR
edgeR:Empirical Analysis of Digital Gene Expression Data in R
一个R包,用于RNA-seq或相关技术分析中,基因差异性表达的read count的分析。(read count 已通过HTseq-count等工具得到)。
read counts的来源可以htseq-count等计算原始count的结果,不可以是cufflinks等计算normalization count的结果。
counts数据格式:至少为两列,一列为基因类表,一列为raw counts。如果数据存储在不同的文件中,则应该将其合并。可以用readDGE函数。
edgeR是以DEGList的格式储存数据,DEGList是一个以list为基础的数据格式,list的所有方法其都可以使用。
1.构建DEGList:用DEGList()构建。
>y<-DGEList(counts=x) #x是read counts的matrix或data.flame。 >group<-c(1,1,2,2) #关于sample属于哪一个group。 >y<-DGEList(counts=x,group=group)
DEGList中主要包括一个counts matrix,一个 samples data.frame,还有一个可选的genes data.frame(注释)。
sample data.frame 主要包括library的size或sample的sequencing depth,如果没给,则会默认按counts的总和来计算。但是必须 sample data.frame必须包含一个列group,用于区分samples属于哪一个group。
2。过滤:
生物学上看,一个基因要被表达成蛋白或是其他的生物功能,则它的表达量应该达到一个最低的水平。
所以在进一步分析前,应该过滤掉一些low counts的基因。这里用cpm(count per million)来表示基因的counts水平。
>keep<-rowSums(cpm(y)>1)>=2 #>=2表示每个group中的samples数最少是2. >y<-y[keep, ,keep.lib.sizes=FALSE]
3.TMM标准化:
在treated和untreated样品中,常常会有少量的基因在treated样品中高表达,但在untreated样品则正常。在treated样品中,高表达的基因的reads会占据一大部分的library size,
而导致剩余基因被错误的判断为下调。
>y<-calcNormFactors(y) >y$samples
4.离散度的检测(dispersion)
参考:
http://blog.sina.com.cn/s/blog_5d188bc40102vwci.html
http://blog.sciencenet.cn/blog-508298-776802.html
edgeR