blast的应用

2022-10-25 19:03:27 浏览数 (1)

一、物种鉴定

当拿到一条未知序列时,可以直接与 ncbi nt 库或者 nr 库进行 blast 比对,鉴定未知序列。

代码语言:javascript复制
#nt库比对
blastn -db nt -query assembly.fasta -out blast.out  -outfmt 6 -evalue 1e-5 -num_threads 12

二、基因功能注释

这种原理上与物种鉴定类似,也是通过比对,根据已知的信息来推测未知的信息。对于未知的基因,与基因功能数据库进行比对。过滤之后,比对到最近源基因所具有的功能,也就是未知基因具有的功能。这里我们看到,已知功能基因数据的准确性非常重要,否则未知基因功能就会被定义错误,如果这个错误累积起来,将会越累积越多。目前的基因功能注释主要都是采用这种方式。一般利用氨基酸的直接比对来做,比如可以做 nr 库、cog 数据库等。

代码语言:javascript复制
#nr库比对
blastn -db nr -query gene.fa-out blast.out -outfmt 6 -evalue 1e-5 -num_threads 12

三、筛选质粒

代码语言:javascript复制
#质粒数据库
ftp://ftp.ncbi.nih.gov/refseq/release/plasmid/ #质粒
#下载质粒数据库
alias 'aspera=~/.aspera/connect/bin/ascp -i
~/.aspera/connect/etc/asperaweb_id_dsa.openssh -QTr -k 1 -l 50m'
#批量下载
for i in {1..10};do echo aspera
anonftp@ftp.ncbi.nlm.nih.gov:refseq/release/plasmid/plasmid.${i}.1.genomic.fna
.gz ./;done; #与质粒库进行 blast 比对
blastn -query assembly.fasta -db ../data/plasmid/plasmid.fa -out plasmid18.txt
-outfmt 6 -html -evalue 1e-5 -num_threads 12
#提取 id
cat plasmid.txt | awk '{if ($3 >80 && $4 > 100 ) print $1}' | sort | uniq >id.list
#提取序列
seqkit grep -r -f id.list assembly.fasta -w 0 >plasmid_4.fa

四、筛选共有基因。

将两个基因集氨基酸序列进行 blast 比对,将比对上的序列 ID 筛选出来。

代码语言:javascript复制
#筛选共有基因
#建立索引
makeblastdb -in ref.faa -dbtype prot -parse_seqids -out ref.faa
#blastp比对
blastp -query query.faa -out blast.out -db ref.faa -outfmt 6 -evalue 1e-5
#筛选id
cat blast.out |awk '{if ($3 >=80 && $4 >=100 ) print $2}' | sort  |uniq >id.list
#提取序列
seqkit grep -r -f id.list ref.faa

五、diamond 比对

5.1 diamond 介绍

diamond 是 2015 年发表的一款新的序列比对工具,与 blast 类似。diamond 可以应用于物种分类的鉴定,比对之后,直接导入 megan 软件进行物种分类以及数据可视化。相比于 blast程序,具有以下特点。

1、只能进行氨基酸水平比对,不能做核酸水平比对;

2、比对速度比 blast 程序快 100x-10,000x 倍;

3、可以进行长读长测序 reads 的比对;

4、可以输出 blast,sam 格式,列表以及 xms 等多种格式;

5、比对精度地域 blastp;

6、diamond 的软件版本要与数据库版本一致。

代码语言:javascript复制
v0.9.25 to current produce format version 3 and accept format version 2-3.
v0.9.19 to v0.9.24 produce and accept format version 2.
v0.9.0 to v0.9.18 produce and accept format version 1.
v0.8.12 to v0.8.38 produce and accept format version 0.

网址:https://github.com/bbuchfink/diamond

5.2 软件安装使用

1 软件安装

代码语言:javascript复制
#bioconda 安装
mamba install -y diamond
#现在预编译程序
wget
http://github.com/bbuchfink/diamond/releases/download/v2.0.13/diamond-linux64.
tar.gz
tar xzf diamond-linux64.tar.gz

2 选项参数

https://github.com/bbuchfink/diamond/wiki/3.-Command-line-options

功能选项:

makedb :建立索引

blastp:blastp 模式比对

blastx:blastx 模式比对

view:显示 DAA 格式结果

help:帮助信息

version:显示版本

getseq:从库文件中提取序列

dbinfo:数据库信息 、

test :运行测试

makeidx:为数据库建立索引

通用选项:

--threads/-p:线程数

--db/-d <file>:输入比对数据库

--out/-o <file>:输出文件

--outfmt/-f:输出文件格式,默认 6(表格)

--header:输出表头信息

建库选项:

--in:输入文件

--taxonmap :物种分类库 mapping 文件

--taxonnodes :物种分类库 nodes 文件

--taxonnames:物种分类库 names 文件

比对选项:

--query/-q :输入比对序列

--strand:比对方向

--evalue/-e:比对的最大 evalue 值(默认 0.001)

--max-target-seqs/-k:比对到的最大序列数,默认值是 25

--top:百分数的形式表示

--min-score:最小评分

--id: 给出指定百分比的数据

--subject-cover:最小覆盖度

选择比对速度与敏感度

--fast

--mid-sensitive

--sensitive

--more-sensitive

--very-sensitive

--ultra-sensitive

5.3 使用案例

1、blastp 比对

代码语言:javascript复制
#建立索引
diamond makedb --in ref.faa --db ref
diamond 比对
diamond blastp -q query.faa -d ref -o blastp.txt -p 12 -f 6

2、物种鉴定

代码语言:javascript复制
#检查数据库版本
diamond dbinfo -d /nr_diamond/nr.dmnd
diamond dbinfo -d /diamond_20210825/nr.dmnd
#diamond 比对
diamond blastx -q P15.fastq.gz --db diamond
/diamond_20210825/nr -o blastx -p 12 -f 100
#可视化
diamond view -a blastx.daa

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

0 人点赞