Slice Tools
  • Home
  • SourceForge Page


  • libSlice
  • Home
  • Modules
  • Files
  • Examples
  • Additional Information


  • SourceForge.net Logo
     

    SliceDataExample.cc

    00001 #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