Bio.Align.AlignInfo 模組

從比對物件中提取資訊。

為了盡量避免出現包含大量函式的大型比對物件,應將返回比對摘要類型資訊的函式放入此模組中的類別中。

class Bio.Align.AlignInfo.SummaryInfo(alignment)

基底類別: object

計算比對的摘要資訊。

此類別應用於計算總結比對結果的資訊。這可能是直接的共識資訊或更複雜的事物。

__init__(alignment)

使用要計算資訊的比對進行初始化。

ic_vector 屬性。每個欄位數的 ic 內容列表。

dumb_consensus(threshold=0.7, ambiguous='X', require_multiple=False)

輸出比對的快速共識序列。

這根本不執行任何複雜的操作。它只會逐個殘基地遍歷序列,並計算比對中所有序列中每種殘基類型(例如 DNA 的 A 或 G 或 T 或 C)的數量。如果最常見殘基類型的百分比大於傳遞的閾值,那麼我們將新增該殘基類型,否則將新增一個模糊字元。

這可以做得更精緻(例如,考慮到取代矩陣),但它只是為了快速而粗略的共識。

引數
  • threshold - 新增特定原子所需的閾值。

  • ambiguous - 未達到閾值時要新增的模糊字元。

  • require_multiple - 如果設定為 True,這將要求多個序列成為比對的一部分,才能將其放入共識中(例如,不僅僅是 1 個序列和間隙)。

gap_consensus(threshold=0.7, ambiguous='X', require_multiple=False)

輸出比對的快速共識序列,允許間隙。

與 dumb_consensus() 相同,但允許輸出上的間隙。

待辦事項
  • 讓使用者定義僅有一個間隙時,共識中的結果字元為間隙。

  • 讓使用者選取間隙字元,現在它與輸入相同。

replacement_dictionary(skip_chars=None, letters=None)

產生要插入取代矩陣的取代字典。

這應該檢視比對,並能夠產生比對物件中不同殘基彼此取代的次數。

然後會返回一個包含此資訊的字典

{('A', 'C') : 10, ('C', 'A') : 12, ('G', 'C') : 15 ....}

這也會處理加權序列。以下範例展示了我們如何計算取代字典。給定以下多序列比對

GTATC  0.5
AT--C  0.8
CTGTC  1.0

對於第一欄,我們有

('A', 'G') : 0.5 * 0.8 = 0.4
('C', 'G') : 0.5 * 1.0 = 0.5
('A', 'C') : 0.8 * 1.0 = 0.8

然後,我們繼續針對比對中的所有欄位執行此操作,總結每個欄位中每個取代的資訊,直到我們最終得到取代字典。

引數
  • skip_chars - 未使用;將其設定為 None 以外的任何值都會引發 ValueError

  • letters - 一個可迭代的物件(例如,要包含的字串或字元清單)。

pos_specific_score_matrix(axis_seq=None, chars_to_ignore=None)

為比對建立位置特定評分矩陣物件。

這會建立位置特定評分矩陣 (pssm),這是一種檢視共識序列的替代方法。

引數
  • chars_to_ignore - 不包含在 pssm 中的所有字元的清單。

  • axis_seq - 一個可選引數,用於指定要放在 PSSM 軸上的序列。這應該是一個 Seq 物件。如果沒有指定任何內容,將會使用使用預設參數計算的共識序列。

傳回
  • 一個 PSSM(位置特定評分矩陣)物件。

information_content(start=0, end=None, e_freq_table=None, log_base=2, chars_to_ignore=None, pseudo_count=0)

計算沿著比對的每個殘基的資訊內容。

引數
  • start、end - 計算資訊內容的起始點和結束點。這些點應該相對於比對中的第一個序列,從零開始(例如,即使序列中的「實際」第一個位置在初始序列中為 203,對於資訊內容,我們需要使用零)。這預設為第一個序列的完整長度。

  • e_freq_table - 一個字典,指定每個字母的預期頻率(例如 {‘G’ : 0.4, ‘C’ : 0.4, ‘T’ : 0.1, ‘A’ : 0.1})。不應包含間隙字元,因為這些字元不應具有預期頻率。

  • log_base - 用於計算資訊內容的對數基底。這預設為 2,因此資訊以位元為單位。

  • chars_to_ignore - 應在計算資訊內容時忽略的字元清單。預設為無。

傳回
  • 一個代表指定區域資訊內容的數字。

有關如何計算資訊內容的更多資訊,請參閱 Biopython 手冊。

get_column(col)

傳回比對的欄位。

class Bio.Align.AlignInfo.PSSM(pssm)

基底類別: object

表示位置特定評分矩陣。

此類別旨在輕鬆存取 PSSM 中的資訊,並使其能夠輕鬆地在精美的表格中印出資訊。

假設您有一個像這樣的比對

GTATC
AT--C
CTGTC

位置特定評分矩陣(印出時)如下所示

  G A T C
G 1 1 0 1
T 0 0 3 0
A 1 1 0 0
T 0 0 2 0
C 0 0 0 3

您可以使用以下方式存取 PSSM 的單個元素

your_pssm[sequence_number][residue_count_name]

例如,若要取得上述比對中第二個元素的「T」殘基,您需要執行

your_pssm[1][‘T’]

__init__(pssm)

使用要表示的 pssm 資料進行初始化。

傳遞的 pssm 應是一個具有以下結構的清單

list[0] - 要表示的殘基的字母(例如,從上面的範例來看,前幾個 list[0] 將為 GTAT… list[1] - 一個包含字母取代和計數的字典。

__getitem__(pos)
__str__()

傳回 str(self)。

get_residue(pos)

傳回指定位置的殘基字母。

Bio.Align.AlignInfo.print_info_content(summary_info, fout=None, rep_record=0)

3 欄輸出:位置、代表性序列中的 aa、ic_vector 值。