Add an edge to this k-mer. */
| 189 | |
| 190 | /** Add an edge to this k-mer. */ |
| 191 | bool setBaseExtension( |
| 192 | const key_type& kmer, extDirection dir, Symbol base) |
| 193 | { |
| 194 | bool rc; |
| 195 | iterator it = find(kmer, rc); |
| 196 | if (it == m_data.end()) |
| 197 | return false; |
| 198 | if (opt::ss) { |
| 199 | assert(!rc); |
| 200 | it->second.setBaseExtension(dir, base); |
| 201 | } else { |
| 202 | bool palindrome = kmer.isPalindrome(); |
| 203 | if (!rc || palindrome) |
| 204 | it->second.setBaseExtension(dir, base); |
| 205 | if (rc || palindrome) |
| 206 | it->second.setBaseExtension(!dir, reverseComplement(base)); |
| 207 | } |
| 208 | return true; |
| 209 | } |
| 210 | |
| 211 | /** Remove the specified extensions from this k-mer. */ |
| 212 | void removeExtension(const key_type& kmer, |
nothing calls this directly
no test coverage detected