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

关于文件收集:

  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

  

上传RNA-seq数据到NCBI GEO数据库的更多相关文章

  1. WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)

    简单的Demo,用于了解WebAPI如何同时接收文件及数据,同时提供HttpClient模拟如何同时上传文件和数据的Demo,下面是HttpClient上传的Demo界面 1.HttpClient部分 ...

  2. JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理

    文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结   JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语 ...

  3. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  4. 使用WebClient Post方式模拟上传文件和数据

    假如某网站有个表单,例如(url: http://localhost/login.aspx):帐号  密码 我们需要在程序中提交数据到这个表单,对于这种表单,我们可以使用 WebClient.Uplo ...

  5. 用SecureCRT来上传和下载数据

    借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器. 其中,对于sz和rz的理解与记忆我用了如下的方法(很多时候容易搞混): ...

  6. Excel上传并读取数据

    最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUp ...

  7. Excel VBA宏 链接服务器 上传和下载数据

    首先说明以下. 第一: 下面的 “ _" 也就是 空格下划线 在VBA中表示换行的意思:& 表示链接连个字符串的操作,注意 & 的前后是否需要空格 第二: 如果链接服务器,服 ...

  8. Layui上传文件以及数据表格

    layui对于一些前端小白来说,例如我,真的非常的好用,不用去花很多很多的心思在前端美化中,并且提高了很大的工作效率.所以建议一些觉得自己前端技术不是很强,但是想让前端美化一点的可以使用layui. ...

  9. 使用phpExcel批量上传excel表数据到mysql数据库中

    /*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件') { //导入类文件 require_once (& ...

随机推荐

  1. fatal: [db01]: FAILED! => {"changed": false, "msg": "The PyMySQL (Python 2.7 and Python 3.X) or MySQL-python (Python 2.X) module is required."}

    centos7.5 使用ansible中的role安装mariadb创建用户报错 错误: [root@m01 roles]# ansible-playbook site.yml TASK [mysql ...

  2. Restful framework【第十篇】响应器(渲染器)

    基本使用 -响应器(一般用默认就可以了) -局部配置 renderer_classes=[JSONRenderer,] -全局配置 'DEFAULT_RENDERER_CLASSES': ( 'res ...

  3. Redis常用操作大全和Python操作Redis

    简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ...

  4. Linux 题目收集

    目录 1.库函数,系统调用,用户态及内核态 2.查看进程,杀死进程 3.查看文档 4.scp命令 5.不在 sudoers 文件中.此事将被报告 6.chmod: 更改"minikube&q ...

  5. BZOJ5479: tree

    Description 给出一棵树,根节点为1 给出两个集合,集合由树上节点组成 从两个集合分别选出一个元素,求其LCA 问LCA的最大深度是多少 Input 第一行给出数据组数T 对于每组数据 第一 ...

  6. SPOJ 687 REPEATS - Repeats

    题意 给定字符串,求重复次数最多的连续重复子串 思路 后缀数组的神题 让我对着题解想了快1天 首先考虑一个暴力,枚举循环串的长度l,然后再枚举每个点i,用i和i+l匹配,如果匹配长度是L,这个循环串就 ...

  7. URAL 1004 Sightseeing Trip(floyd求最小环+路径输出)

    https://vjudge.net/problem/URAL-1004 题意:求路径最小的环(至少三个点),并且输出路径. 思路: 一开始INF开大了...无限wa,原来相加时会爆int... 路径 ...

  8. ArcGis连接oracle、oracle配置

    服务器:Oracle 11g(我是默认路径安装,自定义路径没成功,不知道为什么) 客户端:arcgis desktop 10.2.oracle 11g 32位客户端 客户端:arcgis server ...

  9. QT移植无法启动 This application failed to start because it could not find or load the QT platform

    QT配置好在自己机器上可以运行,但在别人机器上一直弹出 "This application failed to start because it could not find or load ...

  10. JS加载获取父窗体传递的参数

    JS加载获取父窗体传递的参数 $(document).ready(function () { var query = location.search.substring(1); var values ...