Example #1
0
void
UnitigVector::computeErrorProfiles(const char *prefix, const char *label) {
  uint32  tiLimit = size();
  uint32  numThreads = omp_get_max_threads();
  uint32  blockSize = (tiLimit < 100000 * numThreads) ? numThreads : tiLimit / 99999;

  fprintf(stderr, "Computing error profiles for %u unitigs using %u threads.\n", tiLimit, numThreads);

  //#pragma omp parallel for schedule(dynamic, blockSize)
  for (uint32 ti=0; ti<tiLimit; ti++) {
    Unitig  *tig = operator[](ti);

    if (tig == NULL)
      continue;

    if (tig->ufpath.size() == 1)
      continue;

    tig->computeErrorProfile(prefix, label);
  }

  fprintf(stderr, "Computing error profiles - FINISHED.\n");
}