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 -- 如果 mapping 和 minter 都提供了。
参见
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')