前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >数据存储格式小知识:tar、gz、tar.gz、mtx、tsv、csv大揭秘!

数据存储格式小知识:tar、gz、tar.gz、mtx、tsv、csv大揭秘!

作者头像
用户11414625
发布2024-12-20 16:40:04
发布2024-12-20 16:40:04
3170
举报
文章被收录于专栏:生信星球520生信星球520

我们在做数据分析时,会遇到不同的作者提供的各种各样的文件格式,一点都不统一。尤其是单细胞数据,格式更是多样。

例如这个GSE176078数据,它提供的格式就很杂乱,我不止一次发现很多同学并不认识这些格式!

我问:你的数据是什么格式?

回答tar的也有,回答gz的也有。tar和gz可不是真正的文件格式啊!

打包和压缩格式

🔖 TAR:想象一下,你有一堆文件想要打包带走,TAR就是那个打包盒。它将多个文件捆绑在一起,方便备份和传输。但它本身并不压缩,想要变小,还得找帮手👇。

🗜️ GZ:GZ就是那个帮手,它是GNU项目出品的压缩专家,能让文件体积大大减小,节省空间。

⚠虽然windows电脑上的gz文件图标像一个文件夹,但它不是文件夹哦。

gz只能压缩一个文件,如果要压缩多个文件,那就使用zip或者是先打包(tar)再压缩👇。

🧳 TAR.GZ:当TAR遇上GZ,就有了TAR.GZ。它结合了TAR的打包和GZ的压缩,是GEO数据库里非常常见的文件存储格式。

要查看别人提供的打包和压缩文件,需要解包和解压,用代码或者用解压软件都可以,例如7zip,右键一点,一看就会。

纯文本格式

或许不学编程时,并不知道表格还有除了xlsx之外的格式。

xlsx是excel的电子表格,他不是纯文本,不够纯粹,很多地方打开不方便。

套用我神奇的曾老板的一句名言:

电脑上的文件只分两类,一类是文本,一类是灰(非)文本!

所以tsv、txt和csv其实没有本质的区别,只是列与列之间的分隔符不同罢了!

这些文件都可以用excel打开,但你在excel里面是看不到分隔符的,因为excel是表格视图,它的竖线其实就是靠分隔符识别而来的。

比如一个csv文件:

如果用sublime或者记事本这类文件打开,就可以看到文件具体的分隔符 ,如果写代码要用到,就知道该写什么分隔符了。

📊 tsv:制表符分隔值,制表符在代码里写作\t,键盘上q前面的tab键按一下就是大概4个空格的宽度,那就是制表符,xlsx文件的分隔符也是制表符。

📋 csv:逗号分隔值。

🔖 txt:空格或者制表符分隔值。

mtx格式

🔢 mtx:只有单细胞数据才会用到mtx格式。10X的标准数据就是3个文件,其实上面的tar.gz里面就是3个文件:

它其实是把一个单细胞表达矩阵拆成3部分,行名列名各是一个tsv,主体部分非零的值,才记录在mtx文件里,主体部分每一行有三个数字,第一个是行号,第二个是列号,第三个是具体的值,没记录的全都是0。

例如这个文件里,总共有32738行,2700列,2286884个非零的值。后面几行则是:

第32709行,第1列的值为4,

第32709行,第1列的值为1...以此类推。

❓那它为什么不直接给咱一个表格文件呢,还要这样一个一个的写?

当然是因为单细胞矩阵里面0值太多,如果你去计算一下2286884/(32738*2700)你会发现只占到2.5%,也就是说绝大多数的格子里都是0,全部提供就太占地方了,所以才有了mtx这种格式,节省空间。

了解这些文件格式,才能知道自己该怎么提取数据和读取它们,读取不同格式的单细胞数据文件,墙裂推荐这一篇:https://mp.weixin.qq.com/s/KVsWoX6hCDl9TAgPR45NiA

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 打包和压缩格式
  • 纯文本格式
  • mtx格式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档