0

我正在使用 R 包 cummeRbund(来自 Bioconductor)来可视化 RNA-seq 数据,我创建了一个名为“DEG_genes”的 cuffGeneSet 实例,其中包含 662 个在男性和女性之间显着差异表达的基因。我的目标是使用 csHeatmap() 创建一个热图,其中男性和女性样本(重复)是分开的,但在性别类别中具有特定的用户定义顺序。我用了:

> DEG<-diffData(genes(cuff))   # take differentially expressed genes
> DEG_significant<-subset(DEG,significant=='yes') # retain only significant changes
> DEG_sign_IDs <- DEG_significant$gene_id # retrieve IDs
> DEG_genes<-getGenes(cuff,DEG_sign_IDs) # get CuffGeneSet instance
> hmap<-csHeatmap(DEG_genes,clustering='none',labRow=F,replicates=T)

这给了我几乎想要的东西:热图在左侧显示女性,在右侧显示男性,但它们按字母顺序排列(Female_0,Female_1,Female_10,Female_11,Female_12...Female_19,Female_2,Female_20,Female_21..,Female_29 on左边,同样适用于男性 Male_0,Male_1,Male_10...Male_19,Male_2,Male_20...等在右边),我希望它们按特定顺序排列(clusterReps)。我创建了一个具有特定顺序的重复名称的测试向量(左侧为男性,0 和 6 改变,右侧为女性),如下所示:

clusterReps<-c("Male_6","Male_1","Male_2","Male_3","Male_4","Male_5","Male_0","Male_7","Male_8","Male_9","Male_10","Male_11","Male_12","Male_13","Male_14","Male_15","Male_16","Male_17","Male_18","Male_19","Male_20","Male_21","Male_22","Male_23","Male_24","Male_25","Male_26","Male_27","Male_28","Male_29","Male_30","Male_31","Male_32","Male_33","Female_0","Female_1","Female_2","Female_3","Female_4","Female_5","Female_6","Female_7","Female_8","Female_9","Female_10","Female_11","Female_12","Female_13","Female_14","Female_15","Female_16","Female_17","Female_18","Female_19","Female_20","Female_21","Female_22","Female_23","Female_24","Female_25","Female_26","Female_27","Female_28")

我希望数据完全相同,除了列的顺序必须遵循“clusterReps”向量的顺序。知道热图是一个 ggplot,我在过去 2 天到处寻找解决方案,但没有成功(尽管 stackoverflow 上的 heatmap.2() 而不是 csHeatmap() 的问题非常相似,但我试图获得一个复制的 fpkm 矩阵并使用 heatmap.2 但只能使用 heatmap_2 并且某些选项不被接受)。使用:

> hmap<-hmap+scale_x_discrete(limits=clusterReps)
Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.

仅更改 x 轴标签,但不更改实际数据(热图保持不变)。是否有类似的功能可以重新排列列而不仅仅是标签?在此先感谢您的帮助,我不熟悉处理 ggplot 对象,尤其是来自 cummeRbund 的热图。

编辑:这是我可以提供的更多信息:

> DEG_genes
CuffGeneSet instance for  662  genes

Slots:
     annotation
     fpkm
     repFpkm
     diff
     count
     isoforms    CuffFeatureSet instance of size 930 
     TSS         CuffFeatureSet instance of size 785 
     CDS         CuffFeatureSet instance of size 230 
     promoters       CuffFeatureSet instance of size 662 
     splicing        CuffFeatureSet instance of size 785 
     relCDS      CuffFeatureSet instance of size 662 

> summary(DEG_genes)
     Length       Class        Mode 
        662 CuffGeneSet          S4 

恐怕我暂时无法提供更多信息,如果您希望我执行命令并报告输出是否有帮助,请告诉我。

4

1 回答 1

0

我对R不是很流利,但我遇到了同样的问题。为了解决这个问题,我制作了一个脚本,将 cuffdiff 文件夹内所有文件中的所有示例名称重命名为按字母顺序排序时会给出正确顺序的名称,然后重建数据库。

于 2014-05-21T12:56:06.063 回答