AWK: извлечь строки, если столбец в файле 1 попадает в диапазон, объявленный в двух столбцах другого файла

В настоящее время я борюсь с проблемой AWK, которую я еще не смог решить. У меня есть один огромный файл (30 ГБ) с геномными данными, который содержит список с позициями (объявлен в столбцах 1 и 2) и второй список, который содержит ряд диапазонов (объявлен в столбцах 3, 4 и 5). Я хочу извлечь все строки в первом файле, где позиция находится в пределах диапазона, объявленного в файле секунд. Поскольку позиция уникальна только в пределах определенной хромосомы (chr), сначала ее нужно проверить, если chr идентичны (т. Е. Col1 в файле 1 совпадает с col3 в файле2)

файл 1

chromosome position another....hundred.....columns
chr1       816 .....
chr1       991 .....
chr2       816 .....
chr2       880 .....
chr2       18768 .....
...
chr22      9736286 .....

файл 2

name    identifier chromosome   start    end
GENE1   ucsc.86    chr1         800      900
GENE2   ucsc.45    chr2         700      1700
GENE3   ucsc.46    chr2         18000    19000

ожидаемый результат

chromosome position another....hundred.....columns
chr1       816 .....
chr2       816 .....
chr2       880 .....
chr2       18768 .....

Резюме того, что я собираюсь сделать (наполовину закодировано):

(if $1(in file 1) matches $3(in file 2){            ##test if in the correct chr
   if ($2(in file 1) >= $4 && =< $5 (in file 2){    ##test if pos is in the range
         print $0 (in file 1)                       ##if so print the row from file1
   }
}

Я любезен, если понимаю, как решить эту проблему, поместив file1 в массив и используя позицию в качестве индекса, но тогда у меня все еще есть проблема с chr, и, кроме того, file1 слишком большой, чтобы поместить в массив (хотя у меня 128GB БАРАН). Я пробовал некоторые вещи с многомерными массивами, но не мог понять, как это сделать.

Большое спасибо за вашу помощь.

Обновление 05.08.14 Добавлена ​​третья строка в файле 2, содержащая другой диапазон в том же Chrom. как на второй линии. Эта строка пропущена в сценарии ниже.

Ответы на вопрос(2)

Ваш ответ на вопрос