in reply to pattern match, speed problem

index has been suggested, also if case is not interesting, make both inputfiles all upper or all lower case only once is much faster than ignoring case for each try. This problem also lends itself nicely to concurrency, if you have hardware for it (e.g. several machines, several processors and/or kernels. Divide the probes in a number of partitions, and set off a process seeking for each partition of the problem.

Also, it seems likely that somebody has optimized this kind of search. For example, if the only letters are C,G,A and T, then your full 8 bit string is taking a lot more space and time to seach that if you convert it to 2 bit/byte (eg 00 = C, 01 = G, 10 = A, 11 = T). But this is not my area...
hth