GATB / gatb-core

Core library of the Genome Analysis Toolbox with de-Bruijn graph
https://gatb.inria.fr/software/gatb-core/
63 stars 26 forks source link

Kmer size clarification #36

Closed mbhall88 closed 3 years ago

mbhall88 commented 3 years ago

I was wondering if you could clear something up for me. In the README documentation, there is a section on kmer default sizes which I am slightly confised about.

Say I build GATB with -DKSIZE_LIST=32 does this mean that the maximum kmer size I can use in GATB-related code is 15 or 31? i.e. does the KSIZE_LIST refer to the number of bits used to represent a kmer? This line in the CMake file seems to suggest it is bits https://github.com/GATB/gatb-core/blob/7cb8a48cc958f4266c74db57f02e937d583ba9b7/gatb-core/src/CMakeLists.txt#L31

But the name of the variable/flag seems to indicate it is kmer size - a little confusing....

rchikhi commented 3 years ago

Ha this line of code is indeed confusing however I believe it is used to represent the kmer size as an int (to then be parsed later in the code), i.e. that's not where it is setting the number of bits for some arbitrary large int. KSIZE_LIST indeed contain the lengths of k's at which the code is optimized for. So -DKSIZE_LIST=32 means your max k is 32.

mbhall88 commented 3 years ago

Awesome. Thanks for the clarification Rayan (and the super-fast response)!

Hope all is well with you.