不同样品的测序量会有差异,最简单的标准化方式是计算countspermillion(CPM),即原始readscount除以总reads数乘以1,,。
这种计算方式的缺点是容易受到极高表达且在不同样品中存在差异表达的基因的影响;这些基因的打开或关闭会影响到细胞中总的分子数目,可能导致这些基因标准化之后就不存在表达差异了,而原本没有差异的基因标准化之后却有差异了。
RPKM、FPKM和TPM是CPM按照基因或转录本长度归一化后的表达,也会受到这一影响。
calc_cpm-function(expr_mat,spikes=NULL){norm_factor-colSums(expr_mat[-spikes,])return(t(t(expr_mat)/norm_factor))*10^6}
为了解决这一问题,研究者提出了其它的标准化方法。
量化因子(sizefactor,SF)是由DESeq提出的。其方法是首先计算每个基因在所有样品中表达的几何平均值。每个细胞的量化因子(sizefactor)是所有基因与其在所有样品中的表达值的几何平均值的比值的中位数。由于几何平均值的使用,只有在所有样品中表达都不为0的基因才能用来计算。这一方法又被称为RLE(relativelogexpression)。
calc_sf-function(expr_mat,spikes=NULL){geomeans-exp(rowMeans(log(expr_mat[-spikes,])))SF-function(cnts){median((cnts/geomeans)[(is.finite(geomeans)geomeans0)])}norm_factor-apply(expr_mat[-spikes,],2,SF)return(t(t(expr_mat)/norm_factor))}
上四分位数(upperquartile,UQ)是样品中所有基因的表达除以处于上四分位数的基因的表达值。同时为了保证表达水平的相对稳定,计算得到的上四分位数值要除以所有样品中上四分位数值的中位数。
calc_uq-function(expr_mat,spikes=NULL){UQ-function(x){quantile(x[x0],0.75)}uq-unlist(apply(expr_mat[-spikes,],2,UQ))norm_factor-uq/median(uq)return(t(t(expr_mat)/norm_factor))}
TMM是M-值的加权截尾均值。选定一个样品为参照,其它样品中基因的表达相对于参照样品中对应基因表达倍数的log2值定义为M-值。随后去除M-值中最高和最低的30%,剩下的M值计算加权平均值。每一个非参照样品的基因表达值都乘以计算出的TMM。这个方法假设大部分基因的表达是没有差异的。
DESeq2差异基因鉴定一步法为了简化差异基因的运算,易生信做了脚本封装,DESeq2.sh,只需提供原始基因表达矩阵、样品分组信息表即可进行差异基因分析和鉴定。
DESeq2.shOPTIONS:-fDatafile[Agenecountmatrix,NECESSARY]CHECKABOVEFORDETAILS-sSamplefile[Amultiplecolumnsfilewithheaderline,Fortimeseries,oneconditionscolumnsisneeded.NECESSARY]CHECKABOVEFORDETAILS-dThedesignformulaforDESeqDataSetFromMatrix.[Defaultconditions,acceptcell+time+cell:timeforexample2.]-DThereduceddesignformulaforDESeq.[Onlyapplicabletotimeseriesanalysis,acceptcell+timeortimeorcellforexample2.]-mSpecifythe北京哪里治疗白癜风安全白癜风需要忌口吗