这是一次课堂作业。我对编码很陌生,有人建议我使用Python,因为它更容易处理。任务的重点是收集一个kmers列表,并组装超字符串,在这种情况下,DNA核苷酸并组装DNA序列。我们需要使用Euler路径(算法),这一点我还没有弄清楚。现在我正在研究,其中一个试图将我的kmer列表加载到Python (还没有弄清楚)并构建de图。注意:我没有加载kmers列表,因为我还没有弄清楚如何做到这一点。这只是我输入的一串随机DNA。
这是我的代码:
def de_bruijn_ize(st, k):
edges = []
nodes = set()
for i in range(len(st) - k + 1):
edges.append((st[i:+k-1], st[i+1:i+k]))
nodes.add(st[i:i+k-1])
nodes.add(st[i+1:i+k])
return nodes, edges
nodes, edges = de_bruijn_ize(“CCGGTTAAACGTC”, 3)
print(nodes)
print(edges)当我尝试运行它时,我会收到以下消息:
文件"practiceassembly.txt",第11行节点,边=de_bruijn_ize(“CCGGTTAAACGTC”,3) ^ SyntaxError:标识符中的无效字符
如有任何帮助/建议,将不胜感激。如果有人能为这类问题提供良好的资源,我也会非常感激的。
我取得了一些进展。我已经成功地打开了我的kmer文件如下:是的,我成功地做到了这一点:
f = open("kmers.txt")
print(f.read())
st = f.read()
def de_bruijn_ize(st, k):
edges = []
nodes = set()
for i in range(len(st) - k + 1):
edges.append((st[i:+k-1], st[i+1:i+k]))
nodes.add(st[i:i+k-1])
nodes.add(st[i+1:i+k])
return nodes, edges
nodes, edges = de_bruijn_ize(st, 4)
print(nodes)
print(edges)我拿到了我的名单:
AAAC、AACG、AACG、ACAC、ACGC、ACGG、ACTG、AGGA、ATCA、ATTC、CAAG、CACA、CACG、CGGT、CGGT、CGTA、CTCT、GCGT、GCTT、GCGT、GCTT、GGCT、GGTG、GTAT、GTAT、TAAC、TAAC、TCAC、TCAC、TCAC、TCAC、TGCT、TGGG、TTAA、TTCG、TTCG、TTAA、TTCG、TTTC、TTTT、TTTC []。我想我已经接近成功了(也许我只是对这里充满希望),但我只是需要一点帮助。
发布于 2017-09-29 01:20:33
除了逻辑上的任何错误外,行中的引号:
nodes, edges = de_bruijn_ize(“CCGGTTAAACGTC”, 3)是其他奇怪的角色,代之以:
nodes, edges = de_bruijn_ize("CCGGTTAAACGTC", 3)这在python 3中是有效的,我很好奇这些引号是什么。
发布于 2017-09-29 01:19:52
使用的引号是不标准的(可能是来自pdf的复制粘贴?):
取代:
nodes, edges = de_bruijn_ize(“CCGGTTAAACGTC”, 3)通过以下方式:
nodes, edges = de_bruijn_ize("CCGGTTAAACGTC", 3)发布于 2020-09-12 09:29:25
def read(file):
with open(file) as f:
text = f.readline().rstrip()
k = int(f.readline().rstrip())
return text,k
def edges(str,num):
i = 0
edge_list = []
while i +num <= len(str):
sub = str[i:i+num]
edge_list.append(sub)
i+=1
print(*edge_list)
def nodes(str,num):
i = 0
edge_list = []
while i+num-1 <= len(str):
sub = str[i:i+(num-1)]
edge_list.append(sub)
i+=1
print(*edge_list)
text,k = read("L4.txt")
edges(text,k)
nodes(text,k)https://stackoverflow.com/questions/46480309
复制相似问题