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]s 将是 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 列输出:位置,代表序列中的氨基酸,ic_vector 值。