Open rob-p opened 8 years ago
Related to this issue, using the Jellyfish hash instead of the google hash makes loading the index considerably faster, and reduces the memory usage by 30-40%. However, it also increases the runtime by 30-40%. We should figure out what the right design decision is here.
The jellyfish parser can easily be replaced with FQFeeder --- this switch has already been made in the develop branch of salmon. The Jellyfish hash has also become a low priority because the minimum perfect hash option (based on BBHash and BooM) provides essentially the same benefit. So now, an equally efficient implementation of the k-mer operations exposed by Jellyfish are the only sticking point.
Hi Rob, It looks like S. Vigna recently updated sux license https://github.com/vigna/sux/commit/9faa34350128657e2739e68f1f9d0e101fcbf9e0 to include the GCC Runtime Library Exception. I believe this should be enough to allow re-licensing RapMap under a more permissive license.
Currently this is not possible as we rely on Jellyfish for the memory-efficient hash, parallel read parser, and basic k-mer operations. The read parser and (with some trouble) k-mer operations could be replaced with other alternatives or re-implemented. However, there's not a clear alternative for the hash right now, of which I know, that doesn't adversely affect either the memory consumption or speed.