注:众筹已结束!没想好怎么释放才对得起前期支持开发的朋友们。月内有空再说吧。 -- 简而言之,本文部分内容只适合看看,无法实操。
写在前面
恍恍惚惚,一个多月就过去了。七月底,我在公号上提出,要搞点事情,通过实现一系列插件,让所有人都可以在笔记本上完成基本的 RNAseq 数据分析。九月初,这正是开学的时候,系列插件已经完成。
我依稀记得两三年前,那会或是博一博二。一次多课题组联合组会上,我大体分享了 TBtools 相关开发和功能。唯一一个问题问到的是,能不能直接从测序数据开始分析。我的回答当然简单,大多数人计算资源不足,这块 TBtools 没有覆盖。换句话说,不能(但其实,我自己很清楚,勉强实现,不可能不行)。三年后,马上也毕业滚蛋了。联合组会似乎差不多就那一场之后不久,再也没有办过?
多多少少,想法总是美好的,只有实现的过程中才明白现实有多残酷。说了这么多,其实我只是想说。如果那个问题再问一次,那么现在的答案就是能。
实现过程 - 八步走
往往,我为了实现一系列的分析,会分成多步走。比如 TBtools 的热图工具,他是一天写完,但也不是一天就写完。写之前,有 JIGplot 的各种优化,有聚类算法的实现,有Newick树的解析等等;写之后,还有大量新的思路和想法来优化。同样的情况也发生在 RNAseq 系列插件上。
整体上,覆盖了数个功能,四个插件:
- SRA 数据查询与整理:SRA XML to Table,见推文:挖掘SRA的辅助小工具(NCBI高通量测序数据收录库)https://mp.weixin.qq.com/s/FnuSUqhpyKqm_HYpu6phnw
- SRA 数据链接获取:SRA XML to Table 和 SRA Number to ENA Info. 前者已经包括了 NCBI 和 DDBJ 数据下载链接,后者主要作为补充,附加 ENA 下载链接(更为稳点)。详细见:公开可获取~没有下载不到的测序原始数据!https://mp.weixin.qq.com/s/CS04e0QRjq0B-NZUfCpUAg
- Ascp GUI Wrapper:个人实测,每天清晨通过 FTP 链接下载测序原始数据,速度可以达到 10Mb/s。但更多时候数据只有不到 300Kb/s。网络合适的情况下,可以使用 Aspera ,速度可以达到 30Mb/s。于是写了并公开释放了这个插件,详细见:插件 | 人人-点点点-光速下载 NCBI/ENA NGS原始数据 https://mp.weixin.qq.com/s/YYneVPb3V6Dq5WXiq2JYTQ
- SRAtoFastq,sra 是 NCBI 定义的二代数据存储格式,文件大小比fastq.gz下,考虑网络带宽的情况下,下载 sra 数据更方便。下载后需要进行转换,于是有了插件,详细见:SRAtoFastq | 任何人都能自主分析测序原始数据 https://mp.weixin.qq.com/s/WC6Q1wr2M4CsdVZ2XYFjRA
- FastQC,无论是NCBI SRA等数据库下载,还是公司返还的测序数据,多少还是要看下测序质量,确保质量OK 或者不要有样品降解,严重污染云云,于是有插件,详细见:插件FastQC | 点点点,人人看看测序数据质量 https://mp.weixin.qq.com/s/Sz9enr_8s9P0goxEObn4TA
- Trimmomatic,无论转换得到,或者是公司测序后返还的 Fastq.gz 数据往往是原始数据,通过 FastQC 可以判断,随后进行质量控制,如去除接头和低质量碱基,于是有插件,详细见:Trimmomatic | 点点点,测序原始数据质控,技能√get https://mp.weixin.qq.com/s/Gmazcogi2KBNkv7J4hXh9Q
-
Kallisto,RNAseq 数据的基本分析和目的,就是获得基因表达量矩阵。在普通笔记本上,如 4G 内存云云,那么 Kallisto 是最好的选择,于是有插件,详细见:
Kallisto | 点点点,从 测序数据 到 基因表达量矩阵 人人都可以! https://mp.weixin.qq.com/s/zhYjsF-LiPzPetbVh7bfcA - Trans Value Sum,Kallisto 分析结果是转录本水平的表达量或Counts矩阵,但很多人感兴趣的是基因水平的,于是,公开释放了功能,详细见:汇总 | 转录本表达矩阵 到 基因表达矩阵 https://mp.weixin.qq.com/s/JPM7ofuqZcKPZjySL7w5lA
至此,完结。
因为接下来的步骤,那么无非是:
- 差异表达分析,拿到Counts 矩阵后,可以用我齐哥的网页工具(后续写个教程贴)
- 富集分析(GUI 的,基于最常用的,直接使用 TBtools 使用手册,几年前已经个释放了)
- ... 暂时没想出其他通用的分析步骤...
写在最后
复述 / 改编一个故事。
一个富商喜爱垂钓,奋斗一生,停歇下来便以钓鱼为人生乐趣。一天,他在河边垂钓时遇到一个老渔翁,见老渔翁手法纯熟,大鱼小鱼频频上钩,故向其讨教钓鱼技巧。老渔翁教授之余问道:人生在世要享受生活,你看看我,一直在钓鱼,享受一生;而你终日满足,而今闲暇时才能来钓鱼,为何不开始就和我一样来钓鱼呢?
这是有趣的故事,既然目的就是钓鱼,为什么不一开始就来钓鱼,奋斗一生,还是来钓鱼嘛不是。
但是,只要转念一想,就会发现,虽然富商和老渔翁一样,人生乐趣是钓鱼,现在也在钓鱼。但最大的区别在于,相比于老渔翁,富商钓鱼的同时,还有很多选择,比如可以去旅游?购物?烹饪?美食?云云。而老渔翁,常常只能钓鱼。
世事皆如此,大家最大的区别常常不在于做的是什么,而是能不能选择做什么或者不做什么,更或者说,有没有得选择?
TBtools 的 RNAseq 系列插件 提供了一个选择,即使不会编程,没有时间,没有服务器,任何人一样可以分析别人公开发表的(或者自己以前获得的)测序数据,进而验证自己的科研想法。
那么又回到最早提出这个想法的时候....
最后,这一系列插件众筹结束,换句话说,已经有一部分用户在使用了,后续没啥问题了,再行查看如何释放更为合适。
今天是周一,祝大伙本周科研顺利,该 accepted 的 paper 就 accepted。