首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关SAM和samR输出的问题

有关SAM和samR输出的问题
EN

Stack Overflow用户
提问于 2012-11-25 05:41:53
回答 1查看 781关注 0票数 2

我在csv格式表中有以下基因信息:

代码语言:javascript
复制
                    1       1       1       2     2         2
1415670_at  1   365.1   293.4   288.9   394.5   312     381.6
1415671_at  2   556.1   584.2   567.8   592.8   471.6   513.1
1415672_at  3   1048.3  763.1   1074.9  852.3   826.1   898.3
1415673_at  4   60.8    51.7    51.6    224     248.4   150.7
1415674_at  5   129.1   107.2   230.4   175.5   250.5   172.4

我一直在运行http://www-stat.stanford.edu/~tibs/SAM/中提供的SAM,结果如下:

代码语言:javascript
复制
Positive genes (3)                              
Row Gene ID Gene Name   Score(d)    Numerator(r)    Denominator(s+s0)   Fold Change q-value(%)
5   1415673_at  4   2.539689902 153 60.24357537 1.14E+46    0
2   1415670_at  1   0.707325294 46.9    66.30612588 1.31313E+14 0
6   1415674_a_at    5   0.574118361 43.9    76.46506883 1.64141E+13 0

我使用的参数如下图所示:

当我通过以下程序使用R的samR时:

代码语言:javascript
复制
 filename<-"test.csv"
 y <- c(1,1,1,2,2,2)        
 m <- read.csv(filename,sep=",",row.names=1)
 t <- as.matrix(m)
 samfit <- SAM(t, y, resp.type="Two class unpaired",
          nperms=100, testStatistic=c("standard"),
          knn.neighbor=10, random.seed=1234567, logged2=TRUE)
 print(samfit)
 rownames(m)[ as.numeric( samfit$siggenes.table$genes.up[ , "Gene Name"]) ]
 rownames(m)[ as.numeric( samfit$siggenes.table$genes.lo[ , "Gene Name"]) ]

结果却大相径庭:

代码语言:javascript
复制
Call:
SAM(x = t, y = y, resp.type = "Two class unpaired", nperms = 100, 
    testStatistic = c("standard"), knn.neighbors = 10, random.seed = 1234567, 
    logged2 = TRUE)

Genes up
     Gene ID Gene Name Score(d) Numerator(r) Denominator(s+s0)
[1,] g5      5         1.173    115.375      98.348           
[2,] g4      4         0.877    107.867      122.948          
     Fold Change          q-value(%)
[1,] 5.38686075651057e+34 0         
[2,] 2.95870863324773e+32 0         

Genes down
NULL
     rownames(m)[ as.numeric( samfit$siggenes.table$genes.up[ , "Gene Name"])]

     [1] "1415674_a_at" "1415673_at"  
     rownames(m)[ as.numeric( samfit$siggenes.table$genes.lo[ , "Gene Name"])]

     character(0)

这种情况在巨大的数据集上变得更糟,有人知道为什么吗?

未格式化的数据为:

代码语言:javascript
复制
,,1,1,1,2,2,2
1415670_at,1,365.1,293.4,288.9,394.5,312,381.6
1415671_at,2,556.1,584.2,567.8,592.8,471.6,513.1
1415672_at,3,1048.3,763.1,1074.9,852.3,826.1,898.3
1415673_at,4,60.8,51.7,51.6,224,248.4,150.7
1415674_a_at,5,129.1,107.2,230.4,175.5,250.5,172.4

我还尝试了未记录的数据,来自SAM和samR的结果仍然不同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-25 09:24:15

我加载库(我猜?案例很重要,而你说的是samR)

代码语言:javascript
复制
library(samr)

和您的样本输入数据

代码语言:javascript
复制
txt <- textConnection(",,1,1,1,2,2,2
1415670_at,1,365.1,293.4,288.9,394.5,312,381.6
1415671_at,2,556.1,584.2,567.8,592.8,471.6,513.1
1415672_at,3,1048.3,763.1,1074.9,852.3,826.1,898.3
1415673_at,4,60.8,51.7,51.6,224,248.4,150.7
1415674_a_at,5,129.1,107.2,230.4,175.5,250.5,172.4")

m <- read.csv(txt, row.names=1)

我有过

代码语言:javascript
复制
> head(as.matrix(m))
             X.1     X1  X1.1   X1.2    X2  X2.1  X2.2
1415670_at     1  365.1 293.4  288.9 394.5 312.0 381.6
1415671_at     2  556.1 584.2  567.8 592.8 471.6 513.1
1415672_at     3 1048.3 763.1 1074.9 852.3 826.1 898.3
1415673_at     4   60.8  51.7   51.6 224.0 248.4 150.7
1415674_a_at   5  129.1 107.2  230.4 175.5 250.5 172.4

m的第一列是不需要的,所以我在转换为矩阵之前删除了它--这是您的错误吗?

代码语言:javascript
复制
t <- as.matrix(m[,-1])

然后再拟合

代码语言:javascript
复制
y <- rep(1:2, each=3)
samfit <- SAM(t, y, resp.type="Two class unpaired",
              nperms=100, testStatistic=c("standard"),
              knn.neighbor=10, random.seed=1234567, logged2=TRUE,
              genenames=rownames(t))

结果与未删除m的第一列时的结果不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13545896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档