Skip to content

Commit 5cb126a

Browse files
committed
Fix for loop edges in gfa parser
1 parent d657d3d commit 5cb126a

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

agb_src/scripts/graph_parser.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,9 @@ def parse_gfa(gfa_fpath, min_edge_len, input_dirpath=None, assembler=None):
274274
edge2 = get_edge_agv_id(get_edge_num(to_name))
275275
if from_orient == '-': edge1 = get_match_edge_id(edge1)
276276
if to_orient == '-': edge2 = get_match_edge_id(edge2)
277-
if edge1 != edge2:
278-
predecessors[edge2].append(edge1)
279-
successors[edge1].append(edge2)
277+
#if edge1 != edge2:
278+
predecessors[edge2].append(edge1)
279+
successors[edge1].append(edge2)
280280
g.add_edge(edge1, edge2)
281281
if is_spades(assembler) or is_abyss(assembler):
282282
edge1, edge2 = get_match_edge_id(edge2), get_match_edge_id(edge1)
@@ -327,7 +327,8 @@ def construct_graph(dict_edges, predecessors, successors):
327327
break
328328
if not start_node:
329329
start_node = node_id
330-
node_id += 1
330+
if edge_id not in successors[edge_id]:
331+
node_id += 1
331332
end_node = None
332333
for next_e in successors[edge_id]:
333334
if next_e in dict_edges:

0 commit comments

Comments
 (0)