BaseCount Class Reference

This class is a wrapper around an array that has one index per base and an extra index for a total count of all bases. More...

`#include <BaseCount.h>`

## Public Member Functions

| BaseCount ()
| Constructor, initializes the array to be all 0s. More...
bool | incrementCount (int baseIndex)
| Update the count for the specified index as well as the overall count (The last index). More...
void | printPercent ()

## Detailed Description

This class is a wrapper around an array that has one index per base and an extra index for a total count of all bases.

This class is used to keep a count of the number of times each index has occurred. It can print a percentage of the occurrence of each base against the total number of bases.

Definition at line 27 of file BaseCount.h.

## Constructor & Destructor Documentation

## BaseCount()

BaseCount::BaseCount | ( |  | ) |

Constructor, initializes the array to be all 0s.

Definition at line 23 of file BaseCount.cpp.

{
// Init each element of the array to 0.
for(int i = 0; i < myBaseSize; i++)
{
myBaseCount[i] = 0;
}
}

## Member Function Documentation

## incrementCount()

bool BaseCount::incrementCount | ( | int | baseIndex | ) |

Update the count for the specified index as well as the overall count (The last index).

Returns
  false if the specified index is < 0 or >= myBaseSize-1, otherwise returns true. The reason it returns false if it is equal to the size-1 is because the last index is used to track an overall count.

Definition at line 38 of file BaseCount.cpp.

{
// Check to see if the index is within range (>=0 & < myBaseSize-1)
// The last entry of the array is invalid since it is used to track
// total occurrence of all other entries.
if((baseIndex < myBaseSize-1) && (baseIndex >= 0))
{
// Valid index, so increment that index as well as the overall
// count (index myBaseSize-1) and return true.
myBaseCount[baseIndex]++;
myBaseCount[myBaseSize-1]++;
return true;
}
else
{
// Invalid index, return false
return false;
}
}

## printPercent()

void BaseCount::printPercent | ( |  | ) |

Definition at line 62 of file BaseCount.cpp.

{
// Do not divide by 0, so check to see if there are any bases by checking
// the last index of the array.
if(myBaseCount[myBaseSize-1] == 0)
{
// No entries for any index.
std::cout << "No Valid Bases found.";
}
else
{
// Print the percentage for each index.
for(int i = 0; i < myBaseSize -1; i++)
{
double percentage =
(myBaseCount[i]/(double)myBaseCount[myBaseSize-1]) * 100;
std::cout << " " << std::setw(7) << percentage;
}
// Print the total number of bases.
std::cout << "\t" << myBaseCount[myBaseSize-1];
}
std::cout << std::endl;
}

The documentation for this class was generated from the following files:

- fastq/BaseCount.h
- fastq/BaseCount.cpp