skbio.alignment.TabularMSA.reassign_index

TabularMSA.reassign_index(mapping=None, minter=None)[源代码]

将索引标签重新分配给此MSA中的序列。

状态:从0.4.1开始试验。

参数:
  • mapping (dict or callable, optional) -- 将现有标签映射到新标签的字典或可调用的。任何没有映射的标签都将保持不变。

  • minter (callable or metadata key, optional) -- 如果提供,则为每个序列定义索引标签。可以是接受单个参数(每个序列)的可调用函数,也可以是每个序列的键 metadata 属性。

抛出:

ValueError -- 如果 mappingminter 都提供了。

参见

index

备注

如果既不 mapping 也不 minter ,索引标签将重置为 TabularMSA 构造函数的默认值。

示例

创建一个 TabularMSA 具有默认索引标签的对象:

>>> from skbio import DNA, TabularMSA
>>> seqs = [DNA('ACG', metadata={'id': 'a'}),
...         DNA('AC-', metadata={'id': 'b'}),
...         DNA('CCG', metadata={'id': 'c'})]
>>> msa = TabularMSA(seqs)
>>> msa.index
RangeIndex(start=0, stop=3, step=1)

使用每个序列的ID作为标签为MSA分配新索引:

>>> msa.reassign_index(minter='id')
>>> msa.index
Index(['a', 'b', 'c'], dtype='object')

指定默认索引:

>>> msa.reassign_index()
>>> msa.index
RangeIndex(start=0, stop=3, step=1)

或者,现有标签到新标签的映射可以通过 mapping

>>> msa.reassign_index(mapping={0: 'seq1', 1: 'seq2'})
>>> msa.index
Index(['seq1', 'seq2', 2], dtype='object')