Mercurial > repos > yufei-luo > s_mart
diff commons/core/parsing/WigParser.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | 769e306b7933 |
children |
line wrap: on
line diff
--- a/commons/core/parsing/WigParser.py Mon Apr 22 11:11:10 2013 -0400 +++ b/commons/core/parsing/WigParser.py Mon Apr 29 03:20:15 2013 -0400 @@ -123,7 +123,7 @@ m3 = re.search(r"^\s*fixedStep\s+chrom=(\S+)\s+start=(\d+)\s+step=1\s*$", line) m4 = re.search(r"^\s*fixedStep\s+chrom=\S+\s+start=\d+\s+step=\d+\s+span=\d+\s*$", line) m5 = re.search(r"^\s*variableStep\s+chrom=(\S+)\s*$", line) - m6 = re.search(r"^\s*variableStep\s+chrom=(\S+)span=(\d+)\s*$", line) + m6 = re.search(r"^\s*variableStep\s+chrom=(\S+)\s+span=(\d+)\s*$", line) if m1 != None: outputFile.write(struct.pack("Q", mark)) @@ -156,7 +156,16 @@ outputFile.write(self.filler) chromosome = newChromosome elif m6 != None: - raise Exception("Error! Cannot parse variable step WIG files with step > 1 or span > 1") + if m6.group(2) != "1": + raise Exception("Error! Cannot parse variable step WIG files with step > 1 or span > 1") + newChromosome = m6.group(1) + if newChromosome != chromosome: + if outputFile != None: + outputFile.close() + outputFile = open(self.makeIndexName(newChromosome), "wb") + index = 0 + outputFile.write(self.filler) + chromosome = newChromosome elif (len(line) == 0) or line[0] == "#" or line.startswith("track"): pass else: