prophyle / prophasm2

MIT License
0 stars 0 forks source link

Feature request: k-mer length >32 with `-large` version included #6

Closed karel-brinda closed 6 months ago

karel-brinda commented 8 months ago

The program should choose the corresponding datatype based on the params, it should be the same executable. In particular:

If I remember correctly, __uint128_t is a software emulation, see the following comparison:

$ time ./kmercamel -k 31 -a local -c -p "/Users/karel/github/my/rase-db-spneumoniae-sparc/isolates/ZXPKH.fa" > /dev/null 

real    0m0.507s
user    0m0.475s
sys 0m0.016s
$ time ./kmercamel-large -k 31 -a local -c -p "/Users/karel/github/my/rase-db-spneumoniae-sparc/isolates/ZXPKH.fa" > /dev/null 

real    0m0.713s
user    0m0.653s
sys 0m0.025s
karel-brinda commented 8 months ago

The way to achieve this with KHASH: macros. The program creates hash tables for individual data types, but uses only the one corresponding to the selected data type.

karel-brinda commented 8 months ago

Might require having multiple instances of the same function pseudotemplates