Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nr数据库子库构建

Nr数据库子库构建

作者头像
生信菜鸟团
发布于 2022-02-17 04:31:43
发布于 2022-02-17 04:31:43
4.1K01
代码可运行
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团
运行总次数:1
代码可运行

在经过基因组组装或转录组差异基因表达量分析之后,对其结果进行注释是比较重要的一步,如何注释以及如何得到精确的注释结果?

Nr数据库,全称为Non-RedundantProtein Sequence Database,即包含了GenPept、Swissprot、PIR、PDF、PDB以及RefSeq Database中序列的蛋白质数据库。

(1)数据库下载

个人将下载方式分为图形界面下载和命令行方式下载。

需要使用的软件安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# blast
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.12.0+-x64-linux.tar.gz
tar -zxvf ncbi-blast-2.12.0+-x64-linux.tar.gz
echo 'PATH=your_path/blast/ncbi-blast-2.12.0+/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# aspera
wget -c https://d3gcli72yxqn2z.cloudfront.net/connect_latest/v4/bin/ibm-aspera-connect_4.1.0.46-linux_x86_64.tar.gz
tar -zxvf ibm-aspera-connect_4.1.0.46-linux_x86_64.tar.gz
# 自动安装
sh ibm-aspera-connect_4.1.0.46-linux_x86_64.tar.gz
echo 'PATH=~/.aspera/connect/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc

1、手动下载,即图形界面下下载

【标注】此处下载的数据为fasta格式,并非为pre-formatted(即提前构建好的Nr数据库)

步骤为:

(1)登录NCBI官网

(2)点击Download

(3)点击FTP

(4)进入到对应路径下:https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/

(5)右键复制nr.gz和nr.gz.md5的链接

(6)选择迅雷等工具下载即可

2、命令行界面下载

1. aspera

1.1 下载nr.gz

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -l 200M -k 1 --overwrite=diff -QT anonftp@ftp.ncbi.nlm.nih.gov:blast/db/FASTA/nr.gz ./
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 使用参数说明:
-i   # Use public key authentication and specify the private key file. 
     # 该密匙保存位置一般为:~/.aspera/connect/etc/
-l   # Set the target transfer rate in Kbps. Default: 10000
     # 即设置最大传输速率
-k   # 可选参数为{0|1|2|3},即断点续传,一般设置为1
     # Enable resuming partially transferred files. (Default: 0). Please note that this must be specified for your first transfer; otherwise, it will not work for subsequent transfers.
     # “-k 1的具体说明”:-k 1 If the transfer stops because of connection loss or other issues the k option tells the transfer to resume from where it left off rather than restarting the entire transfer over. 
     ### 其他参数说明:
     # 0 Always retransfer the entire file.
     # 1 Check file attributes and resume if the current and original attributes match.
     # 2 Check file attributes and do a sparse file checksum; resume if the current and original attributes/checksums match.
     # 3 Check file attributes and do a full file checksum; resume if the current and original attributes/checksums match.
--overwrite=diff   # 默认设置即为diff,表示如果目前下载的文件与之前下载的文件不一致,则会overwrite
-Q   # Enable fair (-Q) or trickle (-QQ) transfer policy. Use the -l and -m to set the target and minimum rates.
-T   # Disable encryption for maximum throughput.

1.2 下载preformatted版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for i in {00..55}
do
   echo "ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -l 200M -k 1 --overwrite=diff -QT anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/nr.${i}.tar.gz ./" >> aspera.preformatted.nr.sh
   echo "ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -l 200M -k 1 --overwrite=diff -QT anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/nr.${i}.tar.gz.md5 ./" >> aspera.preformatted.nr.sh
done
ParaFly -c aspera.preformatted.nr.sh -CPU 1 &

# 检查下载的数据库是否完整
for i in {00..55};do md5sum -c nr.${i}.tar.gz.md5;done

2. blast+自带脚本进行下载

版本:version 2.12.0+

下载对象:preformatted-database

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
perl ~/biosoft/blast/ncbi-blast-2.12.0+/bin/update_blastdb.pl --blastdb_version 5 --decompress nr --source gcp --passive

# 使用参数说明:
--blastdb_version  # Specify which BLAST database version to download (default: 5). 
                   # Supported values: 4, 5
--decompress       # Downloads, decompresses the archives in the current working directory, and deletes the downloaded archive to save disk space, while preserving the archive checksum files (default: false).
--source           # to download BLAST databases from (default: auto-detect closest location). Supported values: ncbi, aws, or gcp.
--passive          # Use passive FTP, useful when behind a firewall or working in the cloud (default: true). 
                   # To disable passive FTP, configure this option as follows: --passive no

3.wget下载

下载对象:preformatted-database

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 网址:https://ftp.ncbi.nlm.nih.gov/blast/db/
# 自行编写shell脚本进行下载
for i in {00..55}
do
  echo "wget -c https://ftp.ncbi.nlm.nih.gov/blast/db/v5/nr.${i}.tar.gz ./" >> preformatted.wget.nr.sh
  echo "wget -c https://ftp.ncbi.nlm.nih.gov/blast/db/v5/nr.${i}.tar.gz.md5 ./" >> preformatted.wget.nr.sh
done

ParaFly -c preformatted.wget.nr.sh -CPU 10 2>err &

(2)提取对应物种的taxid:以植物为例

需要使用到的软件安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# taxonkit
conda install -c bioconda taxonkit
# csvtk
conda install csvtk

NCBI使用taxid对物种进行划分,所组成的数据库NCBI Taxonomy。

1、查询对应物种类群的taxid

A. NCBI官网手动查询方式

1. 进入NCBI官网,数据库选择“Taxonomy”

2.输入“Plants”,得到对应查询结果(此处特指为land plants,即陆生植物,绿色植物界包括的范围更大)

B. taxdump.tar.gz查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -P "\|\s+[pP]lant\w*\s*\|" ~/.taxonkit/names.dmp

C. taxonkit查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo Embryophyta | taxonkit name2taxid --show-rank

2、获取对应物种类群所包含的序列(accessionID获取)

1.手动从NCBI官网下载

(1)数据库选择“Protein”。查询格式为txidXXXXX[Organism]或txidXXXXX[ORGN]。

【标注】添加“[ ]”代表对应taxid所属整体。

(2)查询结果如下:

2.使用taxonkit获取对应物种accession ID

需要下载NCBI分类数据 &taxid-accession ID转换文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget -c https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz
wget -c https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz.md5
md5sum -c taxdump.tar.gz.md5 # 检查下载数据库是否完整
mkdir ~/.taxonkit
tar zxf taxdump.tar.gz -C ~/.taxonkit

wget -c https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz
wget -c https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz.md5
md5sum -c prot.accession2taxid.gz.md5
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 获取对应类群的taxids
taxonkit list --ids 3193 --indent "" > plants.taxid.txt

# 获取对应类群的accession ID
pigz -dc prot.accession2taxid.gz | csvtk grep -t -f taxid -P plants.taxid.txt | csvtk cut -t -f accession.version,taxid | sed 1d > plant.acc2taxid.txt && cut -f 1 plant.acc2taxid.txt > plant.acc.txt &

3.使用blast相关脚本获取accession ID

若要使用blast自带脚本get_species_taxids.sh,获取对应物种accession ID,需要提前安装程序EDirect command-lineutility,install manual链接为:https://www.ncbi.nlm.nih.gov/books/NBK179288/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
get_species_taxids.sh -t 3193 > plants.blast.taxids.txt
# 得到上述taxids list之后,结合csvtk即可得到accession ID

3、对应物种类群nr子库构建

【标注】此处构建子库以preformatted nr database为例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 解压下载好的preformatted nr database
for i in {00..55}
do 
  tar -zxvf nr.${i}.tar.gz -C ../nr_preformatted_20211122_decompress
done

1.blastdb_aliastool构建blast子库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
blastdb_aliastool -seqidlist sequence.seq -db nr -out nr_plant -title nr_plant
# sequence.seq为对应类群的accession list

结果生成一个index文件:nr_plant.pal。

2.提取对应类群序列,自行进行构建本地nr数据库子库

方法1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
blastdbcmd -db nr -entry_batch sequence.seq -out - | pigz -c > blastdbcmd.nr.3193.fa.gz

方法2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 提取preformatted nr数据库中的所有序列
blastdbcmd -db nr -dbtype prot -entry all -outfmt "%f" -out - | pigz -c > nr.fa.gz

time cat <(echo) <(pigz -dc nr.fa.gz) \
    | perl -e 'BEGIN{ $/ = "\n>"; <>; } while(<>){s/>$//;  $i = index $_, "\n"; $h = substr $_, 0, $i; $s = substr $_, $i+1; if ($h !~ />/) { print ">$_"; next; }; $h = ">$h"; while($h =~ />([^ ]+ .+?) ?(?=>|$)/g){ $h1 = $1; $h1 =~ s/^\W+//; print ">$h1\n$s";} } ' \
    | seqkit grep -f 3193.acc.txt -o nr.3193.fa.gz

【有趣的现象】

在提取完成过后,发现blastdbcmd.nr.3193.fa.gz和nr.3193.fa.gz的文件大小不一样(前13G,后4G)。查看序列数量后,发现2个结果文件所包含的序列数是一样的,造成上述结果的原因是官方自带软件提取的结果,序列表头冗余信息过多。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
seqkit stats blastdbcmd.nr.3193.fa.gz
file           format  type       num_seqs        sum_len  min_len  avg_len  max_len
blastdbcmd.nr.3193.fa.gz  FASTA   Protein  19,326,820  7,670,152,256        6    396.9   23,040

seqkit stats nr.3193.fa.gz
file           format  type       num_seqs        sum_len  min_len  avg_len  max_len
nr.3193.fa.gz  FASTA   Protein  19,326,820  7,670,152,256        6    396.9   23,040

若下载的为nr.gz(fasta格式),即非提前构建好的nr数据库,需要在本地使用makeblastdb或diamond makedb进行本地数据库构建

参考资料

[1] http://www.chenlianfu.com/?p=2691

[2] https://bioinf.shenwei.me/taxonkit/tutorial/

[2] https://www.burning.net.cn/article/article-59

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

本文分享自 生信菜鸟团 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
lncRNA组装流程的软件介绍本地化NR数据库|按物种拆分
咱们《生信技能树》的B站有一个lncRNA数据分析实战,缺乏配套笔记,所以我们安排了100个lncRNA组装案例文献分享,以及这个流程会用到的100个软件的实战笔记教程!
生信技能树
2021/07/06
1.6K0
一文搞懂NCBI Blast本地数据库(NT/NR等)构建
blast+:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST
简说基因
2020/11/19
7.9K3
一文搞懂NCBI Blast本地数据库(NT/NR等)构建
从NT_NR数据库中提取子库
估计宿主污染至少80%左右,因而就想通过一些方法,例如kraken、bowtie等把宿主污染去除。
花落花相惜
2021/11/26
7490
2️⃣ 双序列比对(2):BLAST详细操作:web版和linux版
网址:https://blast.ncbi.nlm.nih.gov/Blast.cgi 运行方式:本地或web
Y大宽
2019/01/28
5.4K0
鉴定lncRNA流程全套代码整理
前两期周更我们通过一篇文章的复现整理了mRNA和lncRNA分析基本流程,但并没有涉及新lncRNA的鉴定,本周的推文本质上是我个人学习鉴定lncRNA的全套流程笔记,整合了我们公众号往期的资源,对代码进行了勘误更新,内容非常详实。
生信菜鸟团
2023/08/23
3.9K1
鉴定lncRNA流程全套代码整理
从NT_NR数据库中提取子库
下载完解压缩,其中names.dmp和nodes.dmp两个文件很重要,是后续提取子库的基础
大发明家
2021/12/06
1.4K0
blast2go本地化-2017教程
通常我们上游分析得到的蛋白序列需要和主流的数据库进行比对,完成功能注释。常用数据库一共有以几种:
生信技能树
2018/09/21
3.9K0
blast2go本地化-2017教程
RNA-seq数据分析完全指北-04:创建本地blast库分析物种组成
啊~~~本来是半个月的专栏不知道到底过了多久才又和大家见面,其中经历不足为外人道也
生信菜鸟团
2021/04/13
1.9K0
RNA-seq数据分析完全指北-04:创建本地blast库分析物种组成
NCBI下载sra数据(新)
  今天要上NCBI下载sra数据发现没有下载的链接,网上查发现都是老的方法,NCBI页面已经变更,于是看了NCBI的help,并且记录下来新版的sra数据下载方法,要用NCBI的工具SRA Tool
用户1680321
2018/04/28
2.8K0
NCBI下载sra数据(新)
GEO数据库中单细胞数据下载中断或太慢?多种下载/提速方法汇总
在GEO网站上直接点击下载数据时,可能会遇到下载中断或速度过慢的问题,此时可以尝试以下几种替代方法来获取数据。
凑齐六个字吧
2025/06/12
3950
GEO数据库中单细胞数据下载中断或太慢?多种下载/提速方法汇总
速来围观!——三种NCBI常见数据库
在微生物测序分析中,常常需要对未知的核酸或蛋白序列进行物种,功能或类别注释。注释方法种类较多,其中最常用的是与一些标准数据库进行相似性搜索,也就是序列比对。因此,数据库的优劣对注释结果至关重要。本期小编为大家带来的是NCBI上的三个重要的数据库—NR/NT,Taxonomy和RefSeq。 NR/NT 数据库 NR(Non-Redundant Protein Sequence Database)非冗余蛋白库,所有GenBank+EMBL+DDBJ+PDB中的非冗余蛋白序列,对于所有已知的或可能的编码序列
企鹅号小编
2018/02/05
3K0
速来围观!——三种NCBI常见数据库
宏基因组分析环境搭建
NCBI 的分类数据库,包括大于 7 万余个物种的名字和种系,这些物种都至少在遗传数据库中有一条核酸或蛋白序列。其目的是为序列数据库建立一个一致的种系发生分类学。截止到目前,各个物种的统计结果见下表。
生信喵实验柴
2023/02/24
1.4K0
宏基因组分析环境搭建
GATK的人类宿主的微生物检测流程PathSeq和在空转上的运用
Download the latest RefSeq accession catalog RefSeq-releaseXX.catalog.gz, where XX is the latest RefSeq release number, at: ftp://ftp.ncbi.nlm.nih.gov/refseq/release/release-catalog/ Download NCBI taxonomy data files dump (no need to extract the archive): ftp://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz Assuming these files are now in your current working directory, build the taxonomy file using PathSeqBuildReferenceTaxonomy:
追风少年i
2023/12/27
9400
GATK的人类宿主的微生物检测流程PathSeq和在空转上的运用
BLAST—序列相似性搜索必备神器
BLAST(Basic Local Alignment Search Tool) 是一款用于在蛋白质或 DNA 数据库中进行相似性搜索的分析工具。BLAST 程序能够快速比对查询序列与公开数据库中的序列,并计算相似性得分,以进行统计分析。
生信菜鸟团
2025/03/12
4340
BLAST—序列相似性搜索必备神器
纳米孔Nanopore-16S数据分析学习笔记
本次学习分析的文章是这篇:https://academic.oup.com/gigascience/article/7/12/giy140/5202451 这篇文章的原始数据有点问题,使用sra和ena数据库直接下载都基本上会失败,sra只能下到一个10M左右的数据,转换格式成fastq后只能获得4.6M的数据。最后使用aspera connect下载可以成功。命令如下,我是黑果,其他系统格式应该类似,软件安装和使用参见我前面的学习记录。https://jiawen.zd200572.com/916.html
用户1075469
2020/03/03
1.1K0
NCBI生物分类数据库(Taxonomy)
Taxonomy : NCBI公共序列数据库中所有生物的策划分类和命名法。目前包含地球上大概10%的物种。 我们现在查询到底包含有有多少物种,进入统计页面:。可以看到不同的分类下的分布情况,总体包含有597658条物种信息。
白墨石
2021/01/13
2.9K0
NCBI生物分类数据库(Taxonomy)
什么!!!超70G的NT数据库文件一个小时搞定?
最近有粉丝求助,说自己已经耗费十多天了还没有把一个NT数据库下载下来,不得已充值会员费希望可以加速,但是效果也很惨淡,如下图:
生信技能树
2020/07/02
5.3K0
什么!!!超70G的NT数据库文件一个小时搞定?
GATK的人类宿主的微生物检测流程PathSeq
PathSeq 是一个 GATK 管道,用于检测取自宿主生物体(例如人类)的短读长深度测序样本中的微生物。比如人类肿瘤测序数据,就可以使用它看看是否有微生物序列! 下图总结了它的工作原理。该管道先对r
生信技能树
2023/09/19
7030
GATK的人类宿主的微生物检测流程PathSeq
RepeatMasker安装和使用
RepeatMasker是一款专门用于基因组重复序列识别注释,并分类统计的软件,几乎用于所有物种。是研究基因组、非编码RNA、转座子和着丝粒领等相关领域的必备软件。很多small RNA, lncRNA与Repeat区有密切关系。 之前我在2013在PLOB发布过《RepeatMasker安装方法与使用 》,阅读近7000次。相关百度云中Repbase也被下载几千次。但目前软件和数据库均更新很多次,旧版在主流系统安装也会出一些问题,重复序列发现种类也已经翻倍,故重发新版软件安装和使用方法。 软件安装与配置
生信宝典
2018/02/05
3.5K0
一些生信工具的总结
2.ncbi中SRA的ftp下载链接为: ftp://ftp.ncbi.nlm.nih.gov/sra/, SRA数据库的格式为:
戈贝尔光和热
2018/12/27
9510
推荐阅读
相关推荐
lncRNA组装流程的软件介绍本地化NR数据库|按物种拆分
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验