前言
fRMA算法允许用户单独预处理数组,同时保留多阵列预处理方法(如RMA)的优点。基因表达Bar'code提供绝对表达的估计而不是相对表达。
1 Frozen Robust Multiarray Analysis (fRMA)
fRMA(fRMA)是一种微阵列预处理算法,允许人们单独或小批量分析微阵列,然后将数据组合进行分析。具体而言,探针特异性和方差的估计是预先计算和冻结的。然后,对于新数据集,这些冻结参数与来自新阵列的信息一起使用以预处理数据。
当不可能同时预处理所有数据时,fRMA特别有用。这种情况经常出现在:
1.大型Meta Analysis需要预处理的数据超过内存的极限时,也就是说大型元分析需要预处理的数据比计算机上存储在内存中的数据要多的时候。
2.数据集逐渐增长,每次添加新数组时预处理所有数据都很费力,
3.微阵列用于辅助临床诊断和治疗,需要基于与单个微阵列杂交的单个样品获得信息。
此外,fRMA下调探针似乎是批量的,那些最容易受批次影响的探针。
1.1 From CEL les to expression estimates
对于Affymetrix microarray data,通常将CEL files视为预处理和分析的起始点。将CEL文件读入R中,使用affy::ReadAffy()函数,得到一个AffyBatch object(对象);或者,使用oligo::read.celfiles()函数,得到一个FeatureSet object(对象)。
fRMA的目标是从原始数据中得到可靠的基因水平的表达强度。这相当于将原始探针水平强度转换为背景校正,标准化和总结的基因水平强度。fram::frma()函数以AffyBatch或者FeatureSet对象作为input,得到一个包含gene-level expression value的对象。这个对象可以采用以下两种形式之一:ExpressionSet或者frmaExpressionSet,具体取决于所请求的其他信息。可以使用exprs方法访问存储在这两个对象中的基因水平强度。
除原始数据外,fRMA算法还需要许多frozen参数矢量。Among these are the reference distribution to which the data are normalized and the probe-e ect estimates.我们为许多常见的Affymetrix platforms计算了这些冻结参数。每个平台的数据都存储在<platform> frmavecs形式的R包中。默认情况下,frma函数尝试加载输入数据对象的相应数据包。
本节的其余部分描述了frma的典型用法。有关在frma函数中实现的统计方法的详细信息,请阅读以下文章:
McCall MN, Bolstad BM, and Irizarry RA (2010). Frozen Robust Multi-Array Anal-ysis (fRMA), Biostatistics, 11(2):242-253.
McCall MN, Ja ee HA, Irizarry RA (2012). fRMA ST: Frozen robust multiarray analysis for A ymetrix Exon and Gene ST arrays, Bioinformatics, 28(23):3153-3154.
以下是如何使用默认版本的frma预处理单个CEL文件的简单描述:
Step1.下载并安装frma和相应的frozen参数包(即hgu133afrmavecs,hgu133plus2frmavecs等)。
Step2.加载frma包。
library(frma)
Step3.读取AffyBatch对象或者FeatureSet对象。对于早期的Affymetrix平台(例如HGU133plus2),您应该使用affy包中的ReadAffy()来读取CEL文件。对于后来的Affymetrix平台(例如Gene ST或Exon ST),您应该使用oligo包中的read.celfiles()函数读取原始数据。
Step4.本例中,我们将加载一个AffyBatch对象。
library(framExampleData)
data(AffyBatchExample)
Step5.使用默认版本的frma预处理原始数据对象。
object <- frma(AffyBatchExample)
得到一个ExpressionSet或者framExpressionSet对象,后者是ExpressionSet类的扩展,用于保存与预处理过程相关的其他信息,例如权重和残差。
要获取基因级表达值的矩阵,请输入以下命令:
e <- exprs(object)
要评估表达值估计的质量,可以使用GNUSE函数:
GNUSE(object,type="stats")
GNUSE在下面的文章中有更详细的描述:
McCall MN, Murakami PN, Lukk M, Huber W, Irizarry RA (2011). Assessing A ymetrix GeneChip Microarray Quality, BMC Bioinformatics, 12:137.
根据CEL文件的数量和系统可用的内存,您可能会遇到“无法分配向量”等错误。。。”[ `Cannot allocate vector . . . '. ]。 一个显而易见的选择是增加R进程可用的内存(通过添加内存和/或关闭外部应用程序)。您也可以考虑以较小批量分析数据。回想一下,fRMA允许您单独预处理数据,然后将预处理数据组合起来进行进一步分析。
1.2 高级选项
对于大多数用户来说,frma函数的默认参数是有用的;但是,已经实现了其他选项以允许用户控制预处理的每个阶段,以及frma函数返回的信息。这种灵活性有助于用户轻松探索预处理的替代方法。
1.2.1 Summarization Methods
Summarization是指用于组合探针水平表达值,以获得基因水平表达估计的方法。运行frma时可以选择几种summarization方法。以下是每种方法的简要说明:
Average:减去探针效应,然后计算每个探针组中探针的平均值。
median:减去探针效应并计算每个探针组中探针的中位数。
median polish:这与median summarization相同,因为探针效应已被删除。
weighted average:计算每个探针组中探针的加权平均值,其权重等于批次方差估计值之间和之间的预计算总和的倒数。
robust weighted average:计算每个探针组中探针的加权平均值,其权重等于M估计程序返回的权重除以批次方差估计值之间和之间预先计算的总和。
random effect:适用于一批新阵列的稳健加权平均法(详情请参阅fRMA文件)。
1.2.2 Input Vectors
虽然绝大多数用户将使用frmavecs包中提供的预计算向量,但frma()函数将接受用户提供的frozen参数向量。frmaTools包中包含用于创建自己的frozen参数向量的函数。在下面的文章中有详细描述:
McCall MN and Irizarry RA (2011). Thawing Frozen Robust Multi-array Analysis (fRMA), BMC Bioinformatics, 12:369.
如果使用frmaTools包中的函数创建自己的frozen参数向量,则向量将具有正确的格式:包含元素normVec,probeVec,probeVarBetween,probeVarWithin,probesetSD和medianSE的列表。
2 Creation of Gene Expression Barcodes
Barcode算法以估计在给定的微阵列中,哪些基因表达了和哪些基因未表达。这是通过以下方法实现的:(1)利用各种组织中观察到的log2强度的分布来估计每个基因的表达和未表达的分布。(2)使用这些估计的分布来确定在给定样品中哪些基因表达/未表达。第一步是通过将hierarchical mixture model与过多的公开数据相结合来完成。第二步是通过确定来自新阵列的观察到的强度落在估计分布中的位置来完成的。barcode()函数的默认输出是1和0的向量,表示估计哪些基因表达(1)和未表达(零)。We call this a gene expression barcode.
有关Gene Expression Barcode的更多详细信息,请阅读以下文章:
McCall MN, Uppal K, Ja ee HA, Zilliox MJ, and Irizarry RA (2011). The Gene Expression Barcode: leveraging public data repositories to begin cataloging the human and murine transcriptomes, Nucleic Acids Research, 39:D1011-D1015.
McCall MN, Ja ee HA, Zelisko SJ, Sinha N, Hooiveld G, Irizarry RA, Zilliox MJ (2014). The Gene Expression Barcode 3.0: improved data processing and mining tools, Nucleic Acids Research, 42(D1):D938-D943.
2.1 Getting Started
为了创建Gene Expression Barcode,需要估计基因表达分布(特别是每个基因的未表达分布的均值和方差)。我们已经为几个流行的Affymetrix平台计算了这些。要使用其中一个,只需使用frma的默认选项预处理数据,然后将得到的对象上使用barcode()函数处理。
与frma功能类似,barcode()函数需要平台特定的预先参数。这些参数存储在与frma使用的frozen参数向量相同的R包中。在默认实现中,barcode()函数尝试为给定的ExpressionSet或frma-ExpressionSet对象加载适当的参数集。用户也可以通过可选参数提供必要的参数。
2.1.1 Example
library(frma)
library(frmaExampleData)
data(AffyBatchExample)
object <- frma(AffyBatchExample)
bc <- barcode(object)
2.2 Output Options
barcode()函数的默认输出是返回一个(表示)和零(未表达)的向量.但是,还有其他输出选项。
来源:Frozen Robust Multi-Array Analysis and the Gene
Expression Barcode
网友评论