我有一个FASTA文件与DNA序列和序列的名称,我需要做一个矩阵的重叠分数。我在Biopython中找到了模块pairwise2
,这看起来很好。除了我的序列已经对齐,并且当我使用pairwise2
时,它再次尝试对齐需要很长时间的序列,并且显然对于每个对齐获得相同的重叠分数。所以我的问题是如何在没有尝试重新排列序列的情况下获得重叠分数? 这是我到目前为止有:重叠分数矩阵biopython
from Bio.Alphabet import IUPAC
from Bio import SeqIO
from Bio import pairwise2
fasta_file = SeqIO.parse('unambiguous.fasta', 'fasta', alphabet=IUPAC.ambiguous_dna)
all_seq = []
for seq_record in fasta_file:
all_seq += [str(seq_record.seq)]
compare = pairwise2.align.globalms(all_seq[0], all_seq[1], 2, -1, -1, 0)
print(compare)
我从FASTA文件只使用第一和第二序列这里试训。正如你在脚本中看到的,匹配应该奖励2分,不匹配和差距-1。当两个序列在同一个位置上有差距时,0应该是奖励。我知道把0放在第4位不会给我想要的结果,但我还没有解决这个问题的方法。此时对齐问题似乎更大。 因此,任何人都有一些与pairwise2或其他python/biopython模块的经验,可以让我的重叠分数?
你的意思是'unambiguous.fasta'包含对齐的序列吗? –
请[编辑]你的问题,包括示例你的问题的输入。 – MattDMo