skbio.alignment.TabularMSA.append

TabularMSA.append(sequence, minter=None, index=None, reset_index=False)[源代码]

在不重新计算对齐的情况下将序列追加到MSA。

状态:从0.4.1开始试验。

参数:
  • sequence (GrammaredSequence) -- 要附加的序列。必须匹配MSA的数据类型和MSA中的位置数。

  • minter (callable or metadata key, optional) -- 用于为要附加的序列创建索引标签。如果可调用,则直接生成标签。否则,它将被视为序列元数据的键。请注意 minter 不能与 index 也不 reset_index .

  • index (object, optional) -- 用于附加序列的索引标签。请注意 index 不能与 minter 也不 reset_index .

  • reset_index (bool, optional) -- 如果 True ,此MSA的索引将重置为 TabularMSA 附加后构造函数的默认值。请注意 reset_index 不能与 minter 也不 index .

抛出:
  • ValueError -- 如果只有一个选择 minterindexreset_index 未提供。

  • TypeError -- 如果序列对象不是 GrammaredSequence .

  • TypeError -- 如果序列的类型与MSA的数据类型不匹配。

  • ValueError -- 如果序列的长度与MSA中的位置数不匹配。

备注

附加序列时,MSA不会自动重新对齐。因此,这项行动本身并不一定有意义。

示例

创建带有标记的单个序列的MSA 'seq1'

>>> from skbio import DNA, TabularMSA
>>> msa = TabularMSA([DNA('ACGT')], index=['seq1'])
>>> msa
TabularMSA[DNA]
---------------------
Stats:
    sequence count: 1
    position count: 4
---------------------
ACGT
>>> msa.index
Index(['seq1'], dtype='object')

向MSA追加一个新序列,通过 index

>>> msa.append(DNA('AG-T'), index='seq2')
>>> msa
TabularMSA[DNA]
---------------------
Stats:
    sequence count: 2
    position count: 4
---------------------
ACGT
AG-T
>>> msa.index
Index(['seq1', 'seq2'], dtype='object')

附加另一个序列,这次使用 reset_index . 注意,由于MSA的索引被重置,我们不需要为新序列via提供索引标签 indexminter

>>> msa.append(DNA('ACGA'), reset_index=True)
>>> msa
TabularMSA[DNA]
---------------------
Stats:
    sequence count: 3
    position count: 4
---------------------
ACGT
AG-T
ACGA
>>> msa.index
RangeIndex(start=0, stop=3, step=1)