skbio.alignment.TabularMSA.extend¶
- TabularMSA.extend(sequences, minter=None, index=None, reset_index=False)[源代码]¶
在不重新计算对齐的情况下用序列扩展此MSA。
状态:从0.4.1开始试验。
- 参数:
sequences (iterable of GrammaredSequence) -- 要附加的序列。必须匹配MSA的数据类型和MSA中的位置数。
minter (callable or metadata key, optional) -- 用于为要附加的序列创建索引标签。如果可调用,则直接生成标签。否则,它将被视为序列元数据的键。请注意 minter 不能与 index 也不 reset_index .
index (pd.Index consumable, optional) -- 用于附加序列的索引标签。长度必须与 sequences . 必须能够直接传递给
pd.Index
建造师。请注意 index 不能与 minter 也不 reset_index .reset_index (bool, optional) -- 如果
True
,此MSA的索引将重置为TabularMSA
扩展后构造函数的默认值。请注意 reset_index 不能与 minter 也不 index .
- 抛出:
ValueError -- 如果只有一个选择 minter , index 或 reset_index 未提供。
ValueError -- 如果 index 长度不同于 sequences .
TypeError -- 如果 sequences 包含的对象不是
GrammaredSequence
.TypeError -- 如果 sequences 包含与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.extend([DNA('AG-T'), DNA('-G-T')], index=['seq2', 'seq3']) >>> msa TabularMSA[DNA] --------------------- Stats: sequence count: 3 position count: 4 --------------------- ACGT AG-T -G-T >>> msa.index Index(['seq1', 'seq2', 'seq3'], dtype='object')
扩展更多序列,这次使用 reset_index . 注意,由于MSA的索引被重置,我们不需要通过为新序列提供索引标签 index 或 minter :
>>> msa.extend([DNA('ACGA'), DNA('AC-T'), DNA('----')], ... reset_index=True) >>> msa TabularMSA[DNA] --------------------- Stats: sequence count: 6 position count: 4 --------------------- ACGT AG-T ... AC-T ---- >>> msa.index RangeIndex(start=0, stop=6, step=1)