File: SAMHeader.cpp

package info (click to toggle)
pbseqlib 0~20161219-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,924 kB
  • ctags: 5,123
  • sloc: cpp: 82,727; makefile: 305; python: 239; sh: 8
file content (30 lines) | stat: -rw-r--r-- 908 bytes parent folder | download | duplicates (2)
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
28
29
30
#include "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") {
      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;
      }
    }
  }
}