1

尊敬的长者/会员,

我有一组基因,想使用以下数据集使用热图执行分层聚类。我刚刚获取了我的数据集的一部分。

       X         M16         M39          M40         M14         M19          M23          M47
1   Ifnar1 2642.396867 3114.055094 3175.6246370 2676.584380 3615.993768 3150.7241810 3266.1586970
2   Ifnar2 2251.842870 1650.041918 1990.2060350 2166.758784 2341.193570 1712.8155380 2032.3193310
3    Ifnb1    0.000000    0.000000    0.0000000    5.860064    1.804388    2.5692233    5.7791071
4     Ifne    1.172835    6.604571    0.8534331    1.465016    2.706582    2.5692233    0.9631845
5     Ifng    4.691339   24.216759   43.5250891    8.790096   62.251390   11.9897088   45.2696723
6  Ifngas1    2.345670    5.503809    0.0000000    1.465016    3.608776    0.8564078    0.9631845
7   Ifngr1 2153.324744 2028.703973 2898.2588740 2481.737241 3016.034722 2512.7003940 2648.7574220
8   Ifngr2 4223.378215 2948.940826 3173.9177710 4185.550944 3350.748716 2745.6433070 2896.2958430
9   Ifnlr1   17.592522   40.728186  193.7293181   10.255113  111.872063   13.7025243  161.8149989
10    Ifnz    0.000000    0.000000    3.4137325    0.000000    0.000000    0.0000000    0.0000000
11   Ifrd1 4679.610963 3872.479965 3893.3618910 5871.784453 3726.963637 3095.9140840 3290.2383100
12   Ifrd2 1808.511305 1163.505208 1075.3257310 1864.965471 1039.327550 1341.1345660 1089.3616890
            M18          M25         M34         M43          M13          M27         M37         M44
1  3483.9834680 3323.9578350 3539.028661 3449.335380 3269.5220980 2306.0644110 3482.077264 3272.571202
2  2151.9278320 2005.4225370 2014.147648 1975.574900 1943.0967630 1408.2469200 2221.464365 1979.527002
3     3.7869386    0.8005679    3.057916    1.022025    0.9696092    0.0000000    0.000000    0.000000
4     0.0000000    2.4017036    0.000000    5.110126    0.9696092    0.9612607    0.000000    0.000000
5    17.0412235   49.6352085   37.714303   47.013164    2.9088275   17.3026925   22.204551   23.555782
6     0.9467346    1.6011358    0.000000    2.044051    0.9696092    2.8837821    2.018596    1.682556
7  2473.8176090 2943.6880920 2058.997089 2316.931350 2487.0475030 1530.3270290 3511.346899 2524.675110
8  3328.7189870 2775.5688370 3320.897286 2892.331593 2801.2008720 2286.8391970 3271.134032 2696.295810
9    62.4844861   86.4613310   22.424721   32.704810   22.3010107   68.2495095   52.483483   79.080127
10    0.0000000    1.6011358    0.000000    0.000000    0.0000000    0.0000000    0.000000    1.682556
11 4632.3725840 3426.4305230 5058.813146 3615.925503 3522.5900900 5123.5195120 3526.486365 3266.682256
12 1138.9217690 1105.5842410 1190.548812 1161.020738  956.0346349 1266.9415980 1053.706859  996.073086
           M15         M29         M30         M42         M21         M22         M41
1  3296.194048 2837.492483 3037.017936 4001.073627 4141.043499 3408.850678 3101.457060
2  2279.536607 1708.587060 1627.682815 2770.675131 2706.159224 2061.505540 1757.353193
3     3.403987    1.965022    1.102766    3.645625    2.032414    1.124662    0.000000
4     0.000000    2.947534    7.719363    1.822813    1.016207    2.249324    3.130677
5    74.887713   60.915697   34.185750  129.419694   65.037248   61.856413    7.304912
6     0.000000    1.965022    0.000000    2.734219    5.081035    0.000000    3.130677
7  3407.390956 2585.969604 1512.995137 3777.779085 3819.922089 3000.598353 2354.268885
8  3320.021957 2723.521178 2516.512320 3615.548765 3943.899342 3591.045930 3111.892649
9    70.349064   59.933186    5.513831   28.253595   57.923799   32.615199   26.088973
10    2.269325    0.000000    0.000000    0.000000    0.000000    2.249324    0.000000
11 3885.083794 4055.806430 4679.036711 3338.481252 3495.752058 4439.041117 4136.667492
12 1164.163543 1061.112147 1742.370493 1102.801615 1044.660789 1307.981966 1358.713692

行是基因,列是样本ID,目的是根据每个基因的归一化计数进行聚类,以检查它们是否是不同剂量辐射的组样本簇。我已将 pheatmap 与以下代码夹头一起使用。

ifn<- read.csv("IFN.csv", stringsAsFactors = TRUE)

## Pheatmap 

str(ifn)

dim(ifn)

ifn


## Generate matrix for heatmap

Heat_Matrix<-as.matrix(ifn[,c(2:23)]) 

rownames(Heat_Matrix)=sapply(ifn$X, function(x) 
  strsplit(as.character(x), split = "\\\\" [[1]][1]))

## scale the data

df.scale<- scale(Heat_Matrix)

# heatmap

library(pheatmap)


### Perform annotation 

Annotation<- read.csv("Pheno.csv")
Annotation$Mouse<- as.factor(Annotation$Mouse)
Annotation$Treatment<- as.factor(Annotation$Treatment)

## match the column and rowname of dataframe and pheno data

rownames(Annotation) <- colnames(df.scale)

df.scale<- as.data.frame(df.scale)

## Euclidean/complete (default)

pheatmap(df.scale, annotation = select(Annotation, Treatment), cluster_rows = F, 
         cluster_cols = T)

这是表型表

 Mouse Treatment
1    M16  T.2Gy_1f
2    M39  T.2Gy_1f
3    M40  T.2Gy_1f
4    M14  T.2Gy_3f
5    M19  T.2Gy_3f
6    M23  T.2Gy_3f
7    M47  T.2Gy_3f
8    M18  T.2Gy_5f
9    M25  T.2Gy_5f
10   M34  T.2Gy_5f
11   M43  T.2Gy_5f
12   M13  T.6Gy_1f
13   M27  T.6Gy_1f
14   M37  T.6Gy_1f
15   M44  T.6Gy_1f
16   M15  T.6Gy_2f
17   M29  T.6Gy_2f
18   M30  T.6Gy_2f
19   M42  T.6Gy_2f
20   M21     U.0Gy
21   M22     U.0Gy
22   M41     U.0Gy

我得到的输出和附件中的图片一样好 (heatmap1) 在此处输入图像描述

我想使用附件中的图片(热图和 Heatmap2)中的复杂热图来完善我的热图,但不是那么复杂。主要是我喜欢他们的配色方案。是否有任何成员可以指导我如何将我的 pheatmap 转换为与我附加的示例具有相似颜色的复杂热图(注意:我从 Biostar 得到这个,作者也提供了教程,但我无法让它与我的数据)。我想获得一个输出,就像我从 pheatmap 中获得的输出一样,它通过注释处理和行是基因对 clumn 进行聚类,但是通过带有类似颜色的示例的 complexheatmap 来完成。

在此处输入图像描述 在此处输入图像描述

很抱歉这个问题很长,希望您能提供帮助。

亲切的问候,

合成

4

0 回答 0