there are two parts for the graph, one is finalgraph.out: for each component, you have the identifier Component 144 followed by the list of nodes: 477 476 850 TATCTTTGTTTAGATTAATTCTGC 0 478 477 576 ATCTTTGTTTAGATTAATTCTGCG 0 479 478 291 TCTTTGTTTAGATTAATTCTGCGC 0 480 479 235 CTTTGTTTAGATTAATTCTGCGCT 0 481 480 190 TTTGTTTAGATTAATTCTGCGCTA 0 listing, in each line: - the node ID - the incoming (left) node ID - the edge weight, i.e. the 25-mer count going into this node (in the example above, node 478 lists the number of 25-mers TATCTTTGTTTAGATTAATTCTGCG since the incoming node, 477, starts with "A"). - Last column, ignore (a debug flag) Nodes can list the same 24-mer (up to 4 times). The second part is finalgraph.out.reads, which basically lists all the reads that contribute at least one edge to the component: >SRR039231.29_FC42DB6AAXX:2:1:2:1297/1 0 324 50 16522 AAATTTTTGAGAAGTTCTCATTTACAAAATAAATTGCGACCTCGATGTTGGATTAAGAACAACTTATAAAGAAAA - read name - first k-mer position used in component in read coordinates - first node id in graph corresponding to first used k-mer read - last k-mer position used in component in read coordinates (always less than read length - k) - last node id in graph corresponding to last used k-mer in read - read sequence The transformation from inchworm to finalgraph is lossless, modulo breaking and joining