skbio.alignment.TabularMSA.iter_positions

TabularMSA.iter_positions(reverse=False, ignore_metadata=False)[源代码]

迭代MSA中的位置(列)。

状态:从0.4.1开始试验。

参数:
  • reverse (bool, optional) -- 如果 True ,按相反的顺序迭代位置。

  • ignore_metadata (bool, optional) -- 如果 TrueSequence.metadataSequence.positional_metadata 不包括在内。如果不需要元数据,这可以显著提高性能。

生成器:

序列 --每个位置按它们在MSA中的存储顺序排列。

备注

每一个职位都会 确切地Sequence 对象,与此MSA无关 dtype . Sequence 因为位置是多序列比对的伪影,而不是真正的生物序列。

Sequence 对象将其对应的MSA位置元数据存储为 metadata 除非 ignore_metadata 设置为 True .

序列将使用外部联接连接其位置元数据,除非 ignore_metadata 设置为 True . 见 Sequence.concat(how='outer') 有关详细信息。

示例

使用位置元数据创建MSA:

>>> from skbio import DNA, TabularMSA
>>> sequences = [DNA('ACG'),
...              DNA('A-T')]
>>> msa = TabularMSA(sequences,
...                  positional_metadata={'prob': [3, 1, 2]})

位置迭代:

>>> for position in msa.iter_positions():
...     position
...     print()
Sequence
-------------
Metadata:
    'prob': 3
Stats:
    length: 2
-------------
0 AA

Sequence
-------------
Metadata:
    'prob': 1
Stats:
    length: 2
-------------
0 C-

Sequence
-------------
Metadata:
    'prob': 2
Stats:
    length: 2
-------------
0 GT

请注意,MSA位置元数据存储为 metadata 在每一个 Sequence 对象。

按相反顺序迭代位置:

>>> for position in msa.iter_positions(reverse=True):
...     position
...     print('')
Sequence
-------------
Metadata:
    'prob': 2
Stats:
    length: 2
-------------
0 GT

Sequence
-------------
Metadata:
    'prob': 1
Stats:
    length: 2
-------------
0 C-

Sequence
-------------
Metadata:
    'prob': 3
Stats:
    length: 2
-------------
0 AA