标签不适用于 Matlab 中的火山图

Labels not working for volcano plot in Matlab

我是 MATLAB 的新手,我的第一个任务是创建火山图。我一直在使用 the documentation 了解它并开始使用。

我使用以下虚拟数据开始 -

Fer1l6  0   0.116815    3.39E-07
Selenoo 0.231255    2.104358    3.17E-06
Myh9    0   0   3.52E-05
SCARNA8 0   0   5.90E-05
7SK 0.4105501   1.593424    7.53E-05
Cnksr1  0.2652796   0.276202    0.000142596
Kcng3   0   0.947934    0.0003170
Acaa1b  0.97177 2.25452 0.0003906
adsf    0.44    0.35    0.3

这里,第一列代表gene_name,第二列代表条件1的基因表达值,第三列 用于条件 2 的基因表达值,最后一列 用于 P 值。我在 Excel 文件中有这些数据。

现在,为了创建火山图,我编写了以下代码 -

filename='quant_data_for_volcano.xlsx';

youngdata=xlsread(filename,'B:B')
olddata=xlsread(filename,'A:A')
pvalues=xlsread(filename,'C:C')
gene_labels=xlsread(filename,'D:D')
SigStructure = mavolcanoplot(youngdata, olddata, pvalues, 'LogTrans', true, 'Labels', gene_labels)

我的理解是 'Labels' 参数采用各种基因的标签(在本例中为 gene_names)。但是,当我 运行 这段代码时,它没有在 GUI 中给我 gene_name 标签,而只是给我行号作为基因标签 - 就是这样当我不提供任何标签时应该这样做!

我已将输出 GUI 作为图片附上 - 如您所见,基因的标签只是数字(对应于行号)。

手册上说标签应该是元胞数组,'我不确定这是否重要,如果重要,那么如何实现它。任何帮助都会很棒!

由于您已经知道,mavolcanoplot() 需要 cell array,因此您需要 xlsread() 到 return 元胞数组而不是矩阵:

[num, gene_labels]=xlsread(filename,'D:D') % (num is a matrix while gene_labels is a cell array)