|
发表于 2021-12-14 17:55:24
|
查看: 2911 |
回复: 0
一、生物数据库简介
生物数据的处理本质上有两条路线:其中一条是序列本身具有结构特征,那么就可以通过软件算法来实现,比如预测基因,非编码 RNA,重复序列的分析等;另一条路线是序列本身没有结构特征,只能通过与已有序列进行比对,根据已知信息来推测未知信息,比如基因功能注释,16SrRNA 物种鉴定等,常见的一个例子就是得到一条序列,需要判断序列来自于哪个物种,就只能与数据库进行比对。
生物信息中说的数据库和 IT 行业中说的数据库还有些不同。这里的数据库更像一个信息集合,而非数据管理技术。比如基因的功能,必须与已知信息去比对查找。这个类似于查字典,遇到一个词语不知道什么意思,直接去查字典,查到了就找到了,查不到就没办法了。除了基因功能,微生物分类,变异与表型关系等都属于这种,需要借助已知数据库。如果数据库查不到就没有办法了。
所以,很多生物信息分析结果要严重依赖数据库的质量。
二、生物数据库常见问题?
和生物软件一样,生物数据库也有很多可供选择,但是这同样也存在很多问题。下面我们来总结一下。
2.1 数据库过于冗余
同样一个分析,就会有很多个类似的数据库。例如 16S 的物种分类分析,就有 silva,greengene,rdp,Fungene 等几个可供选择。有时为了注释结果完整,每个库都试一遍,合并结果非常繁琐。
2.2 长时间不在更新
数据库的质量参差不齐,给用户造成很大的干扰。有一些发表之后长时间不在更新,例如ARDB 数据库,一个用于注释耐药基因的数据库,自从 2009 年发表之后已不在更新,但目前依然有很多文章在引用该数据库。
ARDB 数据库网站截图
2.3 存在误差
对于数据库的使用,我们同样还是不能过于迷信数据库,为什么呢,因为存在一个误差的问题,这就涉及到基因的同源性判断问题,也就是数据库中的精确性直接影响到比对结果的判断,例如数据库中一个基因功能标识不准确,那么与之比对的所有序列都会有问题,因此,对于数据库比对的结果还需要更进一步的验证。
依赖数据库还有一个问题,如果数据库信息错了怎么办呢,这就有很大的问题,这个错误会被无限放大,所有与之相关的注释结果全错了。这就要求我们在使用数据库的时候一定要小心,一是要注意数据库的准确性,二是,也不能完全相信数据库的结果。
2.4 相互不兼容
对于微生物物种分类,有很多的分析软件,每个软件会自建数据库索引文件,这些索引相互之间不兼容,非常麻烦,每次使用新的数据库都需要重新建立索引文件。
下表来自文章《Benchmarking Metagenomics Tools for Taxonomic Classification》
2.5 版本问题
数据库需要不断加入新的数据,或者纠正已有信息,这样就会有不同的版本。使用不同的版本最终分析的结果可能会差别很大。例如人基因组参考序列存在多个版本。而且即使是同样的序列,存储在不同数据库的命名也有很大差别,例如来自 UCSC 数据库中,一般命名为hg18,19,hg38。而在 NCBI 数据库中命名为 GRch36,37,38,GRC 是 Genome Reference Consortium 的简称,而 embl 数据库中则是 release 然后跟一个版本号,有非常多的版本,千人基因组命名为 b36,b37。
目前,广泛使用的版本是 GRCH37 和 GRCH38。2009 年,the Genome Reference Consortium (GRC)发布了第 19 版人类基因组 GRCH37,也常被称为 hg19。GRCH37 被广泛应用于数据分析。2013 年,GRC 发布了 GRCH38。但由于注释工具、数据库的不健全及升级基因组工作繁杂,时至今日,GRCH37 仍被相当程度地使用。
不同数据库采用不同的命名方式,UCSC 命名最简单,就是 hg 加数字,比如 hg18,hg19和 hg38 这些版本比较常用;NCBI 的命名更复杂一些,是 GRCH 开头,然后数字,36,37,38等。而 ENSEMBL 命名就更复杂了,只给出版本比如 52,59,61,80,81,82 等。这三种命名方式有一个对应关系。如下表所示:
2.6 数据库权威性
由于生物学问题的复杂性,与数据库比对的结果不一定就是百分之百准确的,还需要做基因的验证。例如注释得到一个基因,对一个突变机型注释,物种分类的结果等。例如通常都可以将测序序列与 NCBI 直接进行 blast 比对进行物种分类将定。但是 NCBI 物种分类数据库有给出声明。声明里有介绍到 NCBI 的物种分类数据库并不是权威的分类,只是收集用户提交的信息,结果还需进一步验证。
NCBI 物种分类数据库声明
三、如何查找生物数据库?
OXFORD Journals 在线页面包含一个常用数据库的页面。里面收集了大量生物学常用的数据库内容。数据库按照功能进行分类,可以在 http://oxfordjournals.org 找到需要的数据库。数据库按照功能进行分类。和生物软件一样,里面很多数据库都出于僵死状态,网站还在,已经很久没有更新了。
数据库列表:https://www.oxfordjournals.org/nar/database/cap/
同样和选择生物软件一样,选择生物数据库也尽量要选择引用率,使用率高的。
四、下载数据库的几种方法
4.1 数据库下载方法选择
数据库的下载比较容易,最重要的就是找到数据库的下载地址即可。
如果你想要下载数据,首先要明确三个问题。
第一:下载哪些哪种类型的文件
这些数据都到哪里去找呢,这个大家要有一些基本常识,比如参考序列一般都在三个核酸数据库,NCBI,embl,ddbj 等,ddbj 这个用的并不多。清楚每个网站都有哪些内容,比如在做 RNAseq 时需要 gtf 文件,可以到 embl 下载 gtf 格式。还有就是 ucsc 基因组浏览器网站也提供很多数据下载,另外,一些基因组序列有单独的网站提供数据下载。这些大家在平时要多注意总结。
第二:找到下载地址
登录网站之后,要能够找到数据的下载链接,其实也就是数据所在服务器里的存储位置。这个是非常重要的。现在的很多网站内容越来越多,虽然我们知道可以去 NCBI 或者 EMBL 下载物种参考基因组,但是从里面找到数据位置有时候也是比较困难的,拿 NCBI 为例,里面数据实在是太多了,各种数据库,比如你要能区分 genebank 与 refseq 的差别,才能找到数据下载链接。
另外还有一个问题就是数据的权限,有些网站数据库是完全公开的,找到链接就可以下载,比如 ncbi,embl,ucsc 这种数据库,还有一些是需要注册才能够下载的,一般还要求是教育域名的邮箱才能注册,比如 RepeatMasker 数据库,还有一些是有权限控制的,比如 TCGA数据库,需要很严格的申请流程,才能下载到 leve1 和 level2 的数据,也就是原始数据以及原始数据比对的 bam 文件,普通用户是申请不了的。还有一些数据库是收费的,只有付费用户才能够下载使用,比如 kegg 数据库等。
第三:选择合适的工具
当你千辛万苦找到数据库下载链接之后,那么接下来就可以开始下载了,选择合适的下载工具也非常重要。例如你可以直接从网页端进行下载,这其实是 http 协议下载,也可以采用ftp 进行下载,这两种方式很多时候大家都是下载到本地 windows 系统,然后在远程传输到服务器端。其实是可以直接在服务器端采用命令进行下载的,这样省去传输的步奏,也减轻了本地硬盘的反复读写消耗。
4.2 命令行下载
下载生物数据可以使用个人电脑的 windows 或者 macos 系统,然后传输到服务器上,但这样操作稍微麻烦。但有时个人计算机上具有更快的网络,也可以使用一些高速下载工具,这样可以直接下载,然后传输到服务器上。也可以使用 Linux 系统下的下载命令,直接下载到服务器里。Linux 命令行下载的工具其实有很多,系统自带 wget 和 curl 命令,也可以自行下载 axel 等命令。wget 非常方便,给定链接地址,就可以直接 wget 下载了。 wget 和 curl 都支持 http,ftp 等多种协议。
- wget -bc ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_v37.fasta.gz
复制代码 wget 常用选项参数:
-o 下载信息写入日志文件
-O 下载时重命名文件
-c 断点续传
-b 放到后台下载
-r 递归下载,用于下载整个目录
–spider 测试下载链接是否可用
-i 从文件批量下载,将下载地址写入文件
–mirror 镜像网站
-r -A 下载指定格式文件
wget 也可以直接输入账户密码访问 ftp 服务器进行下载。
加 --ftp-user 接用户名, --ftp-password 接密码,然后给定下载链接直接访问 ftp 服务器进行下载。
- wget 下载文件夹
- wget -bc -r ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/viral
复制代码 curl 的使用和 wget 类似,不过 curl 可以给出预测下载完成还剩余多少时间,并通过进度条来显示下载进度。
关于 wget 和 curl 更多功能,可以加--help 选项查看帮助文档。
4.3 ftp 下载
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,相比于 http 协议,更加稳定,传输速度也更快。很多网站提供 ftp 协议的数据下载。
ncbi 的 ftp 地址为,ftp://ftp.ncbi.nlm.nih.gov/
embl 的 ftp 地址为:ftp://ftp.ensembl.org/pub/
访问 ftp 服务器需要四个元素。
第一:ftp 的地址,
第二,用户名和密码,可以匿名访问,Anonymous,也就是数据是公开的,不需要要填写。
第三,端口号,ftp 默认端口号是 21,一般也不用填写;
第四,连接工具。
其实 ftp 的地址是可以直接通过浏览器或者资源管理器进行访问的。通过浏览器访问非常不方便,不能直接下载整个文件夹,而且不能断点续传。Linux 系统可以使用 ftp 命令访问下载,但是由于 ftp 命令不支持文件夹下载,lftp 工具更加强大,下面我们直接演示一下通过lftp 工具来下载数据。
- lftp,后面跟用户名,然后 at 符号,ftp 服务器地址。
- lftp ftp://ftp.ncbi.nlm.nih.gov/
- lftp [email protected]/blast/db
- 这里密码是空的,我们直接敲回车即可
- ls 列出文件
- >ls
- >cd /blast/db
- > mget swissprot.tar.gz
- mirror 下载文件夹
- >mirror v4
- > exit
复制代码
4.4 高速下载
Asprea 是一款非常神奇的工具,它可以极大的提高数据传输的效率,Asprea 是一家专门做数据传输解决方案的公司,后来被 IBM 公司收购了。Aspera 解决方案的核心是 Aspera FASP (Fast, Adaptive and Secure Protocol) 传输专利技术,它是一项突破性传输协议,利用现有广域网 (WAN) 基础架构和通用硬件,传输速度比 FTP 和 HTTP 快数百倍。FASP 提供企业级安全性、出色的可靠性以及卓越的带宽控制能力。有测试显示原本在美国国内 FTP 需要超过 10 小时才能传完的数据,现在 Aspera 只需 8.4 秒就能搞定。总之就是数据传输速度非常非常快。
目前 NCBI 以及 EBI 等机构的数据都支持 aspera 下载。首先我们来介绍一下 Aspera 的下载安装。
http://asperasoft.com/
- 安装 aspera
- wget https://download.asperasoft.com/download/sw/connect/3.9.9/ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz
- tar -zxvf ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz
- sh ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.sh
复制代码 利用 aspera 下载数据- ascp -i .aspera/connect/etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m [email protected]:blast/db/FASTA/nt.gz . &
- .aspera/connect/bin/ascp -i .aspera/connect/etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m [email protected]:blast/db/FASTA/nt.gz . &
- blast/db/FASTA/
- .aspera/connect/bin/ascp -i .aspera/connect/etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m [email protected]:blast/db/FASTA/nr.gz . &
- .aspera/connect/bin/ascp -i .aspera/connect/etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m [email protected]:pub/COG/ . &
- .aspera/connect/bin/ascp -i .aspera/connect/etc/asperaweb_id_dsa.openssh --overwrite=diff -QTr -l6000m [email protected]:blast/db/swissprot.tar.gz ./ &
复制代码 注意事项:
1、aspera 只能普通用户使用,管理员无法使用;
2、aspera 会占用大量带宽,带来网络拥堵,使用时要注意;
3、使用时需要正确给出 aspera-license,在-i 后面接 license 文件,这里是asperaweb_id_dsa.openssh
4、ftp 下载时账号要写正确,ncbi 是 [email protected]
5、ftp 地址后面接冒号,然后是 ftp 上面文件的具体位置,不要写错了。
6、不是所有的网站都支持 Aspera 下载的,需要服务提供方购买 Aspera 服务,用户才可以使用。
4.5 批量下载序列
虽然前面介绍过 ftp 和 Aspera 下载很方便,例如下载某个物种全部的数据。但是如果想下载来自多个物种的不同基因序列,例如给定一个基因列表 list,如何下载到这些序列呢?这时就需要用到 Batchentrez。
批量下载基因序列有多种方式,例如可以通过编程实现,也可以通过固定模块例如 bioperl,biopython 等。如果不会编程,那么 batchentrez 就是最好的选择了。Entrez 是 NCBI 官方的数据检索系统,Batch Entrez 显然就是批量检索。
https://www.ncbi.nlm.nih.gov/sites/batchentrez
1、Accession number
- An Accession number is a unique identifier given to a sequence when it is
- submitted to one of the DNA repositories (GenBank, EMBL, DDBJ). The initial
- deposition of a sequence record is referred to as version 1. If the sequence is
- updated, the version number is incremented, but the Accession number will remain
- constant.
复制代码 2、GI- The GenInfo Identifier is a sequence identification number for a nucleotide
- sequence. If a
- nucleotide sequence changes in any w ay, a new GI number will be assigned. A separate
- GI number is also assigned to each protein translation within a nucleotide sequence
- record, and a new GI is assigned if the protein translation changes in any w ay.
- GI sequence identifiers run parallel to the new accession.version system of sequence
- identifiers (see the description of Version).
复制代码 3、GeneID
- GeneID is a unique identifier that is assigned to a gene record in Entrez Gene.
- It is an integer and is species specific. In other words, the integer assigned to
- dystrophin in human is different from that in any other species. For genomes that
- had been represented in LocusLink, the GeneID is the same as the LocusID. The GeneID
- is reported in RefSeq records as a 'db_xref' (e.g./db_xref="GeneID:856646", in
- GenBank format).
复制代码 https://www.ncbi.nlm.nih.gov/genbank/acc_prefix/
第一,注意输入文件格式,ID 只能使用 accession numbers or identifiers。
第二、选择的数据库要和输入的序列 ID 相一致,不能输入的是核酸序列,下载的数据库选择蛋白的库。
第三、序列 ID 后面不要加空格,另外就是注意一下不同系统中换行符问题。
五、常用生物数据库下载
5.1 基因组下载
下面案例下载人全基因组序列,人全基因组序列分为多个版本,可以从多个站点进行下载。
1、NCBI
下载地址:ftp://ftp.ncbi.nih.gov/genomes/Homo_sapiens
http://www.ncbi.nlm.nih.gov/projects/genome/guide/human/
- NCBI hs37-1kg 与千人基因组计划一致
- ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/human_g1k_v37.fasta.gz
复制代码
2、ENSEMBL
ENSEMBL 网址:http://ensemblgenomes.org/
- EnsEMBL primary
- http://ftp.ensembl.org/pub/current_fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
复制代码
3、UCSC
详细文档:http://hgdownload.soe.ucsc.edu/downloads.html#hg38sequence
- UCSC hg19
- wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.fa.gz
- UCSC hg38
- wget http://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz
复制代码
5.2 其余数据库下载
nt 库:ftp.ncbi.nlm.nih.gov:/blast/db/nt*.tar.gz
NR 库: ftp.ncbi.nlm.nih.gov:/blast/db/nr*.tar.gz
COG/KOG ftp://ftp.ncbi.nlm.nih.gov/pub/COG/
基因组数据库 ftp://ftp.ncbi.nlm.nih.gov/genomes/
质粒数据库 ftp://ftp.ncbi.nlm.nih.gov/genomes/Plasmids/
病毒基因组:ftp.ncbi.nlm.nih.gov/refseq/release/viral
Swissprot: ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz
物种分类数据库:ftp://ftp.ncbi.nih.gov/pub/taxonomy/
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|