void SMRTSequence::MakeSubreadAsMasked(SMRTSequence &subread, DNALength subreadStart, int subreadEnd) { // // This creates the entire subread, but masks out the portions // that do not correspond to this insert. // SetSubreadBoundaries(subread, subreadStart, subreadEnd); subread.Copy(*this); DNALength pos; for (pos = 0; pos < subreadStart; pos++) { subread.seq[pos] = 'N'; } for (pos = subreadEnd; pos < length; pos++) { subread.seq[pos] = 'N'; } // This is newly allocated memory, free it on exit. subread.deleteOnExit = true; }