Bio.Blast.NCBIXML 模块
用于处理 BLAST XML 输出的代码。
BLAST XML DTD 文件可在 NCBI 网站上获得: https://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd
用于保存 BLAST 输出的记录类
类:Blast 保存来自 blast 搜索的所有信息。PSIBlast 保存来自 psi-blast 搜索的所有信息。
Header 保存来自标题的信息。Description 保存关于一个命中描述的信息。Alignment 保存关于一个比对命中的信息。HSP 保存关于一个 HSP 的信息。MultipleAlignment 保存关于多个比对的信息。DatabaseReport 保存来自数据库报告的信息。Parameters 保存来自参数的信息。
- Bio.Blast.NCBIXML.fmt_(value, format_spec='%s', default_str='<unknown>')
确保给定值正确地格式化为字符串。
- class Bio.Blast.NCBIXML.Header
基础类:
object
保存来自 BLAST 标题的信息。
成员:application 生成此数据的 BLAST 版本的名称。version 使用的 BLAST 版本。date 生成此数据的日期。reference BLAST 的参考。
query 查询序列的名称。query_letters 查询序列中的字母数。 (int)
database 数据库的名称。database_sequences 数据库中的序列数。 (int) database_letters 数据库中的字母数。 (int)
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.Description
基础类:
object
存储描述部分中一个命中的信息。
成员:title 命中的标题。score 比特数。 (int) bits 比特分值。 (float) e E 值。 (float) num_alignments 相同主题的比对数。 (int)
- __init__()
初始化类。
- __str__()
将描述作为字符串返回。
- class Bio.Blast.NCBIXML.DescriptionExt
基础类:
Description
BLASTXML 版本 2 的扩展描述记录。
成员:items DescriptionExtItem 列表
- __init__()
初始化类。
- append_item(item)
添加一个扩展描述记录。
- class Bio.Blast.NCBIXML.DescriptionExtItem
基础类:
object
存储 BLASTXML 版本 2 中命中描述中一个记录的信息。
成员:id 数据库标识符 title 命中的标题。
- __init__()
初始化类。
- __str__()
将描述标识符和标题作为字符串返回。
- class Bio.Blast.NCBIXML.Alignment
基础类:
object
存储比对部分中一个命中的信息。
成员:title 名称。hit_id 命中标识符。 (str) hit_def 命中定义。 (str) length 长度。 (int) hsps HSP 对象列表。
- __init__()
初始化类。
- __str__()
将 BLAST 比对作为格式化的字符串返回。
- class Bio.Blast.NCBIXML.HSP
基础类:
object
存储比对命中中一个 hsp 的信息。
- 成员
score 命中的 BLAST 分值。 (float)
bits 该分值的比特数。 (float)
expect 期望值。 (float)
num_alignments 相同主题的比对数。 (int)
identities 标识数 (int) 如果使用 XML 解析器。标识数/总比对数元组 (int, int) 如果使用 (已弃用) 纯文本解析器。
positives 正数 (int) 如果使用 XML 解析器。正数/总比对数元组 (int, int) 如果使用 (已弃用) 纯文本解析器。
gaps 间隙数 (int) 如果使用 XML 解析器。间隙数/总比对数元组 (int, int) 如果使用 (已弃用) 纯文本解析器。
align_length 比对长度。 (int)
strand (query, target) 链元组。
frame 1 或 2 个帧移位元组,具体取决于版本。
query 查询序列。
query_start 查询序列的起始残基。 (基于 1)
query_end 查询序列的终止残基。 (基于 1)
match 匹配序列。
sbjct sbjct 序列。
sbjct_start sbjct 序列的起始残基。 (基于 1)
sbjct_end sbjct 序列的终止残基。 (基于 1)
并非所有 BLAST 版本都返回每个属性的值
score expect identities positives strand frame BLASTP X X X X BLASTN X X X X X BLASTX X X X X X TBLASTN X X X X X TBLASTX X X X X X/X
注意:对于 BLASTX,查询序列显示为蛋白质序列,但编号基于核苷酸。因此,编号是氨基酸残基数的 3 倍。在 TBLASTN 中的 sbjct 序列以及 TBLASTX 中的两个序列中都可以看到类似的效果。
此外,对于负帧,序列编号从 query_start 开始并向下计数。
- __init__()
初始化类。
- __str__()
将 BLAST HSP 作为格式化的字符串返回。
- class Bio.Blast.NCBIXML.MultipleAlignment
基础类:
object
保存关于多个比对的信息。
成员:alignment (名称、起始残基、序列、终止残基) 元组列表。
起始残基是基于 1 的。如果该序列在多重比对中未对齐,则它可能是空白的。
- __init__()
初始化类。
- to_generic()
为给定的比对检索通用比对对象。
它不返回元组,而是返回来自 Bio.Align 的 MultipleSeqAlignment 对象,您可以通过该对象来操作和查询该对象。
感谢 James Casbon 提供代码。
- class Bio.Blast.NCBIXML.Round
基础类:
object
保存来自 PSI-BLAST 轮次的的信息。
成员:number 轮次号。 (int) reused_seqs 模型中的序列,再次找到。Description 对象列表。new_seqs 未找到的序列,或低于阈值。Description 列表。alignments Alignment 对象列表。multiple_alignment MultipleAlignment 对象。
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.DatabaseReport
基础类:
object
保存关于数据库报告的信息。
成员:database_name 数据库名称列表。 (可以有多个数据库) num_letters_in_database 数据库中的字母数。 (int) num_sequences_in_database 数据库中的序列数列表。 posted_date 数据库发布的日期列表。 ka_params (lambda, k, h) 值元组。 (浮点数) gapped # XXX 这没有设置正确! ka_params_gap (lambda, k, h) 值元组。 (浮点数)
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.Parameters
基础类:
object
保存有关参数的信息。
成员:matrix 矩阵名称。 gap_penalties (open, extend) 罚分元组。 (浮点数) sc_match 核苷酸-核苷酸比较的匹配得分 sc_mismatch 核苷酸-核苷酸比较的错配罚分 num_hits 数据库中的命中数。 (int) num_sequences 序列数量。 (int) num_good_extends 扩展数量。 (int) num_seqs_better_e 比 e 值更好的序列数量。 (int) hsps_no_gap 更好的 HSP 数量,不含间隙。 (int) hsps_prelim_gapped 初步测试中具有间隙的 HSP 数量。 (int) hsps_prelim_gapped_attemped 在初步测试中尝试的 HSP 数量。 (int) hsps_gapped 间隙 HSP 的总数。 (int) query_length 查询的长度。 (int) query_id 查询序列的标识符。 (str) database_length 数据库中的字母数。 (int) effective_hsp_length 有效的 HSP 长度。 (int) effective_query_length 查询的有效长度。 (int) effective_database_length 数据库的有效长度。 (int) effective_search_space 有效搜索空间。 (int) effective_search_space_used 使用的有效搜索空间。 (int) frameshift 移码窗口。 元组 (int, float) threshold 阈值。 (int) window_size 窗口大小。 (int) dropoff_1st_pass 元组 (score, bits)。 (int, float) gap_x_dropoff 元组 (score, bits)。 (int, float) gap_x_dropoff_final 元组 (score, bits)。 (int, float) gap_trigger 元组 (score, bits)。 (int, float) blast_cutoff 元组 (score, bits)。 (int, float)
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.Blast
基类:
Header
,DatabaseReport
,Parameters
保存 blast 搜索结果。
成员:descriptions Description 对象列表。 alignments Alignment 对象列表。 multiple_alignment MultipleAlignment 对象。 + 从基类继承的成员
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.PSIBlast
基类:
Header
,DatabaseReport
,Parameters
保存 blastpgp 搜索结果。
成员:rounds Round 对象列表。 converged 搜索是否收敛。 + 从基类继承的成员
- __init__()
初始化类。
- class Bio.Blast.NCBIXML.BlastParser(debug=0)
基类:
_XMLparser
将 XML BLAST 数据解析为 Blast 对象。
解析 BLAST 的 XML 输出(不鼓励直接使用)。 这(现在)返回一个 Blast 记录列表。 历史上它返回单个 Blast 记录。 预计您将通过 parse 或 read 函数使用它。
所有 XML“操作”方法都是私有方法,可以是
_start_TAG
在找到开始标签时调用_end_TAG
在找到结束标签时调用
- __init__(debug=0)
初始化解析器。
- 参数
debug - 整数,要打印的调试信息量
- reset()
重置所有数据,允许重用 BlastParser() 对象。
- set_hit_id()
记录数据库序列的标识符(私有)。
- set_hit_def()
记录数据库序列的定义行(私有)。
- set_hit_accession()
记录数据库序列的登录号值(私有)。
- set_hit_len()
记录命中的长度。
- Bio.Blast.NCBIXML.read(handle, debug=0)
返回单个 Blast 记录(假设只有一个查询)。
在内部使用 BlastParser。
此函数用于您的 XML 文件中只有一个 BLAST 结果时。
如果您期望多个 BLAST 记录(即如果您有多个查询序列),请使用 Bio.Blast.NCBIXML.parse() 函数。
- Bio.Blast.NCBIXML.parse(handle, debug=0)
返回每个查询的 Blast 记录迭代器。
增量解析器,这是一个返回 Blast 记录的迭代器。 它在内部使用 BlastParser。
handle - 要解析的 XML 文件的文件句柄 debug - 整数,要打印的调试信息量
这是一个生成器函数,它返回多个 Blast 记录对象 - 每个对象对应于传递给 blast 的每个查询序列。 文件被增量读取,在读入时返回完整记录。
应该处理新的 BLAST 2.2.14+,它为多个查询记录提供单个 XML 文件。
还应该处理来自旧版 BLAST 的 XML 输出,这些输出将多个 XML 文件连接在一起(提供一个严格来说不是有效 XML 的单个文件)。