@@ -591,7 +591,8 @@ bool PuffAligner::alignRead(std::string& read, std::string& read_rc, const std::
591
591
{
592
592
part_score = ez.max ;
593
593
openGapLen = ez.max_t + 1 ;
594
- cigarGen.begin_softclip_len = readWindow.length () - (ez.max_q + 1 );
594
+ cigarGen.add_item (readWindow.length () - (ez.max_q + 1 ), ' S' );
595
+
595
596
}
596
597
alignmentScore += part_score;
597
598
addCigar (cigarGen, ez, true );
@@ -613,8 +614,7 @@ bool PuffAligner::alignRead(std::string& read, std::string& read_rc, const std::
613
614
614
615
if (mopts.computeCIGAR ) {
615
616
if (allowSoftclip && remainedSoftClipLen >= 0 ) {
616
- cigarGen.begin_softclip_len = firstMemStart_read;
617
- cigarGen.beginOverhang = true ;
617
+ cigarGen.add_item (firstMemStart_read, ' S' );
618
618
openGapLen = 0 ;
619
619
} else {
620
620
cigarGen.add_item (firstMemStart_read, ' I' );
@@ -860,7 +860,7 @@ bool PuffAligner::alignRead(std::string& read, std::string& read_rc, const std::
860
860
else
861
861
{
862
862
part_score = ez.max ;
863
- cigarGen.end_softclip_len = readWindow.length () - (ez.max_q + 1 );
863
+ cigarGen.add_item ( readWindow.length () - (ez.max_q + 1 ), ' S ' );
864
864
}
865
865
alignmentScore += part_score;
866
866
addCigar (cigarGen, ez, false );
@@ -885,8 +885,7 @@ bool PuffAligner::alignRead(std::string& read, std::string& read_rc, const std::
885
885
-1 * mopts.gapExtendPenalty * readWindow.length ());
886
886
if (mopts.computeCIGAR ) {
887
887
if (allowSoftclip && remainedSoftClipLen >= 0 ) {
888
- cigarGen.end_softclip_len = readWindow.length ();
889
- cigarGen.endOverhang = true ;
888
+ cigarGen.add_item (readWindow.length (), ' S' );
890
889
} else {
891
890
cigarGen.add_item (readWindow.length (), ' I' );
892
891
}
0 commit comments