用Python继续扩展

2024-05-14 10:38:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想给一个程序添加一个函数,这个程序用接收一个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

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


Tags: 文件key函数代码程序编辑read字典

热门问题