isovic / graphmap

GraphMap - A highly sensitive and accurate mapper for long, error-prone reads http://www.nature.com/ncomms/2016/160415/ncomms11307/full/ncomms11307.html Note: This was the original repository which will no longer be officially maintained. Please use the new official repository here:
https://github.com/lbcb-sci/graphmap2
MIT License
178 stars 44 forks source link

Version 0.4.1 ignores and rebuilds pre-existing indexes from 0.3.1 #53

Closed meyermj closed 7 years ago

meyermj commented 7 years ago

I have large genomes pre-indexed using version 0.3.1 of graphmap. When I run graphmap align against these indexes using version 0.4.1, graphmap seems not to recognize the pre-built indexes and overwrites them. This behavior does not occur when running 0.4.1 against 0.4.1-built indexes. Is there any way to build-in backwards compatibility with indexes built by previous versions of graphmap? Or at the very least, can we be assured that moving forward, all future graphmap versions will be compatible with indexes built by 0.4.1?

isovic commented 7 years ago

Hi, unfortunately backward compatibility can't be supported... Moreover, I'm currently in the process of completely overhauling the index, and this is planned in a new release (0.5.0) very soon. The downside is that you will, again, have to rebuild the index, but the plus side is that the index building will be much much faster, and also the overall size on disk will be smaller than before because it will use minimizers. Speed will also be much improved on large references (with a slight reduction in sensitivity but not precision; it will be possible to use the old sensitive mode with an option). The new version of the index should be supported in many future versions.

But thanks to your comment, I see that automatic rebuild and overwrite of the index might not be the best idea because in this way someone might lose the old version, while they might want to use it later. I will add in a new parameter --auto-rebuild-index which will cause GraphMap to generate a new index only if this parameter is specified and terminate otherwise.

Best regards, Ivan.

meyermj commented 7 years ago

Thanks for the reply. I imagine it would be very beneficial to a lot people if you change the index format as infrequently as possible after the 0.5.0 update (or allow backward compatibility to 0.5.0 indexes for 0.5.0+ versions of the aligner). This would make graphmap possible to support for larger, distributed systems that rely on pre-built indexes that users can select to align against.

isovic commented 7 years ago

That is a good suggestion. Thank you for the comment!

I will close this issue now, but feel free to reopen it if needed.

Best regards, Ivan.