Reset the count after G when parsing a CIGAR string

Merged
AD
14h ago
+7-0

Cigar(std::string_view) did not clear the pending count after a G (node insertion), so "2G3=" parsed as 2G23= and "3=2G1X1G" as 3=2G21X1G. Every other operation clears it.

Adds a round-trip test, DBGAlignerTest.cigar_string_round_trip. A standalone build of aligner_cigar.cpp reproduces the bug before the fix and round-trips all three test strings after it.

šŸ¤– Generated with Claude Code


Summary by cubic

Fixes CIGAR string parsing so a node insertion (G) resets its count, preventing "2G3=" from parsing as 2G23= and "3=2G1X1G" as 3=2G21X1G.

Adds a round-trip test verifying three CIGAR strings serialize back to their original form.