基于biopython帮助页面这里,我可以根据第一个或最后10个筛选对齐列,甚至可以使用
align[:, :10] + align[:, -10:]align是一个MSA对象,使用
from Bio import AlignIO
align = AlignIO.read("Clustalw/opuntia.aln", "clustal")但是,可以根据位置列表提取列吗?例如,如果我有以下列表:
a=[12, 52, 68,45]是否有方法从对齐align中仅提取这些列。
一个名为R的bio3d包可以通过提供列表作为输入(通过to:filtered_align = align[, a])来帮助筛选对齐,但是如果我可以从python中使用它,那就太好了。
谢谢
发布于 2014-05-19 19:36:46
根据Biopython文档,您可以使用
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])https://stackoverflow.com/questions/23744026
复制相似问题