@@ -607,6 +607,11 @@ void AttemptConnection
607607 int top_right_break = 1 ;
608608 float top_score = sum_score + LeftFPSS [0 ] + RightTPSS [1 ] + UnravelCost [0 ];
609609
610+ // NORD 2025 - Adjustment Zone 0
611+ float good_splice = 1.0 ;
612+ float bad_splice = -5.0 ;
613+ float splice_score ;
614+
610615 // i tracks the position that will be the first drawing from
611616 // the left node's nucleotide sequence,
612617 // j tracks the position in TransSeq that we write to
@@ -631,6 +636,20 @@ void AttemptConnection
631636 k = 0 ;
632637 }
633638
639+
640+ /* NORD 2025 - Adjustment Zone 1 - Start */
641+ if (LeftNucls [i + 1 ] == 'G' && LeftNucls [i + 2 ] == 'T' )
642+ splice_score = good_splice ;
643+ else
644+ splice_score = bad_splice ;
645+
646+ if (RightNucls [i - 2 ] == 'A' && RightNucls [i - 1 ] == 'G' )
647+ splice_score += good_splice ;
648+ else
649+ splice_score += bad_splice ;
650+ /* NORD 2025 - Adjustment Zone 1 - End */
651+
652+
634653 // Well, that wasn't toooooo nasty! Let's run the translation and
635654 // compare scores.
636655 //
@@ -643,7 +662,7 @@ void AttemptConnection
643662
644663 // If we've beaten out the previous champion, then we'll seize the throne!
645664 if (num_stop_codons == 0 ) {
646- float score_check = sum_score + LeftFPSS [i ] + RightTPSS [i + 1 ] + UnravelCost [j ];
665+ float score_check = sum_score + LeftFPSS [i ] + RightTPSS [i + 1 ] + UnravelCost [j ] + splice_score ;
647666 if (score_check > top_score ) {
648667 top_left_break = i ;
649668 top_right_break = i + 1 ;
0 commit comments