PHP Genomic Range Query
function genomicRangeQuery(string $s, array $p, array $q): array
{
    $r = [];
    foreach ($p as $k => $pi) {
        $qi     = $q[$k] - $pi + 1;
        $subStr = substr($s, $pi, $qi);
        if (str_contains($subStr, 'A')) {
            $r[] = 1;
        } elseif (str_contains($subStr, 'C')) {
            $r[] = 2;
        } elseif (str_contains($subStr, 'G')) {
            $r[] = 3;
        } else {
            $r[] = 4;
        }
    }

    return $r;
}

This builds prefix counts for each DNA letter so every query can return the minimum impact factor quickly.