Имам няколко набора от файлове, които бих искал да сравня въз основа на колона с идентификатор, начална стойност и крайна стойност. Всеки файл има следното оформление: Пр.
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)
Малко съм блокиран, когато става въпрос за сравнението...