SRA - NCBI
example - NCBI
要发文章了,审稿时编辑肯定会要求你上传NGS测序数据。
一般数据都是放在集群,不可能放在个人电脑上,因为有的数据大的吓人(几个T)。
所以我们就建一个文件夹,然后把所有需要的fastq文件链接到这个文件夹就行了(copy太慢,也太占空间)。
接下来,NCBI账号申请好了,那就可以直接上传了,用aspera来上传。
参考:
原始数据极速上传NCBI SRA教程 - 比较全面,基本照着做就好了
使用Aspera从EBI或NCBI下载基因组数据 - 补充aspera的使用方法
Tutorial: How to upload your data to the evil Sequence Read Archive (SRA)? - 英文版的,写的比较规范
你需要下载的是一个叫aspera connect的软件,aspera系列软件太多,别下错了。
这个奇葩的软件必须要到Linux浏览器里才能有下载链接出现,所以你得有一个Ubuntu系统。下载好了之后再传到集群上。
注意有个密钥(-i 选项)需要从ncbi上下载,最终上传页面上有。
NCBI上传数据到SRA,一切都比较顺利,只是需要你自己收集一些信息,填一些表。
这不是问题,要理解NCBI的数据管理架构!!!
但是我却遇到了一个天大的问题,直接花费了了我一晚上来解决,所以一定要耐心的看NCBi的错误提示啊。
Your table upload failed because multiple BioSamples cannot have identical attributes
就是在你填样品表时,除了一些必备列之外,其他列的信息不能完全一样!!!
所以我最终的解决方案就是,把样品名(肯定不一样)copy到某一列;或者直接在某一列填1累加的数字,防止重复。
如果你不好好看报错的话,真的是不知道这一步到底错在哪里。而且大部分老师的样品就是样品名不同,其他的信息都一样,所以看网上求助的人还是很多的,百度基本没有正确的答案。
之前的教程有误,现在系统的更正一遍。
1. 注册NCBI账号,https://www.ncbi.nlm.nih.gov/
打开首页,有个大大的submit图标,注册好,然后sign in。
选择自己要submit的项目:
- GenBank:一些组装好的序列,如基因组DNA,各种RNA
- Sequence Read Archive (SRA):所有的raw data只能上传到这里
- TSA:Submit computationally assembled, transcribed RNA sequences after submitting unassembled reads to SRA.
- GEO:Submit RNA-seq, ChIP-seq, and other types of gene expression and epigenomics datasets. 也就是我们常用的基因表达数据,这里可以上传处理后的数据,如count和TPM,FPKM等
- BioProject & BioSample:这是NCBI的核心组织架构,一篇文章就是一个BioProject,一个project里可以包含多个BioSample
推荐:在上传所有数据前,先建立BioSample条目,然后创建BioProject,将它们组织起来。【这里只是创建空的条目,后面再传raw data到SRA的时候可以链接到一起】
如下就是最终的架构:
我们再看个案例:
https://www.ncbi.nlm.nih.gov/bioproject/PRJNA558807
这里就是一篇NC上的文章,所有数据都放在一个project里,项目名字就是文章名字,介绍就是文章摘要。
Sequence data
- SRA Experiments 12
Publications
- PubMed 1
- PMC 1
Other datasets
- BioSample 12
- GEO DataSets 1
SRA数据上传操作细节:
这里不建议通过GEO上传raw data,直接去SRA数据库。
不要用ftp,除非你的网速和机器十分优秀和稳定,否则建议用aspera。【我用ftp就一直被ncbi拒绝连接】
构建好project喝sample之后,填好sra中fastq与sample的对应关系就可以开始上传了。
注意:填表的时候一个biosample最多只能有256个fastq文件,如果超过了就必须分批上传。【一个biosample可以有多行,但是library必须不同,以作区别】
~/.aspera/connect/bin/ascp -i /home/you/.aspera/connect/aspera.openssh -QT -l3m -k1 -d /home/you/project/scRNA-seq/rawData/your.dir/geo_submission_2020Mar30 your.address_from_ncbi
可以用nohup放在后台运行,
关于文件收集:
- 建一个文件夹,如geo_submission_2020Mar30
- 找到之前流程的file list文件,绝对地址不要老是变
- 构建超链接,放入子文件夹
- 筛选出特定的样本文件
cut -f2 all.csv -d, | xargs -I{} ln -s {} ./geo_submission_2020Mar30
cut -f3 all.csv -d, | xargs -I{} ln -s {} ./geo_submission_2020Mar30
关于处理后文件的上传(基因表达谱):
案例:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE144980
不管再大的项目,流程熟了,基本半个工作日就可以完成数据的上传,然后看网速,等全部upload了就可以一键submit。【我限速3M,大概3个小时可以传5G的数据】
NCBI的数据管理架构非常值得学习。
ftp的代码:
open ftp-private.ncbi.nlm.nih.gov
ncftp -u geoftp ftp-private.ncbi.nlm.nih.gov cd uploads/ellylab_0zSn02Ma
lcd /home/lizhixin/project/scRNA-seq/rawData/SAG_HCO.upload.ncbi
put -R geo_submission_2020Mar30