我有一个多 FASTA 文件,其中包含来自下一代测序的 10 000 多个 fasta 序列,我想将每个序列与文件内的每个序列进行成对比对,并将所有结果存储在同一个新文件中以执行聚类分析后。下面写了 FASTA 序列的示例和我用 python 执行成对序列比对的代码。
FASTA 序列
>m180921_230442_42149_c101464342550000001823297908121882_s1_X0/538/ccs
AGAAGCCACTCATCCATCCAGGCAGGAAGACTCTTAGGATCCTGACTTTCTCCTGGTCCCCACATCCCCT
AAACCGAGGAAGGGGTCCAGCAGGGTCCGAGTCCCTGAAGCAAGGATTCTCCGTGGTCGTGTCCCCACAG
请忽略第一行,因为它包含序列的描述摘要。
我的代码
from Bio import pairwise2
from Bio.pairwise2 import format_alignment
X = "ACGGGT"
Y = "ACG"
#match score = 2, mismatch score = -1, gap opening = -5, gap extension = -2
alignments = pairwise2.align.globalms(X, Y, 2, -1, -5, -2)
for a in alignments:
print(format_alignment(*a))
问题
我想知道如何修改它以循环整个多 FASTA 文件,而不仅仅是一个代码序列。另外:如何根据需要有效地存储结果。