上传RNA-seq数据到NCBI GEO数据库

时间:2024-10-23 08:04:31

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的时候可以链接到一起】

如下就是最终的架构:

上传RNA-seq数据到NCBI GEO数据库

我们再看个案例:

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放在后台运行,  

关于文件收集:

  1. 建一个文件夹,如geo_submission_2020Mar30
  2. 找到之前流程的file list文件,绝对地址不要老是变
  3. 构建超链接,放入子文件夹
  4. 筛选出特定的样本文件
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