Slice Tools libSlice |
SliceDataExample.cc00001 #include <list> 00002 #include <SliceData.hh> 00003 00004 00005 int main (int argc, char ** argv) 00006 { 00007 libSlice::ReadManager r; 00008 00009 r.addReadData("DMGLN85TF", "", "Forward", ""); 00010 r.addReadData("DMGHB30TR", "", "Reversed", ""); 00011 r.addReadData("DMGIC39TF", "", "Forward", ""); 00012 r.addReadData("DMGRA39TR", "", "Reversed", ""); 00013 00014 libSlice::SliceData s1(r, "Location 1", "", ""); 00015 libSlice::SliceData s2(r, "Location 2", "", ""); 00016 libSlice::SliceData s3(r, "Location 3", "", ""); 00017 00018 s1.addNuc("AATC"); 00019 s1.addReadId("DMGHB30TR DMGRA39TR DMGLN85TF DMGIC39TF"); 00020 s1.addQualVal("30 25 20 15"); 00021 00022 s2.addNuc("TTTT"); 00023 s2.addReadId("DMGHB30TR DMGLN85TF DMGRA39TR DMGIC39TF"); 00024 s2.addQualVal("30 30 20 15"); 00025 00026 s3.addNuc("CTCT"); 00027 s3.addReadId("DMGHB30TR DMGRA39TR DMGLN85TF DMGIC39TF"); 00028 s3.addQualVal("30 30 30 30"); 00029 00030 list<libSlice::SliceData> slicelist; 00031 00032 slicelist.push_back(s1); 00033 slicelist.push_back(s2); 00034 slicelist.push_back(s3); 00035 00036 try 00037 { 00038 list<libSlice::SliceData>::iterator i; 00039 00040 for (i = slicelist.begin(); i != slicelist.end(); i++) 00041 { 00042 00043 i->print(cout); 00044 00045 libSlice::ConsensusData result = i->doCalculations(); 00046 cout << endl 00047 << "Consensus is " << result.getConsensus() << endl 00048 << "Quality Base is " << result.getConsensusBase() << endl 00049 << "Quality Class is " << result.getQualityClass() << endl 00050 << "Quality Value is " << result.getQualityValue() << endl; 00051 00052 cout << "[qvA=" << result.getQualityValue('A') 00053 << " qvC=" << result.getQualityValue('C') 00054 << " qvG=" << result.getQualityValue('G') 00055 << " qvT=" << result.getQualityValue('T') 00056 << " qvGap=" << result.getQualityValue('-') 00057 << "]" << endl; 00058 00059 cout << endl; 00060 } 00061 } 00062 catch (const Exception & e) 00063 { 00064 cerr << e << endl; 00065 return 10; 00066 } 00067 00068 return 0; 00069 } 00070 |