with open(readCountsFile,"rt") as IN: while(True): line=IN.readline() if(line==""): break if(rex.find("TOTAL MAPPED READS:\s*(\d+)",line)): totalMappedReads=rex[1] else: fields=line.split() (gene,count)=fields readCounts[gene]=count # Read GFF file to find annotated sites to exclude gff={} exclude={} reader=GffTranscriptReader() transcripts=reader.loadGFF(gffFile) for transcript in transcripts: if(transcript.getID()[0:3]=="ALT"): continue if(rex.find("(\S+)_\d",transcript.getID())): gff[rex[1]]=transcript substrate=transcript.getSubstrate() exclusions=exclude.get(substrate,None) if(exclusions is None): exclusions=exclude[substrate]={} exons=transcript.getRawExons() exons.sort(key=lambda exon:exon.begin) numExons=len(exons) for i in range(numExons-1): key=str(exons[i].getEnd())+"-"+str(exons[i+1].getBegin()) exclusions[key]=True # Read broken-sites file brokenSubstrates={}