5 // Created by Sarah Westcott on 4/4/14.
6 // Copyright (c) 2014 Schloss Lab. All rights reserved.
9 #ifndef Mothur_oligos_h
10 #define Mothur_oligos_h
13 #include "mothurout.h"
16 /**************************************************************************************************/
26 int read(string, bool); //read without reversing the paired barcodes, for make.contigs.
27 bool hasPairedPrimers() { return hasPPrimers; }
28 bool hasPairedBarcodes() { return hasPBarcodes; }
30 //for processing with trimOligos class
31 map<int, oligosPair> getPairedPrimers() { return pairedPrimers; }
32 map<int, oligosPair> getPairedBarcodes() { return pairedBarcodes; }
33 map<string, int> getPrimers() { return primers; }
34 map<string, int> getBarcodes() { return barcodes; }
36 map<int, oligosPair> getReorientedPairedPrimers();
37 map<int, oligosPair> getReorientedPairedBarcodes();
38 map<string, int> getReorientedPrimers();
39 map<string, int> getReorientedBarcodes();
42 vector<string> getLinkers() { return linker; }
43 vector<string> getSpacers() { return spacer; }
44 vector<string> getReversePrimers() { return revPrimer; }
45 vector<string> getPrimerNames() { return primerNameVector; }
46 vector<string> getBarcodeNames() { return barcodeNameVector; }
47 vector<string> getGroupNames() { return Groups; }
50 //for printing and other formatting uses
51 vector<string> getBarcodes(string); //get barcodes for a group. For paired barcodes will return forward.reverse
52 vector<string> getPrimers(string); //get primers for a group. For paired primers will return forward.reverse
53 string getBarcodeName(int);
54 string getPrimerName(int);
55 string getGroupName(int, int);
60 set<string> uniqueNames;
61 vector<string> Groups;
62 vector<string> revPrimer;
63 map<string, vector<string> > Group2Barcode;
64 map<string, vector<string> > Group2Primer;
65 map<int, oligosPair> pairedBarcodes;
66 map<int, oligosPair> pairedPrimers;
67 map<string, int> primers;
68 map<string, int> barcodes;
69 vector<string> linker;
70 vector<string> spacer;
71 vector<string> primerNameVector;
72 vector<string> barcodeNameVector;
73 bool hasPPrimers, hasPBarcodes, pairedOligos, reversePairs;
75 int numBarcodes, numFPrimers;
80 int indexPairedPrimer;
81 int indexPairedBarcode;
82 set<string> uniquePrimers;
83 set<string> uniqueBarcodes;
86 string reverseOligo(string);
89 /**************************************************************************************************/