pattern matching and reverse complement with patterns... not the best work