ich habe diese Datei:
Code: Alles auswählen
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBSPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBSPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS
BBBBBBBBBBSPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSQQQQQQQQQQQQQQQQS
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSSPPPPQQQQQQRRRRRRSSSSSPPPQS
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
SPPPPQQQQQBBBBBBBBBBBBBBBBBSPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS
Code: Alles auswählen
#!/usr/bin/env python
def findBiggestLength(line):
i = 0
startPosFound = False
startPos = 0
endPos = 0
biggestSeqLength = 0
length = len(line)
while i < length:
if (line[i] >= MIN_QUALITY) and (startPosFound == False):
startPos = i
startPosFound = True
elif line[i] < MIN_QUALITY:
biggestSeqLength = i - startPos + 1
if biggestSeqLength < MIN_TRIM:
startPos = i
else:
endPos = i
i += 1
return (startPos, endPos+1)
MIN_TRIM = 50-1
MIN_QUALITY = chr(15 + 64)
print MIN_QUALITY
trimmed = 0
deleted = 0
for line in open('test.txt','r'):
if not line:
break
(startPos, endPos) = findBiggestLength(line)
biggestSeqLength = endPos - startPos + 1
if biggestSeqLength < MIN_TRIM:
deleted += 1
continue
trimmed_line = line[startPos:endPos]
print trimmed_line, startPos, endPos, biggestSeqLength, "\n"
trimmed += 1
print "trimmed: ", trimmed, "deleted: ", deleted
Code: Alles auswählen
O
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS 0 49 50
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS 10 59 50
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS 27 76 50
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSQQQQQQQQQQQQQQQQS 10 76 67
SPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQSSPPPPQQQQQQRRRRRRSSSSSPPPQS 0 76 77
BSPPPPQQQQQQRRRRRRSSSSSPPPPPPRRRRRRRRRRRRQQQQQQQQS 26 76 51
trimmed: 6 deleted: 2
Warum werden alle Zeilen richtig gekürzt, aber nicht die letzte?
Viele Grüße