我想给一个程序添加一个函数,这个程序用接收一个contig(inco=initial contig;dna sequence)的dna序列创建字典,并通过在字典中查找以键形式重叠的部分,并将值与“+”运算符连接起来,从而将其向右扩展。在
我举个简单的例子:
GATTGAAGC作为初始contig
在ATTTGAGC:A是词典中许多词条之一
我希望函数搜索这样一个重叠部分(我昨天在这里问过这个问题,它本身工作得很好,有特定的值,但不在带变量的函数中),它是字典中的键,并将该键的值连接到初始序列(将contig扩展到右侧)并将新序列保存到incon
然后删除这个字典条目并重复,直到没有条目为止(这个部分我还没有尝试过)。在
首先,我希望函数搜索长度为9且值为1的键(附件:A)如果长度为8且值为2的键没有重叠部分(f.e。附件:TG)等等。在
附加信息: 字典“suffexdicts”有这样的条目,其值的长度为1(键的长度为14)到10(键的长度为5)。在
“reads”是存储序列列表的地方
当我尝试一个接一个地执行这些步骤时,有些工作(比如搜索)而有些没有,但是当我试图用它构建一个函数时,实际上什么也没有发生。函数应该返回尽可能小的扩展名。在
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很陌生,我可能犯了非常严重的错误,我希望大家能指出这些错误。我知道我在这方面有点过头了,但是我现在已经理解了大部分已经存在的代码,但是在我自己实现一些东西的时候仍然有问题,可能是因为synthax不正确。我知道有些程序我可以使用,但我想了解它背后的全部内容。在
编辑:按要求我将添加已经给定的函数。其中一些已经写了一些我根据给定的代码编写的部分(基本上我复制了一些修改)。警告:相当多:
正在读取Fasta文件: 附加信息: Fasta文件包含大量的序列,格式如下:
"> read 1
TTATGAATATTACGCAATGGACGTCCAAGGTACAGCGTATTTGTACGCTA
"> read 2
AACTGCTATCTTTCTTGTCCACTCGAAAATCCATAACGTAGCCCATAACG
"> read 3
TCAGTTATCCTATATACTGGATCCCGACTTTAATCGGCGTCGGAATTACT
我把文件上传到这里:http://s000.tinyupload.com/?file_id=52090273537190816031
编辑:编辑大块的代码,似乎没有必要。在
目前没有回答
相关问题 更多 >
编程相关推荐