[khmer] Handling bidirectional parsing of reads

Michael R. Crusoe mcrusoe at msu.edu
Wed May 6 15:15:19 PDT 2015


Howdy Chirag,

Thank you for your email, it is always nice to hear from users. I've CC'd
the general discussion list so that others can benefit.

Kmer hashing is done in a strand invariant way: we generate the reverse
compliment for every kmer and store the them using the numerically lower
hash value. There is a compile time option to turn this off.

Graph traversal occurs in several different locations in the codebase and
deserves some refactoring. Here is an example
https://github.com/ged-lab/khmer/blob/master/lib/hashtable.cc#L708


 I hope you find this helpful.

Cheers,


On Tue, May 5, 2015, 15:14 Jain, Chirag <cjain at gatech.edu> wrote:

Hi khmer-developers,

I am specifically interested in the assembly usage of khmer, which involves
trimming off some reads and partitioning the graph. I am trying to parse
through the code, but cannot figure out if the k-mers are constructed only
in 1 direction of a read or are you using both directions?

For example,

Read AAGCT has kmers "AAGC" and "AGCT" in the left to right direction,
while "TCGA" and "CGAA" in the right to left direction. Do you include both
in the hash table or just include one while partitioning the graph?

I would also be grateful if you could point me to the code/function where
you are traversing the graph using your hash table.

Thanks,

Chirag
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/khmer/attachments/20150506/5b1df83e/attachment.htm>


More information about the khmer mailing list