File: SAMHeader.cpp

package info (click to toggle)
pbseqlib 5.3.1%2Bdfsg-2.1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,136 kB
  • sloc: cpp: 77,246; python: 570; makefile: 312; sh: 111; ansic: 9
file content (27 lines) | stat: -rw-r--r-- 1,006 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <pbdata/sam/SAMHeader.hpp>

#include <algorithm>

void SAMHeader::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs, int lineNumber)
{
    for (size_t i = 0; i < kvPairs.size(); i++) {
        if (kvPairs[i].key == "VN") {
            formatVersion = kvPairs[i].value;
        } else if (kvPairs[i].key == "SO") {
            std::string value = kvPairs[i].value;
            std::transform(value.begin(), value.end(), value.begin(), ::tolower);
            if (value == "unknown" || value == "unsorted") {
                sortingOrder = unknown;
            } else if (value == "sorted") {
                sortingOrder = sorted;
            } else if (value == "queryname") {
                sortingOrder = queryname;
            } else if (value == "coordinate") {
                sortingOrder = coordinate;
            } else {
                std::cout << "Invalid sorting order " << kvPairs[i].value << " at line "
                          << lineNumber;
            }
        }
    }
}