前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NODE高通量数据库基础介绍及其页面规律

NODE高通量数据库基础介绍及其页面规律

作者头像
生信技能树
发布2021-02-03 16:00:22
2.4K0
发布2021-02-03 16:00:22
举报
文章被收录于专栏:生信技能树生信技能树

后起之秀奔涌而至,欢迎大家在《生信技能树》的舞台分享自己的心得体会!

上面是新晋小编“十年”的团队的稿件

前面我们分享了 中国测序数据另外一个中心CNGBdb 以及中科院北京基因组研究所生命与健康大数据中心开发的原始组学数据归档库GSA (Genome Sequence Archive):不止是NCBI的SRA可以下载测序数据,下面让我们一起看看另外一个国产数据库吧!

1. 简介

National Omics Data Encyclopedia,NODE,国家组学数据百科全书(也太霸气了),是由中科院上海营养与健康研究所及中科院计算生物所PICB 建立的,致力于:

1)全方位的大数据服务,存储、分析、处理和分析;2)建立生物医学数据资源应用的技术架构;3)加速大数据在生物医学应用的进程。

数据库链接:https://www.biosino.org/node/

目前和NCBI 的SRA 数据库,中国的CBCB 等一样,也存储了很多的序列数据。

如之前上海单位疫情中在nature 上发表的这篇文章,就将结果也共享在了node 上:

2. 注册

令人惊讶的是,我直接用商业邮箱(foxmail)就注册成功了:

ps:因为它说我的学生邮箱不合法,哈哈哈

甚至还会可视化你的访问记录,有点酷:

3. 高通量数据获取

可以直接通过搜索文章中的OEP 编号获取,比如OEP000155:

https://www.biosino.org/node/search

如果显示public 则可以直接访问。

可以直接点击里面的数据进行访问:

也可以下载它们:

甚至还提供了作者的分析的数据,比如突变和拷贝数数据,以及表达矩阵:

都是一些比较必要的数据,比如md5。

但是,我目前还没有发现网站批量下载的接口,仅仅是提供了一个html 和ftp 的下载方式:

代码语言:javascript
复制
https://www.biosino.org/download/node/data/public/OED063528

从批量下载和下载时间上,感觉还是原始了一些。

目前该数据库收录的数据还不是很多,应该也在蓬勃发展吧:

4. 分析工具

除了存储的功能,该网站还提供很多的其他的数据库:

以及在线分析功能:

希望它可以蓬勃发展吧!

不过值得吐槽的是,虽然是中国人做的,但网站竟然没有中文界面!!

node数据库页面规律

以前jimmy老师分享过 SRA和GEO数据库的规律,见:

和geo以及SRA 数据库一样,node 数据有没有存放规律呢?

通常NODE 中的高通量项目数据分为五类:

参考页面:https://www.biosino.org/node/project/detail/OEP000155

  • Project ID,OEP000155,OEP 开头,为项目ID;
  • Experiment ID,OEX001583,OEX 开头,为实验ID,对应实验类型,如rna-seq、microarray、wes等;
  • Sample ID,OES014891,OES 开头,为样本ID,对应临床样本,是和实验使用的临床样本中记录的名称对应的;
  • Run ID,OER028237,OER 开头,为具体的样本在某实验的数据,如测序数据、芯片数据等。
  • Data ID,OED065488,OED 开头,为具体数据的下载ID,我们可以通过该ID 直接下载数据,如https://www.biosino.org/download/node/data/public/OED064632
  • Analysis ID,OEZ000398,OEZ 开头,为作者提供的一些额外的分析文件,如FPKM 矩阵、拷贝数或变异位点的分析结果,同样也是对应一个或多个OED(如一个FPKM 对应log2 前后的矩阵)。

一篇文章一般对应一个OEP 项目,而一个OEP 项目由多个OEX 实验,而每个OEX 实验中包含了全部参与该实验sample 的OER 信息,而OES 的样本中也可以获取该临床样本所参与的全部OEX 实验中的OER 信息。而一个OER 数据可能包含一个或多个下载数据(如双端测序fq文件,则该OER 下对应R1 和R2 的OED 信息)。

令人难过的是,我发现OED 的排列和前面的其他数据排列并没有任何的规律:

代码语言:javascript
复制
OEP000155   OEX001584   OES014455   OER026801   OED064632
OEP000155   OEX001583   OES014428   OER026252   OED063807

OEP000077   OEX000085   OES002007   OER008964   OED006656
OEP000077   OEX000085   OES002015   OER008965   OED006634

比如上面来自不同项目的数据,是完全没有规律的。

但是node 数据库提供了一个导出所有元数据的接口:

通过该接口,我们可以将所选的类型下数据的元数据下载下来,比如我选择了外显子的OEX 数据:

包含关于OEX 的全部RUN:

image.png

可以通过正上方的按钮获取元数据:

image.png

其中包括:

代码语言:javascript
复制
project_id  experiment_id   sample_id   run_id  data_id security    fileName    url MD5
OEP000155   OEX001583   OES014483   OER026249   OED063528   Public  FUSCCTNBC001.TT_WES_R1.fastq.gz https://www.biosino.org/download/node/data/public/OED063528 d8681c1944d882f5d86ac7f22867f95c
OEP000155   OEX001583   OES014483   OER026249   OED063804   Public  FUSCCTNBC001.TT_WES_R2.fastq.gz https://www.biosino.org/download/node/data/public/OED063804 6d01270fa509f2af6b457253cb35e02f
OEP000155   OEX001583   OES014784   OER026250   OED063529   Public  FUSCCTNBC002.TT_WES_R1.fastq.gz https://www.biosino.org/download/node/data/public/OED063529 e020d2b79d165c18ea921cd85f66861e
OEP000155   OEX001583   OES014784   OER026250   OED063805   Public  FUSCCTNBC002.TT_WES_R2.fastq.gz https://www.biosino.org/download/node/data/public/OED063805 498830f375f72a414c26fbc7241b15e2
OEP000155   OEX001583   OES014467   OER026251   OED063530   Public  FUSCCTNBC005.TT_WES_R1.fastq.gz https://www.biosino.org/download/node/data/public/OED063530 fc91b5c36a62f5e93b39d2a95aab9868
OEP000155   OEX001583   OES014467   OER026251   OED063806   Public  FUSCCTNBC005.TT_WES_R2.fastq.gz https://www.biosino.org/download/node/data/public/OED063806 bf37bc65c624877b0c8df9a348ba6ea7
OEP000155   OEX001583   OES014428   OER026252   OED063531   Public  FUSCCTNBC006.TT_WES_R1.fastq.gz https://www.biosino.org/download/node/data/public/OED063531 42a6d73596f908f68a87532660bf3535
OEP000155   OEX001583   OES014428   OER026252   OED063807   Public  FUSCCTNBC006.TT_WES_R2.fastq.gz https://www.biosino.org/download/node/data/public/OED063807 99ae023111d64b50ffafb3e27cfaa917
OEP000155   OEX001583   OES014628   OER026253   OED063532   Public  FUSCCTNBC007.TT_WES_R1.fastq.gz https://www.biosino.org/download/node/data/public/OED063532 d3dbd153b524eebae6aa04c90145b017

这里我截取了一部分的内容。

这时候如果你会linux 的话,就可以尝试直接获取一下上面的下载链接来使用wget 的方式批量下载了,先提取一下下载链接:

代码语言:javascript
复制
$ cat download.txt | cut -f8 | sed '1d' | head -3
https://www.biosino.org/download/node/data/public/OED063528
https://www.biosino.org/download/node/data/public/OED063804
https://www.biosino.org/download/node/data/public/OED063529

这里我只选择了三个,用wget:

代码语言:javascript
复制
nohup cat dl_link | xargs wget &

速度还是很快的,i了i了:

代码语言:javascript
复制
OED063528             2%[                    ] 146.23M  16.9MB/s    eta 4m 29s
-rw-rw-r-- 1 yzpeng yzpeng 5.1G 1月  18 11:22 OED063528
-rw-rw-r-- 1 yzpeng yzpeng 5.3G 1月  18 11:32 OED063529
-rw-rw-r-- 1 yzpeng yzpeng 5.5G 1月  18 11:27 OED063804

因为OED 只是一串ID,接着我们还需要获取OED 和对应fileName 的文件,将下载的OED 名称修改为对应的fq 文件名:

代码语言:javascript
复制
$ cat download.txt | cut -f5,7 | sed '1d' | head -3
OED063528   FUSCCTNBC001.TT_WES_R1.fastq.gz
OED063804   FUSCCTNBC001.TT_WES_R2.fastq.gz
OED063529   FUSCCTNBC002.TT_WES_R1.fastq.gz

批量修改一下:

代码语言:javascript
复制
cat download.txt | cut -f5,7 | sed '1d' | head -3 > oed2fq_name

我linux 还是能力有限,尝试R 修改一下:

代码语言:javascript
复制
> var = read.table(file = 'oed2fq_name', header = F)
> var
         V1                              V2
1 OED063528 FUSCCTNBC001.TT_WES_R1.fastq.gz
2 OED063804 FUSCCTNBC001.TT_WES_R2.fastq.gz
3 OED063529 FUSCCTNBC002.TT_WES_R1.fastq.gz
> for (i in 1:nrow(var)){ file.rename(var[i,1], var[i,2]) }

$ ls *.fastq.gz
FUSCCTNBC001.TT_WES_R1.fastq.gz  FUSCCTNBC002.TT_WES_R1.fastq.gz
FUSCCTNBC001.TT_WES_R2.fastq.gz

我们还可以获取一下元数据中的md5 信息,进行下载后的文件完整性验证:

代码语言:javascript
复制
$ cat download.txt | awk '{print $9,$7}' | tr '\t' '  ' | sed 's/[ ]/  /' | sed '1d'
d8681c1944d882f5d86ac7f22867f95c  FUSCCTNBC001.TT_WES_R1.fastq.gz
6d01270fa509f2af6b457253cb35e02f  FUSCCTNBC001.TT_WES_R2.fastq.gz
e020d2b79d165c18ea921cd85f66861e  FUSCCTNBC002.TT_WES_R1.fastq.gz

验证一下:

代码语言:javascript
复制
$ cat download.txt | awk '{print $9,$7}' | tr '\t' '  ' | sed 's/[ ]/  /' | sed '1d' > md5.txt
$ md5sum -c md5.txt 
FUSCCTNBC001.TT_WES_R1.fastq.gz: OK
FUSCCTNBC001.TT_WES_R2.fastq.gz: OK

我们也可以和我们从EBI 上下载的数据验证一下md5,查阅一下FUSCCTNBC001 对应的SRR 号为SRR8517928:

它们的md5sum 竟然是不同的。

代码语言:javascript
复制
$ md5sum FUSCCTNBC001.TT_WES_R1.fastq.gz 
d8681c1944d882f5d86ac7f22867f95c  FUSCCTNBC001.TT_WES_R1.fastq.gz
$ md5sum /home/data/tnbc/public_data/FUSCCTNBC/SRR8517928_1.fastq.gz
c6b7aa4eaeb0d9ac31ed90759076d638  /home/data/tnbc/public_data/FUSCCTNBC/SRR8517928_1.fastq.gz

大小也不同:

代码语言:javascript
复制
-rw-r--r-- 1 tnbc tnbc 5.2G 12月 29 10:18 SRR8517928_1.fastq.gz
-rw-rw-r-- 1 yzpeng yzpeng 5.1G 1月  18 11:22 FUSCCTNBC001.TT_WES_R1.fastq.gz

node 下载的数据要偏小一些。

会不会两个数据是分别存放的是肿瘤和正常对照的样本呢?

看了一下前面几行:

代码语言:javascript
复制
$ zcat FUSCCTNBC001.TT_WES_R1.fastq.gz | head
@ST-E00167:149:HLFWNCCXX:3:1101:5477:1625 1:N:0:CAGATCTG
NATATACTCAAAAGAACTGAAAGCAATGCAGGCTGGCTGTGGTAGCTCACACCTGTAATCCTAGCATGTTGGGAGGCTGAGGAGGGTAGATCGGAAGAGCACACGTCTGAACTCCAGTCACCAGATCTGATCTCGTATGCCGTCTTCTGC
+
#AAFFAKFK<FFKKKKKFKKKFKKKK,FA<KFA<<<(,AKK<F,FKAAFAKK,7<7KK7FKFKKKKKKKAFKKFKFA<,AKKA7F7,A7K7FAFFK7FF,FAKFKF,7FAFKFK7FFAFFKKFKKA<7AK7,,,AFKKF,,AA(,,7,,A

$ zcat /home/data/tnbc/public_data/FUSCCTNBC/SRR8517928_1.fastq.gz | head
@SRR8517928.1 1/1
NATATACTCAAAAGAACTGAAAGCAATGCAGGCTGGCTGTGGTAGCTCACACCTGTAATCCTAGCATGTTGGGAGGCTGAGGAGGGTAGATCGGAAGAGCACACGTCTGAACTCCAGTCACCAGATCTGATCTCGTATGCCGTCTTCTGC
+
#AAFFAKFK<FFKKKKKFKKKFKKKK,FA<KFA<<<(,AKK<F,FKAAFAKK,7<7KK7FKFKKKKKKKAFKKFKFA<,AKKA7F7,A7K7FAFFK7FF,FAKFKF,7FAFKFK7FFAFFKKFKKA<7AK7,,,AFKKF,,AA(,,7,,A

再看看最后一段:

代码语言:javascript
复制
@SRR8517928.73046074 73046074/1
CCNGGGCTCGGACGAGACCGACTTAATCCTCCTAGTTTGGCAAGTGGTTGAGCCGCGGAGCCGCCAGGTAGGGTGGAAAAGAGGCGGTGAGGTCCCCAGGGAGCTTCCGGGGTCGAGGGGCGCGGCTNATCGGTTTCCCNCGCCGCTCAC
+
AA#FFKKKKKKKKKKKKKKKKKFKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKFKKKKKKKKKKKKKKKKK(FFKKKKFKKKKKKKKKKKKAKKKKKKKKKKKKKKKKKKKKF#KFKFKKKKKKK#K<KKFKFKKK
@ST-E00167:149:HLFWNCCXX:3:2224:24515:73036 1:N:0:CAGATCTG
CCNGGGCTCGGACGAGACCGACTTAATCCTCCTAGTTTGGCAAGTGGTTGAGCCGCGGAGCCGCCAGGTAGGGTGGAAAAGAGGCGGTGAGGTCCCCAGGGAGCTTCCGGGGTCGAGGGGCGCGGCTNATCGGTTTCCCNCGCCGCTCAC
+
AA#FFKKKKKKKKKKKKKKKKKFKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKFKKKKKKKKKKKKKKKKK(FFKKKKFKKKKKKKKKKKKAKKKKKKKKKKKKKKKKKKKKF#KFKFKKKKKKK#K<KKFKFKKK

数据是一模一样的。可能真的只是第一行记录的read 标识符不同造成的差别吧。

总的来说,感觉node 的使用体验还是真不戳的。

需要注意的是,虽然大部分上传的NGS 数据都是打着public 的招牌:

image.png

可是有很多的内容还是需要获取作者的许可的:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2. 注册
  • 3. 高通量数据获取
  • 4. 分析工具
  • node数据库页面规律
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档