1

我想向程序中添加一个函数,该程序使用接收重叠群(incon = 初始重叠群;dna 序列)的 dna 序列创建字典,并通过在字典中以键的形式查找重叠部分并将值与“+”运算符。

我将举一个简单的例子:

GATTTGAAGC 作为初始重叠群

ATTTGAAGC:A 是字典中的众多条目之一

我希望函数搜索这样一个重叠部分(我昨天在这里问过这个问题,它本身和特定值都可以正常工作,但在函数中没有变量),它是字典中的一个键,并将该键的值连接到初始序列(将 contig 向右扩展)并将新序列保存到其中,incon然后删除此字典条目并重复,直到没有留下任何条目(这部分我什至还没有尝试过)。

首先,我希望该函数搜索长度为 9 且值为长度 1 (ATTTGAAGC:A) 的键,并且如果长度为 8 且长度值为 2 (fe ATTTGAAG:TG) 的键没有重叠部分,依此类推。

附加信息:字典“suffixDicts”具有长度从 1(键长度为 14)到 10(键长度为 5)的值的条目。

“读取”是存储序列列表的位置

当我尝试一个接一个地执行这些步骤时,一些工作(例如搜索)而有些则没有,但是当我尝试从中构建一个功能时,实际上什么也没有发生。该函数应该返回最小的扩展名。

def extendContig (incon, reads, suffixDicts):
    incon = reads[0]
    for x in range(1,len(incon)):
        for key in suffixDicts.keys():
            if incon[x:] == key:
                incon = incon+suffixDicts['key']
                print(incon)
            else:
                print("n")
return()

我对 Python 很陌生,我可能犯了非常可怕的错误,我希望指出它们。我知道我对此有些不知所措,但我现在理解了现有代码的大部分内容,但我自己在其中实现某些东西仍然存在问题,可能是由于不正确的合成器。我知道有些程序我可以使用,但我想了解它背后的全部内容。

编辑:根据要求,我将添加已经给定的功能。其中一些已经编写了我根据给定代码编写的一些部分(基本上我通过一些调整复制了它)。警告:很多:

阅读 Fasta 文件:附加信息:Fasta 文件包含大量的序列形式:

"> 阅读 1

TTATGAATATACGCAATGGACGTCCAAGGTACAGCGTATTTGTACGCTA

"> 阅读 2

AACTGCTATCTTTCTTGTCCACTCGAAAATCCATAACGTAGCCCATAACG

"> 阅读 3

TCAGTTATCCTATATACTGGATCCCGACTTTAATCGGCGTCGGAATTACT

我在这里上传了文件:http ://s000.tinyupload.com/?file_id=52090273537190816031

编辑:编辑大块代码似乎没有必要。

4

0 回答 0