[Denovoassembler-devel] Why flush both k-mer and its complement?
Ray -- Parallel genome assemblies for parallel DNA sequencing
Brought to you by:
sebhtml
From: David E. (gringer) <dav...@mp...> - 2011-07-21 09:47:50
|
I notice that in assembler/KmerAcademyBuilder.cpp:120-139 you have: 120 rankToFlush=m_parameters->_vertexRank(&a); 121 [add <rankToFlush> to pending flush messages] 130 Kmer b = complementVertex(&a,wordSize,m_parameters->getColorSpaceMode()); 132 rankToFlush=m_parameters->_vertexRank(&b); 133 [add <rankToFlush> to pending flush messages] but the vertexRank function returns the hash of the lowest k-mer: core/Parameters.cpp:1200 (_vertexRank) return vertexRank(a,m_size,m_wordSize,m_colorSpaceMode); core/common_functions.cpp (vertexRank) 134 Kmer b=complementVertex(a,w,color); 135 if(a->isLower(&b)) 136 b=*a; 137 return hash_function_1(&b)%(_size); So the code appears to be doing 3 complement vertex operations (KmerAcademyBuilder.cpp:130, common_functions.cpp:134 * 2) for each flush. Could the second flush (i.e. KmerAcademyBuilder.cpp:130-139) be removed without loss of function? -- David |