File: ReadGroup.cpp

package info (click to toggle)
pbseqlib 5.3.5%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,152 kB
  • sloc: cpp: 77,259; python: 331; sh: 103; makefile: 41
file content (42 lines) | stat: -rw-r--r-- 1,460 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <pbdata/sam/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;
        std::exit(EXIT_FAILURE);
    }
}

void SAMFullReadGroup::StoreValues(std::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;
        }
    }
}