code: def _read_pyMatch(fn, precursors):
      
      with open(fn) as handle:
          reads = defaultdict(realign)
          for line in handle:
              query_name, seq, chrom, reference_start, end, mism, add = line.split()
              reference_start = int(reference_start)
              # chrom = handle.getrname(cols[1])
              # print("%s %s %s %s" % (line.query_name, line.reference_start, line.query_sequence, chrom))
              if query_name not in reads:
                  reads[query_name].sequence = seq
              iso = isomir()
              iso.align = line
              iso.start = reference_start
              iso.subs, iso.add = _realign(reads[query_name].sequence, precursors[chrom], reference_start)
              logger.debug("%s %s %s %s %s" % (query_name, reference_start, chrom, iso.subs, iso.add))
              if len(iso.subs) > 1:
                  continue
              reads[query_name].set_precursor(chrom, iso)
  
          reads = _clean_hits(reads)
      return reads
docs: read pyMatch file and perform realignment of hits