File: biom.cpp

package info (click to toggle)
mothur 1.48.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,692 kB
  • sloc: cpp: 161,866; makefile: 122; sh: 31
file content (88 lines) | stat: -rw-r--r-- 2,648 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//
//  biom.cpp
//  Mothur
//
//  Created by Sarah Westcott on 10/26/20.
//  Copyright © 2020 Schloss Lab. All rights reserved.
//

#include "biom.hpp"

/**************************************************************************************************/
Biom::Biom() {
    try {
        m = MothurOut::getInstance();
        
        formatURL = "http://biom-format.org";
        label = ""; version = "";
        
        tableID = "No Table ID";
        mothurVersion = ""; sharedFileName = "";
       
        shared = nullptr;  sharedFloat = nullptr;
    }
    catch(exception& e) {
        m->errorOut(e, "Biom", "Biom");
        exit(1);
    }
}
/**************************************************************************************************/
Biom::Biom(string v) : version(v) {
    try {
        m = MothurOut::getInstance();
        
        formatURL = "http://biom-format.org";
        label = "";
        
        tableID = "No Table ID";
        mothurVersion = ""; sharedFileName = "";
        
        shared = nullptr; sharedFloat = nullptr;
    }
    catch(exception& e) {
        m->errorOut(e, "Biom", "Biom");
        exit(1);
    }
}
/**************************************************************************************************/
Biom::~Biom() {
    if (shared != nullptr) { delete shared; }
    if (sharedFloat != nullptr) { delete sharedFloat; }
}
/**************************************************************************************************/
void Biom::load(SharedRAbundVectors* s, vector<Taxonomy> c){
    try {
        shared = new SharedRAbundVectors(*s);
        consTax = c;
        matrixElementType = "int";
        label = s->getLabel();
    }
    catch(exception& e) {
        m->errorOut(e, "Biom", "load-shared");
        exit(1);
    }
}
/**************************************************************************************************/
void Biom::load(SharedRAbundFloatVectors* s, vector<Taxonomy> c){
    try {
        sharedFloat = new SharedRAbundFloatVectors(*s);
        consTax = c;
        matrixElementType = "float";
        label = s->getLabel();
        
        vector<SharedRAbundVector*> sharedRabunds = s->getSharedRAbundVectors();
        shared = new SharedRAbundVectors();
        
        for (int i = 0; i < sharedRabunds.size(); i++) {
            if (m->getControl_pressed()) { break; }
            
            shared->push_back(sharedRabunds[i]);
        }
        
    }
    catch(exception& e) {
        m->errorOut(e, "Biom", "load-float");
        exit(1);
    }
}
/**************************************************************************************************/