X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=kmer.cpp;h=50574f4a5ee0709daf2ebb67b8f0e49971e20ef0;hb=1a968f34ae2d2680eaf189a197d1a21b8dfd6c03;hp=dcb6475161ce6f29f89d746fa1581ca7cab380c4;hpb=526a868606faa50caf86e7399f7554c0335b39e5;p=mothur.git diff --git a/kmer.cpp b/kmer.cpp index dcb6475..50574f4 100644 --- a/kmer.cpp +++ b/kmer.cpp @@ -7,9 +7,6 @@ * */ -using namespace std; - - #include "kmer.hpp" /**************************************************************************************************/ @@ -41,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; + +} /**************************************************************************************************/