R统计编程

TCGA表达矩阵行名一键转换

2023-04-24  本文已影响0人  小洁忘了怎么分身

直接说答案,新版的tinyarray里面加了一个函数,trans_exp_new,pia的以下就转换成功,不只是TCGA的,任何以ensembleid为行名的矩阵都可以转换,注意数据结构得是矩阵哦。

1.读取数据

随便拿一个例子,xena里的一个CHOL数据,在这里下载:

https://gdc-hub.s3.us-east-1.amazonaws.com/download/TCGA-CHOL.htseq_counts.tsv.gz

dat = read.delim("TCGA-CHOL.htseq_counts.tsv.gz",check.names = F,row.names = 1)
dat = as.matrix(dat)
dat[1:4,1:4]
#>                    TCGA-ZD-A8I3-01A TCGA-W5-AA2U-11A TCGA-W5-AA30-01A
#> ENSG00000000003.13        12.359475        11.274378         12.32559
#> ENSG00000000005.5          1.000000         1.000000          0.00000
#> ENSG00000000419.11        10.244364         9.357552         10.68387
#> ENSG00000000457.12         9.558421         8.438792         11.37341
#>                    TCGA-W5-AA38-01A
#> ENSG00000000003.13        13.010178
#> ENSG00000000005.5          1.000000
#> ENSG00000000419.11        10.728771
#> ENSG00000000457.12         9.022368

2.表达矩阵行名ID转换

#install.packages("tinyarray")
library(tinyarray)
exp = trans_exp_new(dat)
#> Warning in AnnoProbe::annoGene(rownames(exp), ID_type = "ENSEMBL"): 6.54% of
#> input IDs are fail to annotate...
exp[1:4,1:4]
#>             TCGA-ZD-A8I3-01A TCGA-W5-AA2U-11A TCGA-W5-AA30-01A TCGA-W5-AA38-01A
#> DDX11L1             0.000000         0.000000         0.000000         1.000000
#> WASH7P              6.357552         3.459432         7.199672         5.807355
#> MIR6859-1           1.000000         0.000000         3.584963         1.000000
#> MIR1302-2HG         0.000000         0.000000         0.000000         0.000000

总数六万,少掉6%根本不叫事。

上一篇下一篇

猜你喜欢

热点阅读