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 -- 如果只有一个选择 minter , index 或 reset_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提供索引标签 index 或 minter :
>>> 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)