公开可获取~没有下载不到的测序原始数据!
写在前面
课题需要,前述,在TBtools中开放了一个SraExperimentXML2InfoTable的功能。在这个功能的辅助下,我们较快的完成了阶段任务。筛选数据完成了,但是下载数据却出现了问题。
主要遇到的问题是
NCBI的数据,似乎有时候能下载到,有时候却下载不到。或许网速是一个原因,但我更多地开始认为或许NCBI并没有存储所有的短读段测序数据。DDBJ也是一样。相反ENA似乎存储全面,只是传输速度一般。
无论如何,下载数据的第一步是需要获取数据所在链接。
为了让小课题成员快速获得链接并完成各自的任务,我做了两个小事情。
优化原有功能
对SraExperimentXML2InfoTable工具的输出,增加两列,
NCBI FTP link
DDBJ Potential FTP link
如图
总的来说,NCBI FTP link多数时候是可以下载的;而DDBJ存储的数据确实很少,所以link是Potential的,意思就是,数据很可能并不存在。我个人的经验是,NCBI下载不了的时候,从DDBJ的link却常常可以下载。
But,最优秀的终归还是ENA。如前所述,ENA不仅存储了数据的SRA格式的数据,还存储了Fastq格式。在早前NCBI还没发表fasterq-dump时,直接下载fastq.gz文件的整体耗时明显短于下载SRA格式数据之后用fastq-dump转格式。
虽然现在耗时不相上下,不过下载fastq.gz仍然是一个选择,比如,你并没有fasterq-dump的时候,你却一定会有gzip甚至是pgzip.
Anyway,总会有某种情况,我们会需要从ENA下载数据,无论是SRA格式还是DDBJ格式。正如我们本次课题遇到的情况。所以TBtools增加一个功能
基于SRRnum获取ENA links信息
ENA存储测序数据,并没有绝对的规律,部分数据有专门的目录,部分数据放在不同深度的目录。故,无法通过像NCBI或者DDBJ一样的操作去拼接链接。而只有两个操作:
爬虫,解析整个ENA的FTP,获得并保存文件地址
爬虫,针对给定的SRR获取其对应的信息
第一个操作比较重,很多时候也没必要。于是我采用的是第二个操作。花了大半个小时,顺带打了GUI
打开TBtools,跳转到对应功能
设置输入文件,图中可见,准备一个txt文本文件,每行一个SRR number,保存并用做输入;设置输出文件,注意补齐文件名。
为了避免被ENA封杀IP,操作是大概每个SRRnumber信息获取后等待1~3s,所以输入100个SRRnum可能需要花5min才能将信息获取完毕。
信息获取完毕后会有弹窗提示,所以此时最好去玩一局贪吃蛇。
OK,弹窗时,贪吃蛇是没有暂停的(所以一定会Game Over),用Excel打开结果文件
可以看到,左侧即为fastq.gz文件下载链接(推荐用aria2c或者迅雷,IDM下载),右侧为sra格式文件
写在后面
公开可获取的测序数据下载,到这篇就基本终结了,下一步就是下载,有的人会建议用 aspera ,然而这个在一些网络下并不太稳定。大多数人,其实并不需要下载很多的数据,有了上述三个数据库的链接,那么可以用各式各样的下载工具下载,比如 wget IDM 迅雷 等等....
PS:如果作者就是没上传测序数据,那真的是没办法了,哈哈哈哈哈哈哈哈哈哈。