毫秒级浏览超大文件(Gb级)- 天下武功,唯快不破

写在前面

人性!在我们开展生物信息数据分析的过程中,总是有一些咋看起来奇怪,但事实上却合情合理的需求,比如本文主题,打开文件,看看里面都是啥?。一般这种需求的产生有两种原因:

  1. 高通量测序数据分析结果,总是产生大文件(上Gb的基因组序列文件)或者大表格(不好意思,还真有上G的制表符分隔文件,如表达量和各种注释信息一起的文件,或者vcf文件)

  2. 不知为何,就是想看看

前一点是可以理解的,毕竟大文件,不好找到软件去查看。如果是在Linux或者其他nix流派,直接head或者tail即可,但在可视化界面工具上,极少。估摸着,可能是五年前的事情,那会有个朋友,就是想看看一些公司结题报告中的基因注释信息文件【注:文本文件,以.xls为后缀,Excel是打不开的】。索性,我就写了两个功能:BigTextPreview 和 BigTablePreview。

两者目的相似,主要在于,预览大文本和大表格。有使用 TBtools 的朋友应该会有体会,不少工具,拖拽并放置输入文件,TBtools 会自动弹出文本预览窗口...这个预览窗口几乎是毫秒级弹出,无论文件多大,比如几百Gb。

BigTextPreviw的使用

前述菜单,点击即可弹出对话框,直接拖拽文件并放置其中,即可瞬间显示文本,毫无卡顿

动图没做任何修剪。这个原理很简单,从代码实现的角度,就是直接读取一部分文件内容,直接展示,所以是毫秒级。当然,你可以点击Next Page不断翻页。整体上,用于预览已经足够。
同时,这个功能直接支持.gz压缩的文件,比如你的基因组文件太大(如小麦16Gb+)或者甚至,你就是要看看公司返回的测序原始数据.fq.gz,那么操作完全相同。

BigTablePreview的使用

事实上,这个功能跟 BigTextPreview 类似,只是以表格的方式来展示。很多生信数据分析结果文件,以制表符或者csv格式保存,比如基因结构注释文件 GFF3/GTF。大多数时候这类文件就几十Mb,使用 Notepad++的文本编辑器也可以查看,只是速度慢了点。但有时候,GFF3或者GTF文件也可以达到上G大小。于是,使用 TBtools 做简单的预览,就显得方便。

当然了,这个一样支持.gz压缩的文件...具体就不做演示。

浏览,而不仅仅是预览

人性啊~ 正如文首,有些时候人总是有各种好奇心,不知为何,就想看看。比如,几十Mb或者几十Gb的文件,就是手痒,想随便翻翻。这个时候,常见的文本编辑器可能确实无法满足你的需求。很早前,我用过一个叫 EmEditor,还是不错,但为了看看文件,专门去下载一个软件,并挑选他的yan'ge免费版,不是我的操作习惯。正好,有用户直接在群里开怼,提到 TBtools 功能有限,为啥看不到大文件云云。搞下来,发现其并没有更新。于是我又看了看以前写的Code,写得挺好,就是有时候用起来不爽,只能看头,不能看脚,有时候还会遇到用户想看中间~~。于是顺手就实现了一个,前后不到一个小时,具体翻公众号历史推文。效果如下:

浏览序列文件感觉似乎确实没啥用,那就自由地浏览gff3文件试试

Emmm,感觉好多了

写在后面

其实...没什么好写的。只是人啊,有时候总是被自己一个人感动。于是才会有我哭了,你呢?
不同的视角,看到的问题完全不同。感同身受,是个伪命题。
正如我可能永远想不明白,为什么存在这么一种需求,不知为何,就是想看看。但需求,应该被考量,被接受,而不是批判。于是我又花多一个小时加了一个功能。受益的不只是需求方,也包括我自己。

(0)

相关推荐