1.充满恶意的Excel自动转换
做基因组学分析时发现,在默认设置下将数据导入Microsoft Excel后,部分基因名会自动转换为日期或浮点1。2016年发表于Genome Biology上的一项研究显示,补充材料里包含Excel格式基因名的文献中,约有20%出现了这种错误的转换2。
The spreadsheet software Microsoft Excel, when used with default settings, is known to convert gene names to dates and floating-point numbers. A programmatic scan of leading genomics journals reveals that approximately one-fifth of papers with supplementary Excel gene lists contain erroneous gene name conversions.
举例来说,将下表中第一列的数据导入Excel后,将自动转换为第二列的内容:
源格式 | 导入Excel后的格式 |
---|---|
MARC1 | 1-Mar |
MARCH1 | 1-Mar |
DEC1 | 1-Dec |
231012E4 | 2.31E+09 |
123E1 | 1.23E+03 |
*请注意,基因MARC1和基因MARCH1均被转换成了1-Mar。
一旦导入Excel后,这种转换是不可逆的,也就是说无法通过将单元格格式设置为文本格式修复。
如果我们尝试修改单元格格式为文本,将出现下图第三列所示的内容:
源格式 | 导入Excel后的格式 | 导入后再将单元格设置为文本格式 |
---|---|---|
MARC1 | 1-Mar | 43525 |
MARCH1 | 1-Mar | 43525 |
DEC1 | 1-Dec | 43800 |
231012E4 | 2.31E+09 | 2.31E+09 |
123E1 | 1.23E+03 | 1.23E+03 |
看到43525,43800这种数字,是不是感觉很眼熟?我相信很多人的基因Excel表里都有他们的存在。那么这个数字是怎么来的呢?
Excel的日期默认是从1990/1/1开始的,也就是说1900/1/1转化为数字格式将是1。而笔者写本文的时间是2019年,所以MARC1基因转换为1-Mar,也就是2019/3/1,它的数字格式为2019/3/1减去1900/1/1,即43525。
这一问题困扰了非常多的的科研人员,在Biostar上相关问题的点击已经超过3.5K3。
2.如何避免这种转换?
最简单的方法,新建Excel表,单元格全选,更改为文本格式,然后再导入数据。但这种方式不利于数字计算。
此外,Eric A. Welsh开发了一个小工具escape_excel
以阻止这种转换,其原理十分简单,就是在原始数据前后加上引号。这项工作还在2017年发表到了Plos One上4,5。(不得不说,想发表文章,idea非常重要)
该工具提供在线版本,Windows系统下的Excel插件,Perl脚本和Galaxy访问接口,教程请参见作者Github6。
3.已经转换的数据如何处理?
建议从测序原始数据中提取正确的基因名,毕竟测序公司输出的文件一般都不是Excel格式。
如果找不到原始数据,也没有NCBI_GENE_ID或其他数据库基因ID,我们还是能把转换成日期或数字的基因名尽量还原。
日期格式的基因名:
以1-Mar为例,由于Excel日期转换只针对3个或以上字母的匹配,所以它的原始基因名可能为MAR1或MARC1或MARCH1,检索得知不存在MAR1基因,所以范围缩小到MARC1基因或MARCH1基因。
数字格式的基因名:
以43525为例,先将单元格转化为日期格式2019/3/1,忽略年份得到1-Mar,后续步骤同上。
因此,43160转化后的结果也为1-Mar,这与转换发生时的年份有关,但不影响还原方式。
以上就是基因名被EXCEL自动转换的解决方案了。最后留一个小建议,在操作每一个文件前,请先留好备份,以免发生意外情况。
参考资料:
1. Zeeberg B R , Riss J , Kane D W , et al. Mistaken Identifiers: Gene name errors can be introduced inadvertently when using Excel in bioinformatics[J]. BMC Bioinformatics, 2004, 5(1):80-0.
2. Ziemann M , Eren Y , El-Osta A . Gene name errors are widespread in the scientific literature[J]. Genome Biology, 2016, 17(1):177.
3. Question: How to avoid conversion of gene symbols to date format in Excel
4. Welsh E A , Stewart P A , Kuenzi B M , et al. Escape Excel: A tool for preventing gene symbol and accession conversion errors[J]. PLOS ONE, 2017, 12(9):e0185207-.
5. Escape gene name-mangling with ‘Escape Excel’
6. escape_excel插件的github地址