专栏首页优雅R毫秒级浏览超大文件(Gb级)- 天下武功,唯快不破

毫秒级浏览超大文件(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,感觉好多了

写在后面

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

本文分享自微信公众号 - 优雅R(elegant-r)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 绘图工具?你应该有‘掰弯’的能力

    写推文,我从来就不是纯粹地炫技,因为一旦有了TBtools,所有人都能轻易掌握并做得出来我推出来的所有图。

    王诗翔呀
  • ggplot2 案例:使用 ggplot2 绘制绘制一幅气泡地图展示各国疫情状况

    新冠肺炎确诊患者们都分布在那里呢?约翰·霍普金斯大学提供了一份数据集,使用这份数据集我们可以绘制一幅气泡地图展示这些确诊患者的分布,代码比较简单:

    王诗翔呀
  • 数据科学20 | 假设检验和P值

    假设检验用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。

    王诗翔呀
  • 10.2 打开与关闭文件

    例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。

    闫小林
  • 10.1 C文件有关的基本知识

    (1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容时程序代码。

    闫小林
  • 操作系统 文件管理 概述

    计算机的主要功能之一就是对数据进行数值或非数值计算。系统软件必须提供数据存储、数据处理、数据管理的基本功能。数据管理是通过文件管理的方式来完成的,而目录又是建立...

    Debug客栈
  • Python 3 【文件操作】

    Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。使用 open() 方法一定要保证关闭文件对象,即...

    用户6184845
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • 01月25日【Python3 基础知识】

    py3study
  • 操作系统入门(六)文件管理

    -文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识 -文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统

    看、未来

扫码关注云+社区

领取腾讯云代金券