code: def _make_isomir_counts(data, srna_type="seqbuster", out_dir=None, stem=""):
      
      work_dir = dd.get_work_dir(data[0][0])
      if not out_dir:
          out_dir = op.join(work_dir, "mirbase")
      out_novel_isomir = append_stem(op.join(out_dir, "counts.tsv"), stem)
      out_novel_mirna = append_stem(op.join(out_dir, "counts_mirna.tsv"), stem)
      logger.debug("Create %s count data at %s." % (srna_type, out_dir))
      if file_exists(out_novel_mirna):
          return [out_novel_mirna, out_novel_isomir]
      out_dts = []
      for sample in data:
          if sample[0].get(srna_type):
              miraligner_fn = sample[0][srna_type]
              reads = _read_miraligner(miraligner_fn)
              if reads:
                  out_file, dt, dt_pre = _tab_output(reads, miraligner_fn + ".back", dd.get_sample_name(sample[0]))
                  out_dts.append(dt)
              else:
                  logger.debug("WARNING::%s has NOT miRNA annotated for %s. Check if fasta files is small or species value." % (dd.get_sample_name(sample[0]), srna_type))
      if out_dts:
          out_files = _create_counts(out_dts, out_dir)
          out_files = [move_safe(out_files[0], out_novel_isomir), move_safe(out_files[1], out_novel_mirna)]
          return out_files
      else:
          logger.debug("WARNING::any samples have miRNA annotated for %s. Check if fasta files is small or species value." % srna_type)
docs: Parse miraligner files to create count matrix.