@@ -161,7 +161,7 @@ def parse_current_alns(tip_support, alns):
161
161
assert ">" + node not in node_cuts
162
162
assert "<" + node not in node_cuts
163
163
assert ">" + node not in node_trims
164
- print ("S\t " + node + "_trim" + "\t " + node_seqs [node ][node_trims ["> " + node ]:])
164
+ print ("S\t " + node + "_trim" + "\t " + node_seqs [node ][node_trims ["< " + node ]:])
165
165
if (">" + node ) in node_cuts :
166
166
assert ">" + node not in node_trims
167
167
assert "<" + node not in node_trims
@@ -183,10 +183,17 @@ def parse_current_alns(tip_support, alns):
183
183
for edge2 in edges [edge ]:
184
184
fromnode = edge
185
185
tonode = edge2
186
+ overlap = edge_overlaps [canon (edge , edge2 )]
186
187
if ">" + fromnode [1 :] in node_trims or "<" + fromnode [1 :] in node_trims :
187
- fromnode = fromnode + "_trim"
188
+ if ">" + fromnode [1 :] in node_trims and ">" + fromnode [1 :] in canon (edge , edge2 ): overlap -= node_trims [">" + fromnode [1 :]]
189
+ if "<" + fromnode [1 :] in node_trims and "<" + fromnode [1 :] in canon (edge , edge2 ): overlap -= node_trims ["<" + fromnode [1 :]]
190
+
191
+ fromnode = fromnode + "_trim"
188
192
if ">" + tonode [1 :] in node_trims or "<" + tonode [1 :] in node_trims :
189
- tonode = tonode + "_trim"
193
+ if ">" + tonode [1 :] in node_trims and ">" + tonode [1 :] in canon (edge , edge2 ): overlap -= node_trims [">" + tonode [1 :]]
194
+ if "<" + tonode [1 :] in node_trims and "<" + tonode [1 :] in canon (edge , edge2 ): overlap -= node_trims ["<" + tonode [1 :]]
195
+
196
+ tonode = tonode + "_trim"
190
197
if fromnode [0 ] == ">" and (edge in node_cuts or revnode (edge ) in node_cuts ):
191
198
fromnode = fromnode + "_end"
192
199
elif fromnode [0 ] == "<" and (edge in node_cuts or revnode (edge ) in node_cuts ):
@@ -195,7 +202,7 @@ def parse_current_alns(tip_support, alns):
195
202
tonode = tonode + "_beg"
196
203
elif tonode [0 ] == "<" and (edge2 in node_cuts or revnode (edge2 ) in node_cuts ):
197
204
tonode = tonode + "_end"
198
- print ("L\t " + fromnode [1 :] + "\t " + ("+" if fromnode [0 ] == ">" else "-" ) + "\t " + tonode [1 :] + "\t " + ("+" if tonode [0 ] == ">" else "-" ) + "\t " + str (edge_overlaps [ canon ( edge , edge2 )] ) + "M" )
205
+ print ("L\t " + fromnode [1 :] + "\t " + ("+" if fromnode [0 ] == ">" else "-" ) + "\t " + tonode [1 :] + "\t " + ("+" if tonode [0 ] == ">" else "-" ) + "\t " + str (overlap ) + "M" )
199
206
200
207
next_fake_node_id = 0
201
208
for edge in extra_edges :
0 commit comments