在Matlab中探索基因表达数据分析
在Matlab中探究基因表达数据分析 日期2012-06-25 来源未知 作者青岚 点击547次 摘要 本文利用Matlab及其生物信息学工具箱供应的函数识别差异表达基因并利用基因本体论确定差异表达基因的生物学功能。 引言 包含寡核苷酸或cDNA探针的微阵列可用来比较基因组尺度的基因表达谱,微阵列试验的重要目的在于确定不同条件下,如两种不同的肿瘤类型,是否存在统计显著的基因表达量的变更进而确定差异表达基因的生物学功能。 本文利用一个公共数据集来说明计算 本文利用Matlab及其生物信息学工具箱供应的函数识别差异表达基因并利用基因本体论确定差异表达基因的生物学功能。 引言 包含寡核苷酸或cDNA探针的微阵列可用来比较基因组尺度的基因表达谱,微阵列试验的重要目的在于确定不同条件下,如两种不同的肿瘤类型,是否存在统计显著的基因表达量的变更进而确定差异表达基因的生物学功能。 本文利用一个公共数据集来说明计算过程,这个数据集包括42个胚胎中枢神经系统肿瘤组织CNS, Pomeroy et al. 2002,样本采纳Affymetrix 公司出品的HuGeneFL基因芯片进行杂交。 这些CNS数据集CEL文件可在CNS试验网站获得,42个肿瘤样本包括10个10 个髓母细胞瘤, 10个横纹肌样脑膜瘤, 10个胶质瘤, 8个幕上原始神经外胚层肿瘤和4个正常人小脑,CNS原始数据集用鲁棒多芯片平均RMA和GC鲁棒多芯片平均GCRMA进行了预处理。 可以采纳t检验和假发觉率FDR来检测不同肿瘤类型间差异表达的基因,还可以探究与显著上跳基因相关的基因本体论术语。 载入基因表达数据 用Load吩咐加载MAT文件cnsexpressiondata包含三个DataMatrix对象,expr_cns_rma, expr_cns_gcrma_mle, and expr_cns_gcrma_eb,分别储存用RMA和GCRMAMLE和EB预处理的基因表达值。 load cnsexpressiondata 在每个DataMatrix对象中,每行对应一个HuGeneFl芯片的探针集,每列对应于一个样本,行名是探针集的ID而列名为样本名,本文用expr_cns_gcrma_eb示例,当然也可以用其他对象。 调用get吩咐获得DataMatrix对象的特征。 getexpr_cns_gcrma_eb Name CNS gene expression data RowNames {7129x1 cell} ColNames {1x42 cell} NRows 7129 NCols 42 NDims 2 ElementClass single 确定DataMatrix对象expr_cns_gcrma_eb中的基因和样本的数目。 [nGenes, nSamples] sizeexpr_cns_gcrma_eb nGenes 7129 nSamples 42 可以用基因符号来代替探针集的ID用于标记基因表达值,HuGeneFl芯片的基因符号在一个包含Java哈希表的MAT文件中。 load HuGeneFL_genesymbol_hashtable; 为hu6800genesymbol_hashtable变量创建一个基因表达值的基因符号的cell矩阵。 huGenes cellnGenes, 1; for i 1nGenes huGenes{i} hu6800genesymbol_hashtable.getexpr_cns_gcrma_eb.RowNames{i}; end 用DataMatrix的rownames方法将exprs_cns_gcrma_eb中的行名设成基因符号。 expr_cns_gcrma_eb rownamesexpr_cns_gcrma_eb, , huGenes; 基因表达数据的过滤 首先除去没有基因符号的表达数据,如标成---的空符号。 expr_cns_gcrma_eb---, []; 在这个探讨中许多基因没有表达或在样本间变更很小,这些基因须要用非特异性过滤除去。 用genelowvalfilter函数滤除肯定表达量值很低的基因。 [mask, expr_cns_gcrma_eb] genelowvalfilterexpr_cns_gcrma_eb; 用genevarfilter函数滤除样本间方差很小的基因。 [mask, expr_cns_gcrma_eb] genevarfilterexpr_cns_gcrma_eb; 确定过滤以后的基因数目。 nGenes expr_cns_gcrma_eb.NRows nGenes 5758 识别差异基因表达 现在可以比较一下CNS髓母细胞瘤MD和非神经源恶性胶质瘤Mglio之间基因表达值的差异了。 从42个样本中提取10个MD和10个Mglio样本数据。 MDs strncmpexpr_cns_gcrma_eb.ColNames,Brain_MD, 8; Mglios strncmpexpr_cns_gcrma_eb.ColNames,Brain_MGlio, 11; MDData expr_cns_gcrma_eb, MDs; getMDData Name RowNames {5758x1 cell} ColNames {1x10 cell} NRows 5758 NCols 10 NDims 2 ElementClass single MglioData expr_cns_gcrma_eb, Mglios; getMglioData Name RowNames {5758x1 cell} ColNames {1x10 cell} NRows 5758 NCols 10 NDims 2 ElementClass single 通常t检验是检测两组变量之间显著性差异的标准统计检验,对每个基因执行t检验以识别MD样本和Mglio样本基因表达值的显著性差异,可以通过t得分的正态分位图和t得分及p值的直方图来探讨检验结果。 [pvalues, tscores] mattestMDData, MglioData,... Showhist, true, Showplot, true; 在全部的检验情形下都存在两类误差,当一个非差异表达的基因被标记为差异表达的基因时产生假阳性,而一个差异表达基因未能识别出来时产生假阴性,进行多重假设检验时,即用基因表达数据对上千个基因同时检验员假设时,每个检验都存在其特别的假阳性率,或加发觉率FDR,FDR定义为假阳性基因数与总阳性数的期望之比Storey et al., 2003。Stor