maickrau / GraphAligner

MIT License
255 stars 30 forks source link

Does GraphAligner only use defined links to align across contigs #98

Open Adamtaranto opened 7 months ago

Adamtaranto commented 7 months ago

Hi Mikko,

Does GraphAligner only permit alignments that use L (link) lines to connect segments? or will it also report paths where a read aligns across two contigs that are not connected in the graph.

I'm wondering if the paths in the GAF file can be used to scaffold unlinked contigs.

Thanks.

maickrau commented 7 months ago

It will only use L lines to connect segments. The read might in addition be partially aligned across the gap with multiple alignments, so there would be two GAF lines, one on each side of the gap. The alignments themselves do not indicate in any way that they should be connected or that there's a gap, but you can detect those gaps by looking at the combination of graph topology and the alignments. This is what verkko does with the code in https://github.com/marbl/verkko/blob/master/src/scripts/insert_aln_gaps.py but it's unfortunately lacking documentation.

Adamtaranto commented 7 months ago

Thanks for the clarification. I'll see if I can figure out what that verkko script is doing.