【发布时间】:2011-11-15 04:38:47
【问题描述】:
由于需要,我最近开始学习 R,到目前为止,我认为非常好。但我仍处于早期阶段。然而,我在 R 中面临着这个重大的紧迫挑战,我将非常感谢一些帮助。我的编程技能显然是业余的,并且肯定会接受我能得到的任何帮助。如下:
- 创建要从 GEO 检索的数据集列表 (gdslist) 使用 GEOquery 包的数据库
- 将 gdslist 项目 (gdsid) 转换为表达式数据。那是, 可以与我的分析一起使用的数据。为此,一个 GDS2eSet 函数 工作正常。
- 以以下方式读入转换后的表达式数据 可以创建类/级别文件 (.cls)。 GDS3715 数据集 例如,有 3 个级别——胰岛素抵抗、胰岛素敏感和 糖尿病患者。有时,数据集就这么简单。但 其他时候,比如在这种情况下,分析级别将是 6 目的,因为虽然表型上有 3 个水平,但它们 分为治疗组和未治疗组。经常有一个 在这种情况下添加“代理”列。每个班级/级别都需要 分配了一个数字(0,1,2...)。大致就是这样 .cls 文件的格式。
- 要运行 Siggenes/SAM 分析(也是 R 中的一个包),两个文件是 每个数据集都需要:一个表达式文件(从 2 上)和随附的集群文件(来自 3)。
- 为了能够以一种 循环并将我的数据存储在指定的目录中。
我目前只能进入第 2 步。我认为第 3 步是挑战的关键......
非常感谢期待。
到目前为止的脚本:
> gdslist = c('GDS3715','GDS3716','GDS3717'...)#up to perhaps 100 datasets
> analysisfunc = function(gdsid) {
gdsdat = getGEO(gdsid,destdir=".")
gdseset = GDS2eSet(gdsdat)
pData(gdseset)$disease.state #Needed assignment, etc...Step 3 stuff ;Siggenes/SAM can perhaps be done here
return(sprintf("Results from %s should be here",gdsid))
}
> resultlist = sapply(gdslist,analysisfunc) #loop function
【问题讨论】:
-
我不熟悉您的分析细节,但我经常发现使用单个文件很容易 - 降低您的分析步骤,然后将其抽象为使用文件列表立刻。您可以对单个文件执行所需的分析吗?
-
library(siggenes); ?sam表示res = sam(gdseset, gdseset$disease.state)将带您进入第 5 步。如果主要目标是副作用(将res输出到文件),请使用for循环。 -
@Chase; @马丁摩根。非常感谢,蔡斯和马丁。使用我在帖子中包含的代码,我无法用一个实现想要的结果。但感谢您的建议。在我回复之前,我想尝试一下“res = sam(gdseset, gdseset$disease.state)”,但我的互联网连接目前有点问题,但我想确认输入并说声谢谢。希望在接下来的几个小时内尝试该代码时,我会更新帖子。
-
@Avoks。没问题。如您所见,它使您的问题更易于阅读。您可以使用问题编辑器中的
{}按钮自行完成。 -
@Andrie。是的,确实如此。著名的。谢谢。
标签: r bioconductor