gpt4 book ai didi

python - 如何根据biopython中的位置列表过滤对齐列?

转载 作者:行者123 更新时间:2023-12-01 05:13:15 28 4
gpt4 key购买 nike

基于biopython帮助页面here ,我可以根据第一个或最后 10 个过滤对齐列,我什至可以使用

将子对齐拼凑在一起
align[:, :10] + align[:, -10:]

align 是一个 MSA 对象,使用生成

from Bio import AlignIO
align = AlignIO.read("Clustalw/opuntia.aln", "clustal")

但是,是否可以根据位置列表提取列。例如,如果我有以下列表:

a=[12, 52, 68,45]

有没有办法从对齐align中提取这些列。

名为 bio3dR 包可以通过提供列表作为输入来方便地过滤对齐(通过执行:filtered_align =align[, a]),但如果我能从 python 中使用它那就太好了。

谢谢

最佳答案

根据Biopython docs ,你可以得到列 x

align[:, x]

因此以下内容应该适合您:

from Bio import AlignIO

align = AlignIO.read("Clustalw/opuntia.aln", "clustal")
indices = [12, 52, 68, 45]
columns_as_strings = []

for column in indices:
columns_as_strings.append(align[:, column])

关于python - 如何根据biopython中的位置列表过滤对齐列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744026/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com