生信喵 发表于 2022-6-28 17:20:40

blast 的应用

本帖最后由 生信喵 于 2022-6-28 18:09 编辑

一、物种鉴定
      当拿到一条未知序列时,可以直接与 ncbi nt 库或者 nr 库进行 blast 比对,鉴定未知序列。
#nt库比对
blastn -db nt -query assembly.fasta -out blast.out-outfmt 6 -evalue 1e-5 -num_threads 12
二、基因功能注释
      这种原理上与物种鉴定类似,也是通过比对,根据已知的信息来推测未知的信息。对于未知的基因,与基因功能数据库进行比对。过滤之后,比对到最近源基因所具有的功能,也就是未知基因具有的功能。这里我们看到,已知功能基因数据的准确性非常重要,否则未知基因功能就会被定义错误,如果这个错误累积起来,将会越累积越多。目前的基因功能注释主要都是采用这种方式。一般利用氨基酸的直接比对来做,比如可以做 nr 库、cog 数据库等。
#nr库比对
blastn -db nr -query gene.fa-out blast.out -outfmt 6 -evalue 1e-5 -num_threads 12
三、筛选质粒
#质粒数据库
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 筛选出来。

#筛选共有基因
#建立索引
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 的软件版本要与数据库版本一致。

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 软件安装

#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.gz2 选项参数
      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 比对

#建立索引
diamond makedb --in ref.faa --db ref
diamond 比对
diamond blastp -q query.faa -d ref -o blastp.txt -p 12 -f 62、物种鉴定
#检查数据库版本
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
页: [1]
查看完整版本: blast 的应用