Bio.SearchIO.HmmerIO 套件

子模組

模組內容

Bio.SearchIO 支援 HMMER 輸出格式。

這個模組增加了對解析 HMMER 輸出的支援。HMMER 是一套實作隱藏馬可夫模型 (profile hidden Markov models) 的程式,用於尋找蛋白質序列之間的相似性。

Bio.SearchIO.HmmerIO 已在以下 HMMER 版本和種類上測試過

  • HMMER3 種類:hmmscan、hmmsearch、phmmer

  • HMMER2 種類:hmmpfam、hmmsearch

有關 HMMER 的更多資訊可透過這些連結取得

支援的格式

Bio.SearchIO.HmmerIO 支援以下 HMMER 輸出格式

  • 純文字,v3.0 - ‘hmmer3-text’ - 解析、索引

  • 表格,v3.0 - ‘hmmer3-tab’ - 解析、索引、寫入

  • 網域表格,v3.0 - ‘hmmer3-domtab’* - 解析、索引、寫入

  • 純文字,v2.x - ‘hmmer2-text’ - 解析、索引

  • 對於網域表格輸出,由於 HMMER 輸出序列座標的方式,您必須指定產生輸出的 HMMER 種類作為檔案格式。因此,您必須使用 ‘hmmscan3-domtab’、‘hmmsearch3-domtab’ 或 ‘phmmer3-domtab’ 作為檔案格式名稱,而不是使用 ‘hmmer3-domtab’。

請注意,對於所有輸出格式,HMMER 使用其自身的輸入和輸出座標慣例。它不使用「hit」或「query」等詞,而是使用「hmm」或「ali」。例如,「hmmfrom」是 HMM 序列的起始座標,而「alifrom」是蛋白質序列的起始座標。

HmmerIO 知道這種不同的命名方案,並且會相應地調整它們以符合 SearchIO 的物件模型。如果 HmmerIO 發現要解析的輸出檔案是由 hmmsearch 或 phmmer 寫入的,則所有「hmm」座標將會是 hit 座標,而「ali」座標將會是 query 座標。相反地,如果 HMMER 種類為 hmmscan,則「hmm」將會是 query,而「ali」將會是 hit。

這就是為什麼 ‘hmmer3-domtab’ 格式必須指定來源 HMMER 種類的原因。解析器需要知道哪個是 hit,哪個是 query。‘hmmer3-text’ 在檔案中存在來源程式資訊,而 ‘hmmer3-tab’ 不輸出任何座標。這就是為什麼這兩種格式都不需要像 ‘hmmer3-domtab’ 那樣直接指定種類。

另請注意,當使用網域表格格式寫入器時,它將使用 HMMER 的命名慣例(「hmm」和「ali」),因此您寫入的檔案將會類似於真實 HMMER 程式寫入的檔案。

hmmer2-text 和 hmmer3-text

HMMER 3.0 純文字輸出的解析器可以解析包含比對區塊(預設)或不包含比對區塊(使用 ‘–noali’ 標誌)的輸出檔案。如果存在比對區塊,您也可以解析具有可變比對寬度(使用 ‘–notextw’ 或 ‘–textw’ 標誌)的檔案。

以下提供 SearchIO 物件屬性。標記為「*」的列表示 hmmer2-text 格式中不可用的屬性

物件

屬性

QueryResult

accession

accession(如果存在)

description

查詢序列描述

id

查詢序列 ID

program

HMMER 種類

seq_len*

查詢序列的完整長度

target

目標搜尋資料庫

version

BLAST 版本

Hit

bias*

hit 層級偏差

bitscore

hit 層級分數

description

hit 序列描述

domain_exp_num*

hit 中網域的預期數量(exp 欄)

domain_obs_num

hit 中網域的觀察數量(N 欄)

evalue

hit 層級 e 值

id

hit 序列 ID

is_included*

布林值,表示 hit 是否在包含閾值內

HSP

acc_avg*

每個比對殘基的預期準確度(acc 欄)

bias*

hsp 層級偏差

bitscore

hsp 層級分數

domain_index

HMMER 設定的網域索引

env_end*

envelope 的結束座標

env_endtype*

envelope 結束類型(例如 ‘[]’、‘..’、‘[.’ 等)

env_start*

envelope 的起始座標

evalue

hsp 層級獨立 e 值

evalue_cond*

hsp 層級條件 e 值

hit_endtype

hit 序列結束類型

is_included*

布林值,表示 hsp 的 hit 是否在包含閾值內

query_endtype

查詢序列結束類型

HSPFragment(也透過 HSP)

aln_annotation

比對相似性字串和其他註解(例如 PP、CS)

aln_span

比對片段的長度

hit

hit 序列

hit_end

hit 序列結束座標,可能是 ‘hmmto’ 或 ‘alito’,取決於 HMMER 種類

hit_start

hit 序列起始座標,可能是 ‘hmmfrom’ 或 ‘alifrom’,取決於 HMMER 種類

hit_strand

hit 序列鏈

query

查詢序列

query_end

查詢序列結束座標,可能是 ‘hmmto’ 或 ‘alito’,取決於 HMMER 種類

query_start

查詢序列起始座標,可能是 ‘hmmfrom’ 或 ‘alifrom’,取決於 HMMER 種類

query_strand

查詢序列鏈

hmmer3-tab

以下提供 SearchIO 物件屬性

物件

屬性

欄 / 值

QueryResult

accession

查詢 accession(如果存在)

description

查詢序列描述

id

查詢名稱

Hit

accession

hit accession

偏差

hit 層級偏差

bitscore

hit 層級分數

description

hit 序列描述

cluster_num

clu 欄

domain_exp_num

exp 欄

domain_included_num

inc 欄

domain_obs_num

dom 欄

domain_reported_num

rep 欄

env_num

env 欄

evalue

hit 層級 evalue

id

目標名稱

overlap_num

ov 欄

region_num

reg 欄

HSP

偏差

最佳網域的偏差

bitscore

最佳網域的 bitscore

evalue

最佳網域的 evalue

hmmer3-domtab

要解析網域表格檔案,您必須使用產生該檔案的 HMMER 種類。因此,請使用 ‘hmmsearch3-domtab’、‘hmmscan3-domtab’ 或 ‘phmmer3-domtab’,而不是使用 ‘hmmer3-domtab’。

以下提供 SearchIO 物件屬性

物件

屬性

QueryResult

accession

accession

description

查詢序列描述

id

查詢序列 ID

seq_len

查詢序列的完整長度

Hit

accession

accession

偏差

hit 層級偏差

bitscore

hit 層級分數

description

hit 序列描述

evalue

hit 層級 e 值

id

hit 序列 ID

seq_len

hit 序列或 HMM 的長度

HSP

acc_avg

每個比對殘基的預期準確度(acc 欄)

偏差

hsp 層級偏差

bitscore

hsp 層級分數

domain_index

HMMER 設定的網域索引

env_end

envelope 的結束座標

env_start

envelope 的起始座標

evalue

hsp 層級獨立 e 值

evalue_cond

hsp 層級條件 e 值

HSPFragment(也透過 HSP)

hit_end

hit 序列結束座標,可能是 ‘hmmto’ 或 ‘alito’,取決於 HMMER 種類

hit_start

hit 序列起始座標,可能是 ‘hmmfrom’ 或 ‘alifrom’,取決於 HMMER 種類

hit_strand

hit 序列鏈

query_end

查詢序列結束座標,可能是 ‘hmmto’ 或 ‘alito’,取決於 HMMER 種類

query_start

查詢序列起始座標,可能是 ‘hmmfrom’ 或 ‘alifrom’,取決於 HMMER 種類

query_strand

查詢序列鏈