1. 从ncbi上下载数据

下载地址:https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/

mac端:

安装brew,运行如下命令:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装wget命令:

brew install wget

安装md5sum命令(用于校验下载文件是否完整):

brew install md5sha1sum

尝试一:

wget -c https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz

 wget -c https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nt.gz

-c 支持断点续传

结果:下载缓慢,结果不完整

尝试二:

rsync命令下载

rsync --copy-links --recursive --times --verbose rsync://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nt.gz ./

结果:下载缓慢,结果不完整

尝试三:

aspera 下载

参考文章:

Aspera下载安装使用 - 何物昂 - 博客园Aspera Linux 安装 conda 安装 在Linux上安装Aspera,方便的还是直接通过conda进行安装(已经安装了Anaconda),在需要安装的环境下输入以下命令进行安装: $ coicon-default.png?t=N7T8https://www.cnblogs.com/huanping/p/14308007.html

生物信息就该这么学(8):“不择手段”下数据 - 知乎做生物信息,不可避免一定要下载数据,例如下载基因组参考序列,原始测序数据,各种基因注释信息。总之,你肯定要用到下载数据。下载数据并不是一件容易的事情。你需要很多时间找到数据原始地址。找到下载地址之后…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/399263404

尝试conda 安装aspera

Conda 安装命令:

conda install -c hcc aspera-cli -y

但是报错:

You must agree to the license before using aspera-cli, http://www-03.ibm.com/software/sla/sladb.nsf/displaylis/2ABD3328689EBBFE8525830C007A5F38

不明觉厉,选择安装包安装

参考如下文章:

在Mac上使用Aspera的完整步骤 - 简书写在前面的话:在经过以下这些步骤之后,我又发现了用图形界面使用Aspera的办法,简单易懂。详见网址:https://www.jianshu.com/p/36a7af2620...icon-default.png?t=N7T8https://www.jianshu.com/p/ae860f557311

跳转至官网Aspera - Connect | IBM 下载推荐的apk安装包(4.2)进行安装(需进行注册)

但是最新版的安装之后在Resources目录下找不到需要的asperaweb_id_dsa.openssh 文件。

卸载之后安装低版本4.1,终于正常存在asperaweb_id_dsa.openssh 文件

使用如下命令进行下载:

/Users/XXX/Applications/Aspera\ Connect.app/Contents/Resources/ascp -i /Users/XXX/Applications/Aspera\ Connect.app/Contents/Resources/asperaweb_id_dsa.openssh --overwrite=diff -T -l6000m anonftp@ftp.ncbi.nlm.nih.gov:blast/db/FASTA/nt.gz /Users/XXX/database

Aspera的常用参数:

-T

不进行加密。若不添加此参数,可能会下载不了。

-i string

输入私钥,安装 aspera 后有在目录  Aspera\ Connect.app/Contents/Resources下有

--host=string

ftp的host名,NCBI的为ftp-private.ncbi.nlm.nih.gov;EBI的为fasp.sra.ebi.ac.uk。

--user=string

用户名,NCBI的为anonftp,EBI的为era-fasp。

-l string

设置最大传输速度,比如设置为 200M 则表示最大传输速度为 200m/s。若不设置该参数,则一般可达到10m/s的速度,而设置了,传输速度可以更高。

结果:速度很快,校验没有问题。

linux端(Ubuntu系统):

一样,wget和rsync很慢

Aspera相同,4.2版本也是找不到asperaweb_id_dsa.openssh 文件

4.1版本可正常下载,密钥的位置为~/.aspera/connect/etc/目录下。

若出现如下报错:

ascp: Failed to open TCP connection for SSH, exiting.

Session Stop  (Error: Failed to open TCP connection for SSH)

命令中增加-P 33001

注意:大写P

2.获取nr/nt子库信息

参考文章:

Nr数据库子库构建 - 云+社区 - 腾讯云在经过基因组组装或转录组差异基因表达量分析之后,对其结果进行注释是比较重要的一步,如何注释以及如何得到精确的注释结果?icon-default.png?t=N7T8https://cloud.tencent.com/developer/article/1943973

a.提取对应物种的taxid

需要使用到的软件安装:

# taxonkit

conda install -c bioconda taxonkit

# csvtk

conda install csvtk

数据库:

wget -c https://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz

tar -zxvf taxdump.tar.gz

# 解压文件存于home目录中.taxonkit/,

程序默认数据库默认目录 mkdir -p $HOME/.taxonkit

cp names.dmp nodes.dmp delnodes.dmp merged.dmp $HOME/.taxonkit

准备完毕后,获取相应物种的taxonID

例如植物的:

grep -iw "plants" ~/.taxonkit/names.dmp

或者:

grep -P "\|\s+[pP]lant\w*\s*\|" ~/.taxonkit/names.dmp

可得到如下结果:

 通过这种方式,可以获得不同物种taxonID

我获取的几种结果如下:

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

获取accessionID数据,下载地址:

Index of /pub/taxonomy/accession2taxidicon-default.png?t=N7T8https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/nr库相关:https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz

nt库相关:https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/nucl_gb.accession2taxid.gz

写如下shell脚本,获取对应物种中的accessionID

~/software/taxonkit list --ids $1 --indent "" > $1.taxid.txt &&\
~/software/csvtk grep -t -f taxid -P $1.taxid.txt nucl_gb.accession2taxid | ~/software/csvtk cut -t -f accession.version,taxid | sed 1d > $1.acc2taxid.txt &&\
cut -f 1 $1.acc2taxid.txt > $1.acc.txt

运行sh getaccid.sh taxonID获取对应信息,例如:

sh getaccid.sh 3193

最终结果(xxx.acc.txt)中包含如下结果

 可根据这个列表,通过seqkit软件获取对应的fa序列。

~/software/seqkit grep -f 10239.acc.txt nt.fa -o viruses.fa
~/software/seqkit grep -f 10509.acc.txt nt.fa -o Mastadenovirus.fa
~/software/seqkit grep -f 2157.acc.txt nt.fa -o archaea.fa
~/software/seqkit grep -f 2759.acc.txt nt.fa -o eukaryotes.fa
~/software/seqkit grep -f 2.acc.txt nt.fa -o bacteria.fa
~/software/seqkit grep -f 3193.acc.txt nt.fa -o plants.fa
~/software/seqkit grep -f 33208.acc.txt nt.fa -o animals.fa
~/software/seqkit grep -f 4751.acc.txt nt.fa -o fungi.fa
~/software/seqkit grep -f prokaryotes.acc.txt nt.fa -o prokaryotes.fa

3.根据fa文件构建index

blast+ index构建

命令如下:

nt:

~/software/ncbi-blast-2.13.0/bin/makeblastdb -in ~/Database/nt/animals.fa -dbtype nucl -input_type fasta -out animals -parse_seqids

nr:

~/software/ncbi-blast-2.13.0/bin/makeblastdb -in ~/Database/nr/animals.fa -dbtype prot -input_type fasta -out animals -parse_seqids

diamond index构建

~/software/diamond makedb --in animals.fa -d animals

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐