skbio.sequence.RNA.iter_contiguous¶
- RNA.iter_contiguous(included, min_length=1, invert=False)[源代码]¶
生成连续的子序列基于 included .
状态:0.4.0稳定。
- 参数:
included (1D array_like (bool) or iterable (slices or ints)) -- included 转换为一个平面布尔向量,其中每个位置将被包含或跳过。所有相邻的包含位置将作为一个区域生成。
min_length (int, optional) -- 子序列产生的最小长度。默认值为1。
invert (bool, optional) -- 是否反转 included 因此它描述了应该跳过而不是包含的内容。默认值为False。
- 生成器:
序列 --相邻的子序列如所示 included .
备注
如果切片提供相邻范围,则它们将被视为相同的连续子序列。
示例
这里我们使用 iter_contiguous 使用从我们的DNA序列中导出的布尔向量来寻找所有相邻的无上限序列。
>>> from skbio import DNA >>> s = DNA('AAA--TT-CCCC-G-') >>> no_gaps = ~s.gaps() >>> for ungapped_subsequence in s.iter_contiguous(no_gaps, ... min_length=2): ... print(ungapped_subsequence) AAA TT CCCC
注意最后一个潜在的子序列是如何被跳过的,因为它会比 min_length 设置为2。
我们也可以使用 iter_contiguous 在切片生成器上 find_motifs (和 find_with_regex )
>>> from skbio import Protein >>> s = Protein('ACDFNASANFTACGNPNRTESL') >>> for subseq in s.iter_contiguous(s.find_motifs('N-glycosylation')): ... print(subseq) NASANFTA NRTE
注意第一个子序列如何包含两个N-糖基化位点。这是因为它们是相邻的。