gpt4 book ai didi

python - 从多序列比对中输出相同的列

转载 作者:太空宇宙 更新时间:2023-11-04 06:32:56 26 4
gpt4 key购买 nike

你好。我正在编写一个函数来查找相同的对齐列,然后将这些列存储在字典中,这样键应该是列(作为字符串),值是包含列索引的列表。我遇到了一些困难。我当前的代码只能进行一次对齐:

from Bio.Align import MultipleSeqAlignment
from Bio.Alphabet import IUPAC, Gapped, generic_dna
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
align1 = MultipleSeqAlignment([
SeqRecord(Seq("ACTGCTAGCTAG", generic_dna), id="Alpha"),
SeqRecord(Seq("ACT-CTAGCTAG", generic_dna), id="Beta"),
SeqRecord(Seq("ACTGCTAGDTAG", generic_dna), id="Gamma"),
])
print align1.format("phylip")

我不确定如何从这里开始。

输出应该是一个字典,包含相同的对齐列作为键和相同列的索引作为值。

最佳答案

您可以使用 align1[:,index] 访问列。

要创建字典,请使用此循环:

dict = {}
for i in range(0,align1.get_alignment_length()):
if align1[:,i] in dict:
dict[align1[:,i]].append(i)
else:
dict[align1[:,i]] = [i]

关于python - 从多序列比对中输出相同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845408/

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