def postProcessOutput(self): super(BlastOutput6ParserAnalysis,self).postProcessOutput() data = {} file = self.input_files[0] with open(file) as fp: for line in fp: line = line.rstrip('\n') ff = line.split('\t') qid = ff[0] hid = ff[1] pid = float(ff[2]) alnlen = ff[3] mm = int(ff[4]) gaps = int(ff[5]) qstart = int(ff[6]) qend = int(ff[7]) hstart = int(ff[8]) hend = int(ff[9]) exval = float(ff[10]) score = float(ff[11]) feat = Feature() feat.qid = qid feat.qstart = qstart feat.qend = qend feat.hid = hid feat.hstart = hstart feat.hend = hend feat.pid = pid feat.score = score feat.mm = mm feat.gaps = gaps feat.exval = exval if len(ff) > 12: feat.qlen = int(ff[12]) feat.hlen = int(ff[13]) feat.qseq = ff[14] feat.hseq = ff[15] if not qid in data: data[qid] = [] tmp = data[qid] tmp.append(feat) self.data = data
def parseBlastOutput6(file): hits = {} prev = None with open(file) as fp: for line in fp: line = line.rstrip('\n') ff = line.split('\t') qid = ff[0] hid = ff[1] pid = float(ff[2]) alnlen = ff[3] mm = int(ff[4]) gaps = int(ff[5]) qstart = int(ff[6]) qend = int(ff[7]) hstart = int(ff[8]) hend = int(ff[9]) exval = float(ff[10]) score = float(ff[11]) feat = Feature() feat.qid = qid feat.qstart = qstart feat.qend = qend feat.hid = hid feat.hstart = hstart feat.hend = hend feat.pid = pid feat.score = score feat.mm = mm feat.gaps = gaps feat.exval = exval if len(ff) > 15: feat.qlen = int(ff[12]) feat.hlen = int(ff[13]) feat.qseq = ff[14] feat.hseq = ff[15] if not qid in hits: hits[qid] = [] tmp = hits[qid] tmp.append(feat) return hits
tmpgff = Feature() tmpgff.qid = qid tmpgff.qstart = qstart tmpgff.qend = qend tmpgff.qlen = qlen tmpgff.qcov = qcov tmpgff.hitattr['hid'] = hid tmpgff.hitattr['hstart'] = hstart tmpgff.hitattr['hend'] = hend tmpgff.hitattr['hlen'] = hlen tmpgff.hitattr['hcov'] = hcov tmpgff.pid = pid tmpgff.strand = strand if qid == "10358": print( "%s\tfeature\tfeature\t%d\t%d\t%f\t%d\t.\t%s\t%d\t%d\t%f\t%f\t%f\t%d\t%d" % (tmpgff.qid, tmpgff.qstart, tmpgff.qend, tmpgff.pid, tmpgff.strand, tmpgff.hitattr['hid'], tmpgff.hitattr['hstart'], tmpgff.hitattr['hend'], tmpgff.pid, tmpgff.qcov, tmpgff.hitattr['hcov'], tmpgff.qlen, tmpgff.hitattr['hlen'])) if qid not in alns: alns[qid] = {}