Patent ID: 8352195

Claim:
A method comprising: storing, by a processor of a computing device, an identification of a plurality of k-mers in a target set, wherein each respective k-mer of the plurality of k-mers is an oligonucleotide within a particular size range, and each respective k-mer of the plurality of k-mers is identified from one or more target genomes in the target set; identifying, by the processor, for a first k-mer of the plurality of k-mers, a second k-mer of the plurality of k-mers, wherein the second k-mer is located within a specified number of bases downstream of the first k-mer within at least one of the one or more target genomes in the target set; determining, by the processor, that a k-mer pair comprising the first k-mer and the second k-mer fails to recognize each of one or more non-target genomes of a non-target set, wherein determining that the k-mer pair fails to recognize a respective non-target genome of the one or more non-target genomes comprises performing operations of: (a) attempting to locate the first k-mer within the respective non-target genome of the one or more non-target genomes, wherein, if the first k-mer is not located, the k-mer pair is considered to fail to recognize the respective non-target genome of the one or more non-target genomes, (b) responsive to locating the first k-mer within the respective non-target genome of the one or more non-target genomes, attempting to locate the second k-mer within the respective non-target genome of the one or more non-target genomes wherein, if the second k-mer is not located, the k-mer pair is considered to fail to recognize the respective non-target genome of the one or more non-target genomes, and (c) responsive to locating the second k-mer within the respective non-target genome of the one or more non-target genomes, identifying a number of bases between the first k-mer and the second k-mer within the respective non-target genome of the one or more non-target genomes, and comparing the number of bases to the specified number of bases, wherein if the number of bases is greater than the specified number of bases, the k-mer pair is considered to fail to recognize the respective non-target genome of the one or more non-target genomes; and after determining that the k-mer pair fails to recognize each of the one or more non-target genomes of the non-target set, identifying, by the processor, the k-mer pair as a primer pair for use in a polymerase chain reaction.