skbio.sequence.DNA.replace

DNA.replace(where, character)[源代码]

将此序列中的值替换为其他字符。

状态:从0.5.0开始实验。

参数:
  • where (1D array_like (bool) or iterable (slices or ints) or str) -- 指示要替换的序列中的位置 character . 可以是布尔向量、索引/切片的iterable或是 positional_metadata 指向布尔向量。

  • character (str or bytes) -- 将替换此序列中选定项的字符。

返回:

此序列的副本,所选项目替换为所选字符。保留所有元数据。

返回类型:

Sequence

示例

让我们创建并显示一个序列:

>>> from skbio import Sequence
>>> sequence = Sequence('GGTACCAACG')
>>> str(sequence)
'GGTACCAACG'

我们打电话吧 replace 关于使用布尔向量的序列 where 并将其赋给一个新变量:

>>> seq = sequence.replace([False, False, False, True, False, False,
...                         True, True, False, False], '-')

让我们看看新的序列:

>>> str(seq)
'GGT-CC--CG'

其他类型的输入被 where 参数。让我们传入一个索引和切片列表,该列表与前面使用的布尔向量等效:

>>> str(seq) == str(sequence.replace([3, slice(6, 8)], '-'))
True

where 也接受包含在 Sequence.positional_metadata

>>> sequence.positional_metadata = {'where':
...                                 [False, False, False, True, False,
...                                  False, True, True, False, False]}

让我们把钥匙递进去 'where' 与之相比 seq

>>> str(seq) == str(sequence.replace('where', '-'))
True