<?php require __DIR__ . '/../../_common.php'; echo PatternToNumber('AGT'); echo '<hr>'; echo PatternToNumberOptimized('GAATGGAACCATTAATCGTG'); echo '<hr>'; echo NumberToPattern(5437, 8); echo '<hr>'; echo NumberToPatternOptimized(7551, 7);
function FrequentWordsMismatchesBruteForce($genome, $k, $d, $debug = FALSE) { $solution = array(); $_max = -1; $_length = pow(4, $k); for ($i = 0; $i < $_length; $i++) { $_text = NumberToPatternOptimized($i, $k); $_indexes = ApproximatePatternMatching($_text, $genome, $d); if ($_indexes) { $_cnt = count($_indexes); if ($_cnt > $_max) { $solution = array(); $solution[$_text] = $_text; $_max = $_cnt; } elseif ($_cnt == $_max) { $solution[$_text] = $_text; } } if ($debug and $i % 10000 == 0) { debug_data('I = ' . $i . '/' . $_length); } } return $solution; }