INNER CODE UNIT · C++

parse_chromosome_name

DecodeGenetics/graphtyper · src/graph/constructor.cpp:337

  auto parse_chromosome_name = [&](std::vector<char> const & seq, char const c) -> std::string
  {
    auto find_it = std::find(seq.begin(), seq.end(), c);
    auto find_last_colon_it = std::find(seq.rbegin(), seq.rend(), ':');

    if (find_last_colon_it == seq.rend())
      invalid_bnd_alt();

    long const colon_pos = seq.size() - std::distance(seq.rbegin(), find_last_colon_it) - 1;
    assert(colon_pos < static_cast<long>(seq.size()));
    assert(colon_pos >= 0);
    auto find_colon_it = seq.begin() + colon_pos;

    if (find_colon_it == seq.end())
      invalid_bnd_alt();

    return std::string(find_it + 1, find_colon_it);
  };

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…