Method, apparatus and computer program product for determining a set of non-hybridizing oligonucleotides
First Claim
1. A computer program product comprising:
- a computer usable storage medium having computer readable code embodied therein for causing a computer to generate a set of non-hybridizing oligonucleotides of a given length, said computer readable code comprising;
computer readable program code configured to cause said computer to effect an assignment mechanism configured to assign a plurality of identifying data values representing different nucleotides;
computer readable program code configured to cause said computer to effect a sequence generation mechanism configured to provide in a memory, from said plurality of identifying data values, a data-value sequence in a first set of possible sequences, where each possible sequence in said first set of possible sequences represents an oligonucleotide having a specified nucleotide at a specified residue position in said oligonucleotide of said given length;
computer readable program code configured to cause said computer to effect a sequence comparison mechanism configured to compare in said memory said data-value sequence from said first set of possible sequences with a data-value sequence in a second set of possible sequences, on the basis of number of positions at which said data-value sequence from said first set of possible sequences and said data-value sequence in said second set of possible sequences have different data values;
computer readable program code configured to cause said computer to effect a sequence inclusion mechanism configured to add said data-value sequence from said first set of possible sequences to said second set of possible sequences if the sequence comparison mechanism determined that said data-value sequence from said first set of possible sequences and said data-value sequence in said second set of possible sequences differ by at least N positions, where N is a specified value greater than one;
computer readable program code configured to cause said computer to effect a sequence pair comparison mechanism configured to compare each pair of data-value sequences in said second set of possible sequences on the basis of number of positions at which each data-value sequence in said pair of data-value sequences have different data values;
computer readable program code configured to cause said computer to effect a sequence retention mechanism configured to retain in said second set of possible sequences, data-value sequences that differ by said at least N positions from all other data-value sequences in said second set of possible sequences; and
computer readable program code configured to cause said computer to effect a first iterative mechanism configured to repetitively invoke the sequence generation mechanism, the sequence comparison mechanism, the sequence inclusion mechanism, the sequence pair comparison mechanism and the sequence retention mechanism until a desired number of data-value sequences have been retained within said second set of possible sequences.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a computerized method, associated apparatus, and computer program product for determining a set of non-hybridizing oligonucleotides. The invention represents a first oligonucleotide in the computer'"'"'s memory, generates a set of oligonucleotides, including the first oligonucleotide, that meet a specified condition that determines whether the generated oligonucleotides will not hybridize with the first oligonucleotide. The invention also examines each of the generated oligonucleotides in the set to remove oligonucleotides from the set that hybridize with other nucleotides in the set. Thus, the invention develops a minimally cross-hybridizing set of oligonucleotides that can be used for tracking, identifying, and/or sorting classes or subpopulations of molecules by the user of oligonucleotide tags.
-
Citations
5 Claims
-
1. A computer program product comprising:
-
a computer usable storage medium having computer readable code embodied therein for causing a computer to generate a set of non-hybridizing oligonucleotides of a given length, said computer readable code comprising; computer readable program code configured to cause said computer to effect an assignment mechanism configured to assign a plurality of identifying data values representing different nucleotides; computer readable program code configured to cause said computer to effect a sequence generation mechanism configured to provide in a memory, from said plurality of identifying data values, a data-value sequence in a first set of possible sequences, where each possible sequence in said first set of possible sequences represents an oligonucleotide having a specified nucleotide at a specified residue position in said oligonucleotide of said given length; computer readable program code configured to cause said computer to effect a sequence comparison mechanism configured to compare in said memory said data-value sequence from said first set of possible sequences with a data-value sequence in a second set of possible sequences, on the basis of number of positions at which said data-value sequence from said first set of possible sequences and said data-value sequence in said second set of possible sequences have different data values; computer readable program code configured to cause said computer to effect a sequence inclusion mechanism configured to add said data-value sequence from said first set of possible sequences to said second set of possible sequences if the sequence comparison mechanism determined that said data-value sequence from said first set of possible sequences and said data-value sequence in said second set of possible sequences differ by at least N positions, where N is a specified value greater than one; computer readable program code configured to cause said computer to effect a sequence pair comparison mechanism configured to compare each pair of data-value sequences in said second set of possible sequences on the basis of number of positions at which each data-value sequence in said pair of data-value sequences have different data values; computer readable program code configured to cause said computer to effect a sequence retention mechanism configured to retain in said second set of possible sequences, data-value sequences that differ by said at least N positions from all other data-value sequences in said second set of possible sequences; and computer readable program code configured to cause said computer to effect a first iterative mechanism configured to repetitively invoke the sequence generation mechanism, the sequence comparison mechanism, the sequence inclusion mechanism, the sequence pair comparison mechanism and the sequence retention mechanism until a desired number of data-value sequences have been retained within said second set of possible sequences. - View Dependent Claims (2, 3, 4, 5)
-
Specification