我想向程序中添加一个函数,该程序使用接收重叠群(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
编辑:编辑大块代码似乎没有必要。