在表达式集中对样本重新排序(R)

在表达式集中对样本重新排序(R),r,plot,bioinformatics,R,Plot,Bioinformatics,我正试图制作一些基因表达数据的热图。目前,我想可视化的数据存储在表达式集数据类型中,但是样本没有正确分组;也就是说,对照样品和实验样品没有分组在一起。以下是一个简化的工作流程: output <- //analysis of raw data eset someGenes <- eset [output$Table1, ] heatmap(exprs(someGenes)) output对于一个可复制的示例,我们加载Biobase和样本数据 library(Biobase) dat

我正试图制作一些基因表达数据的热图。目前,我想可视化的数据存储在表达式集数据类型中,但是样本没有正确分组;也就是说,对照样品和实验样品没有分组在一起。以下是一个简化的工作流程:

output <- //analysis of raw data eset
someGenes <- eset [output$Table1, ]
heatmap(exprs(someGenes))

output对于一个可复制的示例,我们加载Biobase和样本数据

library(Biobase)
data(sample.ExpressionSet)
然后看看我们得到了什么:

> sample.ExpressionSet
ExpressionSet (storageMode: lockedEnvironment)
assayData: 500 features, 26 samples 
  element names: exprs, se.exprs 
protocolData: none
phenoData
  sampleNames: A B ... Z (26 total)
  varLabels: sex type score
  varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation: hgu95av2 
我们可以像矩阵一样对表达式集进行子集,例如使用索引或
sampleNames
,例如,通过从当前sampleNames的无序排列创建列索引
cidx

cidx = sample(sampleNames(sample.ExpressionSet))
cidx只是一个字符向量。然后我们用

> sample.ExpressionSet[, cidx]
ExpressionSet (storageMode: lockedEnvironment)
assayData: 500 features, 26 samples 
  element names: exprs, se.exprs 
protocolData: none
phenoData
  sampleNames: Q C ... B (26 total)
  varLabels: sex type score
  varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation: hgu95av2 

因此,在打印之前,您已对列进行了排序。但默认情况下,热图将根据样本之间的“距离”对样本进行聚类。因此,订购样品并不重要,热图将计算出相同的距离,并绘制相同的热图。您可能需要
image
,或者提供参数
Colv
(请参阅
?heatmap
),或者在gplots包中使用heatmap.2,或者。。。希望能有所帮助。

对于一个可重复的示例,我们加载Biobase和样本数据

library(Biobase)
data(sample.ExpressionSet)
然后看看我们得到了什么:

> sample.ExpressionSet
ExpressionSet (storageMode: lockedEnvironment)
assayData: 500 features, 26 samples 
  element names: exprs, se.exprs 
protocolData: none
phenoData
  sampleNames: A B ... Z (26 total)
  varLabels: sex type score
  varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation: hgu95av2 
我们可以像矩阵一样对表达式集进行子集,例如使用索引或
sampleNames
,例如,通过从当前sampleNames的无序排列创建列索引
cidx

cidx = sample(sampleNames(sample.ExpressionSet))
cidx只是一个字符向量。然后我们用

> sample.ExpressionSet[, cidx]
ExpressionSet (storageMode: lockedEnvironment)
assayData: 500 features, 26 samples 
  element names: exprs, se.exprs 
protocolData: none
phenoData
  sampleNames: Q C ... B (26 total)
  varLabels: sex type score
  varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation: hgu95av2 

因此,在打印之前,您已对列进行了排序。但默认情况下,热图将根据样本之间的“距离”对样本进行聚类。因此,订购样品并不重要,热图将计算出相同的距离,并绘制相同的热图。您可能需要
image
,或者提供参数
Colv
(请参阅
?heatmap
),或者在gplots包中使用heatmap.2,或者。。。希望有帮助。

太好了!非常感谢你的帮助,非常感谢。太好了!非常感谢你的帮助,非常感谢。