Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: NONCANONICAL flag #4

Closed
FlyinTeller opened this issue Feb 20, 2018 · 2 comments
Closed

Question: NONCANONICAL flag #4

FlyinTeller opened this issue Feb 20, 2018 · 2 comments

Comments

@FlyinTeller
Copy link

DSK is described to always work with canonical kmers. However, it seems that by adding -DNONCANONICAL=1 to the cmake call, one is able to change the behaviour of the underlying SortingCountAlgorithm:

#ifdef NONCANONICAL
    typedef typename Kmer<span>::template ModelMinimizer <ModelDirect>   Model;
#else
    typedef typename Kmer<span>::template ModelMinimizer <ModelCanonical>   Model;
#endif

It is documented for the GATB library, but I couldn't find a reference that doing this is intended to work with dsk. But as far as i can tell there shouldn't be anything from the code that prevents me from doing so? I am of ourse aware of the biological implications of doing this and also that the result will be about 2* as many kmers. I am mostly interested in if there is anything that should prevent dsk from working when switching to NONCANONICAL mode

@rchikhi
Copy link
Member

rchikhi commented Feb 20, 2018

Hi Flyin,
It works for DSK, as far as I know. But we really don't test that functionality that often, because well, all our applications are on canonical kmers. Best would be that you test it on a tiny dataset and see visually if it returns the expected result.
Rayan

@FlyinTeller
Copy link
Author

Thank you for the quick answer. It worked fine on a toy example. When moving to real data I will do an extra evaluation if everything works as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants