The FASTA output for the Hamiltonian chaining algorithm was pretty badly broken. The root cause was that we used the chainer's collection of path handles to identify which nodes should go into the two haplotype FASTAs. However, these path handles were invalidated by the GFA unzipping algorithm, which destroys the old paths to make new ones consisting only of the unzipped node. The hand-off between these phases of the algorithm is now implemented in terms of the path names instead of path handles, since these remain stable.
This fix works as a patch, but IMO it would be better if we refactored things so that the chainer's memory wasn't needed for the FASTA-writing phase. The current implementation is pretty ugly and opaque.
The FASTA output for the Hamiltonian chaining algorithm was pretty badly broken. The root cause was that we used the chainer's collection of path handles to identify which nodes should go into the two haplotype FASTAs. However, these path handles were invalidated by the GFA unzipping algorithm, which destroys the old paths to make new ones consisting only of the unzipped node. The hand-off between these phases of the algorithm is now implemented in terms of the path names instead of path handles, since these remain stable.
This fix works as a patch, but IMO it would be better if we refactored things so that the chainer's memory wasn't needed for the FASTA-writing phase. The current implementation is pretty ugly and opaque.
Resolves https://github.com/rlorigro/GFAse/issues/23