1

我有一个包含多个基因样本比对的 FASTA 文件。我正在尝试开发一个可以计算每个样本的突变数量的程序。最好的方法是什么?将每个基因样本存储在字典中并以某种方式进行比较?

4

2 回答 2

1

如果它们已经采用对齐格式,则已经计算了身份和不匹配。所以你有这样的事情:

ALN1:ACTGGTTGTCCAACCGTAATCGAAG

Aln2: ---GGTTGTCCAATTC---TCGAAG

将每个捕获到一个字符串中,然后简单地枚举它们。像这样简单的工作:

mutations=0
for i,j in zip(aln1,aln2):
    if i != j and i != '-' and j != '-':
        mutations+=1

但是,这取决于您的个人标准,如果您想将差距包括为突变等。

于 2012-09-25T04:16:19.790 回答
0

尝试读取 FASTA 文件并将每个序列存储为字符串。您当然可以使用“<”行中的文本作为键来组织字典中的序列。如果基因与没有突变的参考序列长度相同,[i for i, a in enumerate(gene) if a != reference[i]] 将返回突变位置列表。它的长度将是突变的数量。如果突变涉及丢失或添加 AA,则情况会复杂得多。

于 2012-09-25T04:32:34.650 回答