为什么要学编程
帮同学处理一下他从公司拿到的差异分析结果,当然,给我的是Excel表格,老规矩,导出csv然后读入R,然后准备顺手画个火山图,做个GO/KEGG富集分析。下意识的看了看数据结构,然后顺手按照基因名排序了一下,哈哈哈~
这是一个大坑。
就因为这个还有两篇文章;
- Mistaken Identifiers: Gene name errors can be introduced inadvertently when using Excel in bioinformatics 2004年
- Gene name errors are widespread in the scientific literature 2016年
也有人在论坛上面发问,高达2K的阅读量: https://www.biostars.org/p/211861/Some gene names start with APR/MARC/SEPT etc default converted into date format.
我们生信技能树论坛也有人分享过: [Excel*-坑你的基因名没商量!](http://www.biotrainee.com/thread-908-1-1.html)随意篡改20%的遗传学论文! 可就在今年8月份,三位科学家在《Genome Biology》期刊上发表论文,称他们发现20%的遗传学论文包含了Excel软件导致的基因名转换错误。他们对论文进行的扫描显示,科学文献中的基因名错误十分普遍,在默认设置下Excel软件会将基因的名字转换成日期或浮点数。 举例来说,基因名字SEPT2和MARCH1会被分别转换成2-Sep和1-Mar;标识符2310009E1被转换成浮点数2.31E+13。
但是,如果你会编程的话,事情就很简单咯
a$Gene.Symbol=unlist(lapply(as.character(a$gene_assignment),function(x){trimws(strsplit(x,'//')[[1]][2])}))