这段 R 代码用于基因表达数据分析,主要涉及两个数据集的差异表达基因比较。以下是代码的详细解释和分析:

  1. design_1563 = model.matrix(~gse_1563$Outcome, data = pData_1563) - 创建第一个数据集的线性模型设计矩阵,其中 'Outcome' 是样本的分类变量,pData_1563 包含样本信息。

  2. fit_1563 = lmFit(eMat_1563_scaled, design_1563) - 对第一个数据集的基因表达数据 (eMat_1563_scaled) 进行线性回归拟合,使用 design_1563 作为模型设计矩阵。

  3. fit_1563 = eBayes(fit_1563) - 对拟合的线性模型进行贝叶斯调整,计算基因的表达水平。

  4. tT_1563 <- topTable(fit_1563, genelist=fData_1563[, 'Gene Symbol'], n = Inf, adjust.method = 'BH', sort.by = 'p') - 从贝叶斯调整结果中提取所有差异表达的基因 (n = Inf),并使用 fData_1563 中的 'Gene Symbol' 作为基因符号,使用 Benjamini-Hochberg 校正方法进行多重假设检验 (adjust.method = 'BH'),并根据 p 值排序 (sort.by = 'p')。

  5. tT_1563$ID <- unlist(lapply(strsplit(tT_1563$ID, ' /// ', 1), [, 1)) - 将基因符号信息中的多个基因符号 (用 '///' 分隔) 分开,并只保留第一个基因符号。

  6. tT_1563_filtered <- tT_1563 %>% filter(!is.na(tT_1563$ID)) - 过滤掉没有基因符号的基因。

  7. tT_1563_filtered_top <- tT_1563_filtered[1:500,] - 选择前 500 个差异表达的基因。

8-14. 这些步骤与 1-7 类似,但应用于第二个数据集 (gse_46474)。

  1. inter <- intersect(tT_1563_filtered_top$ID, tT_46474_filtered_top$ID) - 计算两个数据集共同具有的基因。

  2. inter_filtered <- c('CASP4', 'PROX1', 'GRIK1', 'INPP5F' , 'FCGR1A' ,'SFTPB', 'SIM2', 'MTSS1L', 'UBE2H', 'SOX13' , 'TMSB10', 'ELF3', 'LMAN2' , 'MAPT', 'CRCP', 'IL4R' , 'TFE3' , 'FABP5') - 手动选择具有生物学意义的共同基因。

17-18. 选择两个数据集中具有生物学意义的共同基因,准备进行进一步分析。

  1. eMat_1563_scaled_top_inter_genes <- eMat_1563_scaled[rownames(tT_1563_filtered_top_inter),] - 选择第一个数据集中的共同基因的基因表达数据。

这段代码使用 limma 包进行线性模型拟合和贝叶斯调整,并使用 topTable 函数提取差异表达的基因。代码中还手动选择了具有生物学意义的共同基因,准备进行进一步分析。

基因表达数据分析:两个数据集的差异表达基因比较

原文地址: https://www.cveoy.top/t/topic/oguP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录