X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=kmer.cpp;h=50574f4a5ee0709daf2ebb67b8f0e49971e20ef0;hp=b3bf02247df2c6c047aea8a30293876c2f715cc7;hb=df7e3ff9f68ef157b0328a2d353c3258c5d45d89;hpb=74c78f9abd9e733f0c2f812efec97a76632fcbf8 diff --git a/kmer.cpp b/kmer.cpp index b3bf022..50574f4 100644 --- a/kmer.cpp +++ b/kmer.cpp @@ -38,6 +38,32 @@ string Kmer::getKmerString(string sequence){ // Calculate kmer for each position return kmerString; } +/**************************************************************************************************/ + +vector< map > Kmer::getKmerCounts(string sequence){ // Calculate kmer for each position in the sequence, save info in a map + int length = sequence.length(); // so you know at each spot in the sequence what kmers were found + int nKmers = length - kmerSize + 1; // + vector< map > counts; counts.resize(nKmers); // a map kmer counts for each spot + map::iterator it; + + for(int i=0;i=0;i--){ + if(kmerString[i] == 'A') { reverse += 'T'; } + else if(kmerString[i] == 'T'){ reverse += 'A'; } + else if(kmerString[i] == 'G'){ reverse += 'C'; } + else if(kmerString[i] == 'C'){ reverse += 'G'; } + else { reverse += 'N'; } + } + + int reverseNumber = getKmerNumber(reverse, 0); + + return reverseNumber; + +} /**************************************************************************************************/