人鼠基因转换之首字母大写

很久以前我在《生信技能树》分享过教程,如果你处理的是小鼠的基因芯片表达矩阵,最后做gsea等分析要对生物学数据库注释,发现绝大部分数据库都是人类的基因名字,有一个取巧的方法是把基因名字修改一下,如下所示:

[1] "PTPRC" "EPCAM" "MME" "CD3G" "CD3E" "CD68" "CD79A"
[1] "Ptprc" "Epcam" "Mme" "Cd3g" "Cd3e" "Cd68" "Cd79a"

居然有些人就开始指责我的教程,说这样误导大家了,不同物种的基因对应关系是有相应的同源基因数据库的,不能仅仅是把基因名字修改。让我很无语,难道我不知道可以严谨一点吗?

回归教程本身,人鼠基因转换之首字母大写在R语言的师兄,本着不想自己去造轮子的心态,搜索了一下:

https://stackoverflow.com/questions/6364783/capitalize-the-first-letter-of-both-words-in-a-two-word-string

发现了好多解决方案

后来我采用了 stringr 包的 str_to_title函数:

library(stringr)
genes_to_check = c("PTPRC","EPCAM", 'MME',"CD3G","CD3E", "CD68", "CD79A")
genes_to_check
genes_to_check=str_to_title(genes_to_check)
genes_to_check

大家也可以选择Hmisc包的capitalize函数,代码如下:

library(Hmisc)
genes_to_check = c("PTPRC","EPCAM", 'MME',"CD3G","CD3E", "CD68", "CD79A")
genes_to_check
capitalize(tolower(genes_to_check))

解决方案实在是太多了:The package BBmisc now contains the function capitalizeStrings.

甚至可以自己造轮子!

Comments are closed.