Methods and computer software products are provided for selecting nucleic
acid probes. In one embodiment, dynamic programming is employed to select
a set of k probes from n probes so that the selected probes have a
maximum aggregate adjusted quality score.