File: ReadGroup.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 (49 lines) | stat: -rw-r--r-- 1,374 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "ReadGroup.hpp"

void SAMReadGroup::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
                               uint64_t lineNumber) {
  bool idIsStored = false;
  for (size_t i = 0; i < kvPairs.size(); i++ ){
    if (kvPairs[i].key == "ID") {
      id = kvPairs[i].value;
      idIsStored = true;
    }
  }
  if (idIsStored == false) {
    std::cout << "ReadGroup missing id at " << lineNumber << std::endl;
    exit(1);
  }
}

void SAMFullReadGroup::StoreValues(vector<SAMKeywordValuePair> &kvPairs,
                 uint64_t lineNumber) {
  SAMReadGroup::StoreValues(kvPairs, lineNumber);
  std::string kwPair;
  std::string key, valueStr;
  for (size_t i = 0; i < kvPairs.size(); i++) {
    if (kvPairs[i].key == "CN") {
      centerName = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "DS") {
      description = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "DT") {
      date = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "FO") {
      flowOrder = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "LB") {
      library = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "PG") {
      processingProgram = kvPairs[i].value;
    }
    else if (kvPairs[i].key == "PI") {
      StoreValue(kvPairs[i].value, insertSize);
    }
    else if (kvPairs[i].key == "SM") {
      sample = kvPairs[i].value;
    }  
  }
}