+int Sequence::getStartPos(){
+ if(endPos == -1){
+ for(int j = 0; j < alignmentLength; j++) {
+ if(aligned[j] != '.'){
+ startPos = j + 1;
+ break;
+ }
+ }
+ }
+ if(isAligned == 0){ startPos = 1; }
+
+ return startPos;
+}
+
+//********************************************************************************************************************
+
+int Sequence::getEndPos(){
+ if(endPos == -1){
+ for(int j=alignmentLength-1;j>=0;j--){
+ if(aligned[j] != '.'){
+ endPos = j + 1;
+ break;
+ }
+ }
+ }
+ if(isAligned == 0){ endPos = numBases; }
+
+ return endPos;
+}
+
+//********************************************************************************************************************
+
+bool Sequence::getIsAligned(){
+ return isAligned;
+}
+
+//********************************************************************************************************************
+
+void Sequence::reverseComplement(){
+
+ string temp;
+ for(int i=numBases-1;i>=0;i--){
+ if(unaligned[i] == 'A') { temp += 'T'; }
+ else if(unaligned[i] == 'T'){ temp += 'A'; }
+ else if(unaligned[i] == 'G'){ temp += 'C'; }
+ else if(unaligned[i] == 'C'){ temp += 'G'; }
+ else { temp += 'N'; }
+ }
+ unaligned = temp;
+ aligned = temp;
+
+}
+
+//********************************************************************************************************************