У меня есть несколько наборов файлов, которые я хотел бы сравнить на основе столбца идентификатора, начального значения и конечного значения. Каждый файл имеет следующую структуру: Ex.
A 200 900
A 300 1200
B 100 700
B 900 1000
Идентификаторы и значения различаются в каждом файле, и я хотел бы сравнить перекрытие между 2-4 наборами этих файлов. Поэтому, если в другом файле есть «A 150 1000», я бы получил и перекрыл эти два файла.
Например, если я помещаю 4 файла по 100 строк в каждом, я хотел бы знать количество перекрытий (или неперекрытий) между каждым из файлов.
FileA only =
FileB only =
FileC only =
FileD only =
FileA and FileB =
FileA and FileC =
FileA and FileD =
FileA, FileB and FileC =
....
Мой код в настоящее время выглядит так:
def ReadFile(FileName, LineCount, Ranges)
with open(FileName, "r") as FileName:
LineCount = 0
for Line in FileName:
if LineCount==0:
print "Skipping First Line"
else:
Line = Line.strip("\n").split("\t")
Chr = Line[0]
Start = int(Line[1])
End = int(Line[2])
ranges[Ident].append((Start, End))
LineCount+=1
FileNum = int(raw_input("Number of Files for Comparison"))
rangesA = rangesB = rangesC = rangesD =defaultdict(list)
ReadFile(FileA, LineCountA, rangesA)
ReadFile(FileB, LineCountB, rangesB)
if FileNum >= 3:
ReadFile(FileC, LineCountC, rangesC)
if FileNum >= 4:
ReadFile(FileD, LineCountD, rangesD)
Я немного застрял, когда дело доходит до сравнения...