DNA.
replace
(where, character)[source]¶Replace values in this sequence with a different character.
State: Experimental as of 0.5.0.
where (1D array_like (bool) or iterable (slices or ints) or str) – Indicates positions in the sequence to replace with character. Can be a boolean vector, an iterable of indices/slices, or a string that is a key in positional_metadata pointing to a boolean vector.
character (str or bytes) – Character that will replace chosen items in this sequence.
Copy of this sequence, with chosen items replaced with chosen character. All metadata is retained.
Examples
Let’s create and display a Sequence:
>>> from skbio import Sequence
>>> sequence = Sequence('GGTACCAACG')
>>> str(sequence)
'GGTACCAACG'
Let’s call replace
on the Sequence using a boolean vector for
where
and assign it to a new variable:
>>> seq = sequence.replace([False, False, False, True, False, False,
... True, True, False, False], '-')
Let’s take a look at the new Sequence:
>>> str(seq)
'GGT-CC--CG'
Other types of input are accepted by the where
parameter. Let’s
pass in a list of indices and slices that is equivalent to the boolean
vector we used previously:
>>> str(seq) == str(sequence.replace([3, slice(6, 8)], '-'))
True
where
also accepts a boolean vector contained in
Sequence.positional_metadata
:
>>> sequence.positional_metadata = {'where':
... [False, False, False, True, False,
... False, True, True, False, False]}
Let’s pass in the key 'where'
and compare to seq
:
>>> str(seq) == str(sequence.replace('where', '-'))
True