File: testOligos.cpp

package info (click to toggle)
mothur 1.48.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,684 kB
  • sloc: cpp: 161,854; makefile: 122; sh: 31
file content (117 lines) | stat: -rw-r--r-- 4,525 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
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
//
//  testOligos.cpp
//  Mothur
//
//  Created by Sarah Westcott on 7/30/18.
//  Copyright © 2018 Schloss Lab. All rights reserved.
//

#include "testOligos.hpp"

/**************************************************************************************************/
TestOligos::TestOligos() {  //setup
    //m = MothurOut::getInstance();
    TestDataSet data;
    oligosfiles = data.getOligosFiles(); //single, paired, indexes, comboNamesTest
}
/**************************************************************************************************/
TestOligos::~TestOligos() {
    //teardown
}
/**************************************************************************************************/

TEST(Test_Container_Oligos, Constructors) {
    TestOligos test;
    
    Oligos oligos;
    EXPECT_EQ(oligos.hasPairedPrimers(), false);
    EXPECT_EQ(oligos.hasPairedBarcodes(), false);
    
    Oligos singleOligos(test.oligosfiles[0]);
    EXPECT_EQ(singleOligos.hasPairedPrimers(), false);
    EXPECT_EQ(singleOligos.hasPairedBarcodes(), false);
    
    //did it read properly
    map<string, int> singleBarcodes = singleOligos.getBarcodes();
    int F003D000Index = singleBarcodes["AATGGTAC"];
    EXPECT_EQ("F003D000", singleOligos.getBarcodeName(F003D000Index));
    
    int MOCKGQY1XT001Index = singleBarcodes["AACCGTGTC"];
    EXPECT_EQ("MOCK.GQY1XT001", singleOligos.getBarcodeName(MOCKGQY1XT001Index));
    
    //read with reverseCompliment of reverse primer or barcode
    Oligos pairedOligos(test.oligosfiles[1]);
    EXPECT_EQ(pairedOligos.hasPairedPrimers(), true);
    EXPECT_EQ(pairedOligos.hasPairedBarcodes(), true);
    
    map<int, oligosPair> pairedBarcodes = pairedOligos.getPairedBarcodes();
    map<int, oligosPair> pairedPrimers = pairedOligos.getPairedPrimers();
    
    oligosPair F01R2A = pairedBarcodes[0];
    EXPECT_EQ("F01R2A", pairedOligos.getBarcodeName(0));
    EXPECT_EQ("CCAAC", F01R2A.forward);
    EXPECT_EQ("CAGTG", F01R2A.reverse);
    
    oligosPair V3 = pairedPrimers[0];
    EXPECT_EQ("V3", pairedOligos.getPrimerName(0));
    EXPECT_EQ("CCTACGGGAGGCAGCAG", V3.forward);
    EXPECT_EQ("CCAGCAGCCGCGGTAAT", V3.reverse);
    
    
    //read WITHOUT reverseCompliment of reverse primer or barcode
    Oligos pairedOligosNoReverse; pairedOligosNoReverse.read(test.oligosfiles[1], false);
    EXPECT_EQ(pairedOligosNoReverse.hasPairedPrimers(), true);
    EXPECT_EQ(pairedOligosNoReverse.hasPairedBarcodes(), true);
    
    pairedBarcodes = pairedOligosNoReverse.getPairedBarcodes();
    pairedPrimers = pairedOligosNoReverse.getPairedPrimers();
    
    F01R2A = pairedBarcodes[0];
    EXPECT_EQ("F01R2A", pairedOligosNoReverse.getBarcodeName(0));
    EXPECT_EQ("CCAAC", F01R2A.forward);
    EXPECT_EQ("CACTG", F01R2A.reverse);
    
    V3 = pairedPrimers[0];
    EXPECT_EQ("V3", pairedOligosNoReverse.getPrimerName(0));
    EXPECT_EQ("CCTACGGGAGGCAGCAG", V3.forward);
    EXPECT_EQ("ATTACCGCGGCTGCTGG", V3.reverse);
    
    //oligos for indexed barcode files
    Oligos indexedOligos(test.oligosfiles[2]);
    EXPECT_EQ(indexedOligos.hasPairedPrimers(), true);
    EXPECT_EQ(indexedOligos.hasPairedBarcodes(), true);
    
    pairedBarcodes = indexedOligos.getPairedBarcodes();
    pairedPrimers = indexedOligos.getPairedPrimers();
    
    oligosPair Mock3 = pairedBarcodes[0];
    EXPECT_EQ("Mock3", indexedOligos.getBarcodeName(0));
    EXPECT_EQ("NONE", Mock3.forward);
    EXPECT_EQ("CAGCTCATCAGC", Mock3.reverse);
    
    oligosPair testPrimer = pairedPrimers[0];
    EXPECT_EQ("testPrimer", indexedOligos.getPrimerName(0));
    EXPECT_EQ("NONE", testPrimer.forward);
    EXPECT_EQ("ACTYAAAKGAATTGACGG", testPrimer.reverse);
}

TEST(Test_Container_Oligos, testComboNames) {
    TestOligos test;
    
    Oligos pairedOligos(test.oligosfiles[1]);
    
    EXPECT_EQ("F01R2A.V3", pairedOligos.getGroupName(0,0));
    EXPECT_EQ("F01R2D.V5", pairedOligos.getGroupName(3,1));
    
    Oligos singleOligos(test.oligosfiles[0]);
    
    EXPECT_EQ("F003D000", singleOligos.getGroupName(0,0));
    EXPECT_EQ("F003D006", singleOligos.getGroupName(3,1));

    Oligos indexedOligos(test.oligosfiles[2]);
    EXPECT_EQ("Mock3.testPrimer", indexedOligos.getGroupName(0,0));
    EXPECT_EQ("CKD_f31.testPrimer2", indexedOligos.getGroupName(1,1));
    EXPECT_EQ("CKD_f31.testPrimer", indexedOligos.getGroupName(1,0));
    EXPECT_EQ("Mock3.testPrimer2", indexedOligos.getGroupName(0,1));
}
/**************************************************************************************************/