软件介绍之BLAST

咱们《生信技能树》的B站有一个lncRNA数据分析实战,缺乏配套笔记,所以我们安排了100个lncRNA组装案例文献分享,以及这个流程会用到的100个软件的实战笔记教程

下面是100个lncRNA组装流程的软件的笔记教程

BLAST (Basic Local Alignment Search Tool) 是我们常用的短序列比对工具,直接输入fastq格式的序列文件就可进行比对。

BLAST的主要理念

  • Search may take place in nucleotide and/or protein space or translated spaces where nucleotides are translated into proteins.
  • Searches may implement search “strategies”: optimizations to a certain task. Different search strategies will return different alignments.
  • Searches use alignments that rely on scoring matrices
  • Searches may be customized with many additional parameters. BLAST has many subtle functions that most users never need.

一、软件安装

使用conda安装

conda install blast

二、blast类型

三、blast的用法

1. 本地BLAST的基本步骤

1. 用makeblastdb为BLAST提供数据库
2. 选择blast工具,blastn,blastp
3. 运行工具,有必要的还可以对输出结果进行修饰

2. 建立检索所需数据库

BLAST数据库分为两类,核酸数据库和氨基酸数据库,可以用makeblastbd创建。可以用help参数简单看下说明。

具体以拟南芥基因组作为案例,介绍使用方法:

# 下载基因组
wget ftp://ftp.ensemblgenomes.org/pub/plants/release-36/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz
gzip -d Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz
# 构建核酸BLAST数据库
makeblastdb -in Arabidopsis_thaliana.TAIR10.dna.toplevel.fa -dbtype nucl -out TAIR10 -parse_seqids

# 下载拟南芥protein数据
wget ftp://ftp.ensemblgenomes.org/pub/plants/release-36/fasta/arabidopsis_thaliana/pep/Arabidopsis_thaliana.TAIR10.pep.all.fa.gz
# 构建蛋白BLAST数据库
gzip -dArabidopsis_thaliana.TAIR10.pep.all.fa.gz
makeblastdb -in  Arabidopsis_thaliana.TAIR10.pep.all.fa -dbtype prot -out TAIR10 -parse_seqids

参数解读:

-in:构建数据库所用的序列文件。

-dbtype:数据库类型。构建的数据库是核苷酸数据库时,dbtype设置为nucl,数据库是氨基酸数据库时,dbtype设置为prot。

-out:数据库名称。

构建好数据库就可进行序列比对。序列比对的工具共有5种,大家可以根据自己序列比对的类型进行选择。

四、以blastn为例,进行序列比对。

## 将核苷酸序列比对至核苷酸数据库
blastn -query input.fa -db ./index -evalue 1e-6 -outfmt 6 -num_threads 6 -out out_file

参数解读:

-query:进行检索的序列。

-db:使用的数据库。

-evalue:设置输出结果中的e-value阈值。e-value低于1e-5就可认为序列具有较高的同源性。

-outfmt:输出文件的格式,一般设置为6。

-num_threads:线程数。

-out:输出文件。

五、比对结果解读

简写 含义
qaccver 查询的AC版本(与此类似的还有qseqid,qgi,qacc,与序列命名有关)
saccver 目标的AC版本(与此类似的还有sseqid,sallseqid,sgi,sacc,sallacc,也是序列命名相关)
pident 完全匹配百分比 (响应的nident则是匹配数)
length 联配长度(另外slen表示查询序列总长度,qlen表示目标序列总长度)
mismatch 错配数目
gapopen gap的数目
qstart 查询序列起始
qstart 查询序列结束
sstart 目标序列起始
send 目标序列结束
evalue 期望值
bitscore Bit得分
score 原始得分

六、调整输出格式

以上是默认输出,blast的-outfmt选项可以提供个性化的输出结果。

例如:只输出qseqid sseqid pident qcovs evalue bitscore六列

nohup blastx -db ~/database/test/nr_human_clean -evalue 1e-5 -num_threads 8 \
-max_target_seqs 5 -query ~/lncRNA_project/07.identification/04.step/filter4_by_pfam_exon.fa \
-outfmt ' 6 qseqid sseqid pident qcovs evalue bitscore' -out dna_matches.txt  &

文末友情推荐

与十万人一起学生信,你值得拥有下面的学习班:

(0)

相关推荐