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 查詢序列中的字母數。(整數)
database 資料庫的名稱。database_sequences 資料庫中的序列數。(整數)database_letters 資料庫中的字母數。(整數)
- __init__()
初始化類別。
- class Bio.Blast.NCBIXML.Description
基底類別:
object
儲存描述區段中一個命中的資訊。
成員:title 命中的標題。score 位元數。(整數)bits 位元分數。(浮點數)e E 值。(浮點數)num_alignments 同一主題的比對數。(整數)
- __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 命中識別碼。(字串)hit_def 命中定義。(字串)length 長度。(整數)hsps HSP 物件的列表。
- __init__()
初始化類別。
- __str__()
將 BLAST 比對返回為格式化的字串。
- class Bio.Blast.NCBIXML.HSP
基底類別:
object
儲存比對命中中一個 hsp 的資訊。
- 成員:
score 命中的 BLAST 分數。(浮點數)
bits 該分數的位元數。(浮點數)
expect 期望值。(浮點數)
num_alignments 同一主題的比對數。(整數)
identities 身分數(整數),如果使用 XML 剖析器。身分數/總比對數(整數,整數)的元組,如果使用(已過時的)純文字剖析器。
positives 正值數(整數),如果使用 XML 剖析器。正值數/總比對數(整數,整數)的元組,如果使用(已過時的)純文字剖析器。
gaps 間隙數(整數),如果使用 XML 剖析器。間隙數/總比對數(整數,整數)的元組,如果使用(已過時的)純文字剖析器。
align_length 比對的長度。(整數)
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 回合數。(整數)reused_seqs 模型中的序列,再次找到。Description 物件的列表。new_seqs 未找到或低於閾值的序列。Description 的列表。alignments Alignment 物件的列表。multiple_alignment MultipleAlignment 物件。
- __init__()
初始化類別。
- class Bio.Blast.NCBIXML.DatabaseReport
基底類別:
object
保存資料庫報告的資訊。
成員:database_name 資料庫名稱列表。(可以有多個資料庫)num_letters_in_database 資料庫中的字母數量。(整數)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 資料庫的命中數。(整數)num_sequences 序列的數量。(整數)num_good_extends 延伸的數量。(整數)num_seqs_better_e 優於 e 值之序列的數量。(整數)hsps_no_gap 沒有間隙的較佳 HSP 數量。(整數)hsps_prelim_gapped 初步測試中帶間隙的 HSP 數量。(整數)hsps_prelim_gapped_attemped 初步測試中嘗試的 HSP 數量。(整數)hsps_gapped 帶間隙的 HSP 總數。(整數)query_length 查詢的長度。(整數)query_id 查詢序列的識別符。(字串)database_length 資料庫中的字母數量。(整數)effective_hsp_length 有效 HSP 長度。(整數)effective_query_length 查詢的有效長度。(整數)effective_database_length 資料庫的有效長度。(整數)effective_search_space 有效搜尋空間。(整數)effective_search_space_used 使用的有效搜尋空間。(整數)frameshift 移碼窗口。(整數, 浮點數) threshold 門檻值。(整數)window_size 窗口大小。(整數)dropoff_1st_pass (分數, 位元) 的元組。(整數, 浮點數)gap_x_dropoff (分數, 位元) 的元組。(整數, 浮點數)gap_x_dropoff_final (分數, 位元) 的元組。(整數, 浮點數)gap_trigger (分數, 位元) 的元組。(整數, 浮點數)blast_cutoff (分數, 位元) 的元組。(整數, 浮點數)
- __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 'action' 方法都是私有方法,可能
_start_TAG
在找到開始標籤時被呼叫_end_TAG
在找到結束標籤時被呼叫
- __init__(debug=0)
初始化解析器。
- 引數
debug - 整數,要列印的除錯資訊量
- reset()
重置所有資料,允許重複使用 BlastParser() 物件。
- set_hit_id()
記錄資料庫序列的識別符 (私有)。
- set_hit_def()
記錄資料庫序列的定義行 (私有)。
- set_hit_accession()
記錄資料庫序列的 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 的單個檔案)。