Найдите непересекающиеся интервалы в координатах ДНКPython

Программы на Python
Anonymous
Найдите непересекающиеся интервалы в координатах ДНК

Сообщение Anonymous »

Я пытаюсь найти непересекающиеся интервалы для координат начала/конца ДНК (на одной хромосоме). Мне трудно разработать функцию, которая учитывает две строки в одном экзоне. Непересекающийся интервал должен быть уникальным (не перекрываться ни с какими другими интервалами).
Например, в первой строке ниже непересекающийся интервал будет 1-49, 61- 100. Но если вы посмотрите на вторую строку, непересекающийся интервал будет 1-69, 81-100. Мне нужны непересекающиеся, непересекающиеся интервалы, поэтому истинный выходной интервал, который мне нужен, составляет 1–49, 61–69, 81–100. В идеале я бы хотел, чтобы эти интервалы были разделены на отдельные столбцы (non-overlap_start, non-overlap_end).
*Обратите внимание: у меня есть уникальные интервалы на каждую хромосому
*Обратите внимание: у меня есть уникальные интервалы на каждую хромосому
* em>.
запуск DF
chrom exon_start exon_end start1 end1
1 1 100 50 60
1 1 100 70 80
2 5 50 25 100


финал DF
chrom exon_start exon_end start1 end1 non_overlap
1 1 100 50 60 [1-49, 61-69, 81-100]
1 1 100 70 80 [1-49, 61-69, 81-100]
2 5 50 25 100 [5-24]



Подробнее здесь: https://stackoverflow.com/questions/789 ... oordinates

Вернуться в «Python»