Я хочу получить гены, присутствующие в ряде регионов. Скажем, у меня есть файл кровати с такими позициями запроса, как:
1 2665697 4665777 MIR201
1 10391435 12391516 MIR500
1 15106831 17106911 MIR122
1 23436535 25436616 MIR234
1 23436575 25436656 MIR488
Я хотел бы получить гены, которые попадают в эти регионы.
Я пробовал использовать biomaRt, и bedtools пересекаются, но результат, который я получаю, представляет собой список генов, соответствующих всем областям, а не один за другим, как желаемый результат Я хотел бы получить гены в каждой строке, но в отдельных строках, если бы я выполнял запросы по одной области за раз. По сути, я хочу знать, какие гены попадают в каждый регион, но при этом иметь возможность определить, какие гены попадают в какие регионы.
Что я делаю, так это расширяю область генома из области обнаруженной микроРНК вверх и вниз, чтобы получить соседние гены из этой микроРНК. Я использую 1 миллион базовых окон вверх и вниз. Это будет работать только для одного запроса, но как сделать много запросов с biomaRt или много пересечений с bedtools, чтобы я получил что-то вроде:
1 2665697 4665777 MIR201 GENEX, GENEY, GENEZ...
1 10391435 12391516 MIR500 GENEA, GENEB, GENEC...
1 15106831 17106911 MIR122
1 23436535 25436616 MIR234
1 23436575 25436656 MIR488
Это означает, что GENEX, GENEY и GENEZ попадают в диапазон 1:2665697-4665777, а MIR201 находится посередине, так как этот регион рассчитывается путем вычитания 1 млн п.н. из sart и добавления 1 млн п.н. к конечной позиции.
Я в какой-то мере определяю соседние гены каждой микроРНК для сравнения внутри видов, но не понимаю, как запрашивать несколько регионов по отдельности с помощью biomaRt или bedtools.
Любая помощь?