将字典代码合并到De Bruijn graph cod中

2024-04-16 05:03:31 发布

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

这是一个正在进行的课堂作业。自从上一次发帖后,我想了几件事该怎么做。我在读《生物信息学算法迷失》的帖子,我想我已经知道我该怎么做了。简而言之,在一个文本文件中,我们得到了一个kmer列表,如下所示(没有行距):

花絮

AATC公司

GCTC公司

一。在

一。在

一。在

我们假设用欧拉算法来构造超弦。我读过的大部分东西都需要构造一个deBruijn图来找到Euler的路径。为此,我决定打开kmer文本文件并使用以下代码创建词典:

with open('kmers.txt') as f:
lines=f.read()
spl=lines.split()[1:]
dic=dict((i,x.strip()) for i,x in enumerate(spl))
print (dic)

这个很好用(输出):

{0'0:'AACA',1:'AACG',2:'AAGG',3:'ACAC',4:'ACAG',5:'ACGC',6:'ACGG',7:'ACTG',8:'AGCA',9:'AGGA',10:'AGGC',11:'ATCA',12:'ATTC',13:'CAAG',14:'CACA',15:'CACG',16:'CAGG',17:'CATC',18'CGCGCGG',19:'CGGTG',20'CGTA'21'21:'CGTG'22'CGTG'22'CTA''23'CTCT''24'CTGGGGG'25'CTTA',25'CTTA',26'GACT',26'27你说,29:“GCTC”,30:“GCTT”,31:“GGAC”,32:“GGCA”,33:“GGCT”,34:“GGGT”,35:“GGTG”,36:“GGTT”,37:“GTAT”,38:“GTGC”,39:“GTGG”,40:“GTTT”,41:“TAAA”,42:“TAAC”,43:“TATT”,44:“TCAA”,45:“TCAC”,46:“TCGT”,47:“TCTA”,48:“TGCT”,49:“TGGC”,50:“TGGGGG”,51:“TTAA”,52:“TTCA”,53:“TTCG”,54:“TTTC”,55:“TTTT”}

现在,我正在尝试使用以下代码构建一个deBruijn图:

^{pr2}$

我收到以下错误:

回溯(最近一次呼叫): 文件“test3.py”,第11行,in frm=边[:dic(边)-1] TypeError:“dict”对象不可调用

星期一我要去上班。在


Tags: 代码in算法公司spldictlines文本文件
1条回答
网友
1楼 · 发布于 2024-04-16 05:03:31

问题在于你的台词:

edges=list(set(fin))

应该是

^{pr2}$

因为fin是一个字典,所以edges=list(set(fin))将创建一个包含所有键的整数列表。 你的缩进也是错误的,但我理解你说你没有太多的编码经验。在

相关问题 更多 >