reverseProb = rp;
}
};
+
+/**********************************************************/
+struct CommonHeader {
+ unsigned int magicNumber;
+ string version;
+ unsigned long long indexOffset;
+ unsigned int indexLength;
+ unsigned int numReads;
+ unsigned short headerLength;
+ unsigned short keyLength;
+ unsigned short numFlowsPerRead;
+ int flogramFormatCode;
+ string flowChars; //length depends on number flow reads
+ string keySequence; //length depends on key length
+
+ CommonHeader(){ magicNumber=0; indexOffset=0; indexLength=0; numReads=0; headerLength=0; keyLength=0; numFlowsPerRead=0; flogramFormatCode='s'; }
+ ~CommonHeader() { }
+};
+/**********************************************************/
+struct Header {
+ unsigned short headerLength;
+ unsigned short nameLength;
+ unsigned int numBases;
+ unsigned short clipQualLeft;
+ unsigned short clipQualRight;
+ unsigned short clipAdapterLeft;
+ unsigned short clipAdapterRight;
+ string name; //length depends on nameLength
+ string timestamp;
+ string region;
+ string xy;
+
+ Header() { headerLength=0; nameLength=0; numBases=0; clipQualLeft=0; clipQualRight=0; clipAdapterLeft=0; clipAdapterRight=0; }
+ ~Header() { }
+};
+/**********************************************************/
+struct seqRead {
+ vector<unsigned short> flowgram;
+ vector<unsigned int> flowIndex;
+ string bases;
+ vector<unsigned int> qualScores;
+
+ seqRead() { }
+ ~seqRead() { }
+};
+
/***********************************************************************/
struct PDistCell{
ull index;
int end;
};
+/************************************************************/
+struct oligosPair {
+ string forward;
+ string reverse;
+
+ oligosPair() { forward = ""; reverse = ""; }
+ oligosPair(string f, string r) : forward(f), reverse(r) {}
+ ~oligosPair() {}
+};
+
/************************************************************/
struct seqPriorityNode {
int numIdentical;
//********************************************************************************************************************
inline bool compareSpearman(spearmanRank left, spearmanRank right){
return (left.score < right.score);
-}
+}
+//********************************************************************************************************************
+inline double max(double left, double right){
+ if (left > right) { return left; }
+ else { return right; }
+}
+//********************************************************************************************************************
+inline double max(int left, double right){
+ double value = left;
+ if (left > right) { return value; }
+ else { return right; }
+}
+//********************************************************************************************************************
+inline double max(double left, int right){
+ double value = right;
+ if (left > value) { return left; }
+ else { return value; }
+}
//********************************************************************************************************************
//sorts highest to lowest
inline bool compareSeqPriorityNodes(seqPriorityNode left, seqPriorityNode right){