- print chromosome
- uniqDict = RDS.getReadsDict(fullChrom=True, chrom=chromosome, noSense=True, withFlag=True, doUniqs=True, readIDDict=True)
- if doVerbose:
- print len(uniqDict), time.ctime()
-
- for readID in uniqDict:
- readList = uniqDict[readID]
- if len(readList) == 2:
- total += 1
- start1 = readList[0]["start"]
- flag1 = readList[0]["flag"]
- start2 = readList[1]["start"]
- flag2 = readList[1]["flag"]
-
- if flag1 != flag2:
- dist = abs(start1 - start2)
- startList = [start1, start2]
- stopList = [start1 + readlen, start2 + readlen]
- startList.sort()
- stopList.sort()
- if flag1 != "" and flag2 != "" and minDist < dist < maxDist:
- outputLine = splitReadWrite(chromosome, 2, startList, stopList, "+", readID, "0,255,0", "0,255,0")
- outbed.write(outputLine)
- if doVerbose:
- print flag1, flag2, dist
-
- try:
- flagDict[flag1].append((flag2, start1, start2))
- except KeyError:
- flagDict[flag1] = [(flag2, start1, start2)]
-
- try:
- flagDict[flag2].append((flag1, start1, start2))
- except KeyError:
- flagDict[flag2] = [(flag2, start1, start2)]