blast中evalue和bitscore的理解

blast中筛选结果时,blast会输出bitscore和evalue,原始打分,它们是重要的同源性考量指标,其含义对于数据的筛选有指导意义。

bitscore

含义

blast的时候会为最初序列与匹配序列之间根据打分矩阵进行打分,此时会得到原始打分S。bitscore可以称为比特打分S’,bitscore通过对原始打分进行归一化处理使得使用不同打分矩阵的时候的blast依然可以用bitscore作为对比的指标。
bitscore的内在含义在于,我拿出来N个随机序列,这N条序列序列中能够找出像目前这种相似性的序列。最后再取log2得到的值。因此,bitscore越大,这种相似性出现的概率就会越低,这种概率是随着bitscore的值的增加呈指数变化的。
这里可以看出bitscore的值是不依赖于比对使用的数据库的大小的。

evalue

含义

evalue(expectation value)是一个对bitscore值进行校正之后的值,这个校正的因素主要是在于考虑到的数据库的大小,因为数据库较大的话产生阳性的概率也会很大。
evalue的内在含义是:在一次blast分析过程中,query序列与subject序列有N个hit,根据我们的N来确定evalue,也就是在一个随机序列中(随机库的大小与数据库相同),有多少个hit能够被发现,我理解hit的概念就是能够和当前的query和subject的比对结果一致或者好于当前的query和subject的比对结果。
请注意:这里evalue衡量的相关参数有两个影响因素需要考虑:数据库的大小以及随机库,由于是随机库所以对于同一个数据库多次blast的结果可能会出现不一样,但是保守的序列的evalue值应该是近似的。

示例

比如我们利用a序列,对数据库db1,db2进行blast,数据库db1大小为100万,db2大小为1000,对a而言,与db1比对结果中evalue=10就表示100万个序列中可能有10个比当前比对结果好的序列出现。但是与db2比对结果中evalue=10就表示出更大的风险,因为1000个随机序列中会出现10个。因此,数据库的大小是一个需要考虑的因素。自然随机序列是我们无法控制的。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过在BLAST查询时指定物种名称来实现在输出结果添加物种名称。具体方法为,在BLAST查询时使用`-db`参数指定物种名称,例如: ``` blastn -query query.fasta -db nt -outfmt '6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids' -remote > blast_results.txt ``` 其`staxids`参数表示输出结果包含查询序列和匹配序列所对应的物种编号。然后,可以使用NCBI的`E-utilities`工具将物种编号转换为物种名称。示例代码如下: ```python from Bio import Entrez # 设置Entrez邮箱 Entrez.email = "[email protected]" # 将物种编号转换为物种名称 def get_species_name(tax_id): handle = Entrez.efetch(db="taxonomy", id=tax_id, retmode="xml") records = Entrez.read(handle) return records[0]['ScientificName'] # 读取BLAST输出结果文件 with open('blast_results.txt', 'r') as f: for line in f: # 分割行内容 fields = line.strip().split('\t') query_id = fields[0] subject_id = fields[1] species_id = fields[-1] # 将物种编号转换为物种名称 species_name = get_species_name(species_id) # 输出包含物种名称的结果 print(f"{query_id}\t{subject_id}\t{species_name}") ``` 在上面的示例代码,我们使用了Biopython的`Entrez`模块来获取物种名称。在使用该模块前,需要先设置一个有效的Entrez邮箱。然后,我们定义了一个`get_species_name`函数,该函数接受一个物种编号作为参数,并返回该物种对应的物种名称。最后,我们读取BLAST输出结果文件,将每行内容分割成不同的字段,并将物种编号转换为物种名称,最终输出包含物种名称的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值