]> git.donarmstrong.com Git - mothur.git/blob - sequencedb.cpp
1f81ba82fb553bf54828216870121614214d2406
[mothur.git] / sequencedb.cpp
1 /*
2  *  sequencedb.cpp
3  *  Mothur
4  *
5  *  Created by Thomas Ryabin on 4/13/09.
6  *  Copyright 2009 __MyCompanyName__. All rights reserved.
7  *
8  */
9
10 #include "sequencedb.h"
11 #include "sequence.hpp"
12 #include "mothur.h"
13 #include "calculator.h"
14
15
16 /***********************************************************************/
17
18 SequenceDB::SequenceDB() {}
19
20 /***********************************************************************/
21
22 SequenceDB::SequenceDB(int newSize) {
23         data.resize(newSize);
24 }
25
26 /***********************************************************************/
27
28 SequenceDB::SequenceDB(ifstream&) {}
29         
30 /***********************************************************************/
31
32 int SequenceDB::getNumSeqs() {
33         return data.size();
34 }
35
36 /***********************************************************************/
37
38 void SequenceDB::set(int index, string newUnaligned) {
39         Sequence newSeq(data[index].getName(), newUnaligned);
40         data[index] = newSeq;
41 }
42
43 /***********************************************************************/
44
45 void SequenceDB::set(int index, Sequence newSeq) {
46         data[index] = newSeq;
47 }
48
49 /***********************************************************************/
50
51 Sequence SequenceDB::get(int index) {
52         return data[index];
53 }
54
55 /***********************************************************************/
56
57 void SequenceDB::changeSize(int newSize) {
58         data.resize(newSize);
59 }
60
61 /***********************************************************************/
62
63 void SequenceDB::clear() {
64         data.clear();
65 }
66
67 /***********************************************************************/
68
69 int SequenceDB::size() {
70         return data.size();
71 }
72
73 /***********************************************************************/
74
75 void SequenceDB::print(ofstream& out) {
76         for(int i = 0; i < data.size(); i++)
77                 data[i].printSequence(out);
78 }
79         
80 /***********************************************************************/
81
82 void SequenceDB::add(Sequence newSequence) {
83         try {
84                 data.push_back(newSequence);
85         }
86         catch(exception& e) {
87                 cout << "Standard Error: " << e.what() << " has occurred in the RAbundVector class Function push_back. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
88                 exit(1);
89         }
90         catch(...) {
91                 cout << "An unknown error has occurred in the RAbundVector class function push_back. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
92                 exit(1);
93         }
94 }