October 6 2025 6:50:32.018 PM ss_qg_align_test(): Fortran90 version Test ss_qg_align(). TEST01: SS_QG_FSQ - Forward score quadratic; SS_QG_FSL - Forward score linear; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that the FSQ and FSL tables agree. Sequences A and B: 1 G T 2 C A 3 T G 4 A 5 G 6 T 7 A 8 T 9 A 10 G 11 C 12 T Matching Scores: 0 0.0 0.0 0.0 0.0 1 0.0 -1.0 1.0 5.0 2 0.0 -3.0 -3.0 -5.0 3 0.0 4.0 1.0 -1.0 4 0.0 1.0 3.0 1.0 5 0.0 -1.0 1.0 5.0 6 0.0 4.0 1.0 -1.0 7 0.0 1.0 3.0 1.0 8 0.0 4.0 1.0 -1.0 9 0.0 1.0 3.0 1.0 10 0.0 -1.0 1.0 5.0 11 0.0 -3.0 -3.0 -5.0 12 0.0 4.0 1.0 -1.0 SS_QG_FSQ: 0 1 2 3 SF: 0 0.0 0.0 0.0 0.0 1 0.0 -1.0 1.0 5.0 2 0.0 -2.5 -1.5 2.5 3 0.0 4.0 1.5 2.0 4 0.0 1.5 7.0 4.5 5 0.0 1.0 4.5 12.0 6 0.0 4.0 4.0 9.5 7 0.0 1.5 7.0 9.0 8 0.0 4.0 4.5 8.5 9 0.0 1.5 7.0 8.0 10 0.0 1.0 4.5 12.0 11 0.0 0.5 4.0 9.5 12 0.0 4.0 3.5 9.0 EF: 0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 -3.0 -1.5 2 -2.0 -2.5 -3.0 -3.5 3 -2.0 -2.5 1.5 1.0 4 -2.0 -2.5 -1.0 4.5 5 -2.0 -2.5 -1.5 2.0 6 -2.0 -2.5 1.5 1.5 7 -2.0 -2.5 -1.0 4.5 8 -2.0 -2.5 1.5 2.0 9 -2.0 -2.5 -1.0 4.5 10 -2.0 -2.5 -1.5 2.0 11 -2.0 -2.5 -2.0 1.5 12 -2.0 -2.5 1.5 1.0 FF: 0 0.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 2 0.0 -3.0 -1.5 2.5 3 0.0 -3.5 -2.0 2.0 4 0.0 1.5 -1.0 1.5 5 0.0 1.0 4.5 2.0 6 0.0 0.5 4.0 9.5 7 0.0 1.5 3.5 9.0 8 0.0 1.0 4.5 8.5 9 0.0 1.5 4.0 8.0 10 0.0 1.0 4.5 7.5 11 0.0 0.5 4.0 9.5 12 0.0 0.0 3.5 9.0 TF: 0 8 8 8 8 1 8 1 1 1 2 8 2 4 4 3 8 1 2 4 4 8 4 1 2 5 8 4 4 1 6 8 1 4 4 7 8 4 1 4 8 8 1 4 4 9 8 4 1 4 10 8 4 4 1 11 8 4 4 4 12 8 1 4 4 SS_QG_FSL: 0 1 2 3 SF: 0 0.0 0.0 0.0 0.0 1 0.0 -1.0 1.0 5.0 2 0.0 -2.5 -1.5 2.5 3 0.0 4.0 1.5 2.0 4 0.0 1.5 7.0 4.5 5 0.0 1.0 4.5 12.0 6 0.0 4.0 4.0 9.5 7 0.0 1.5 7.0 9.0 8 0.0 4.0 4.5 8.5 9 0.0 1.5 7.0 8.0 10 0.0 1.0 4.5 12.0 11 0.0 0.5 4.0 9.5 12 0.0 4.0 3.5 9.0 EF: 0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 -3.0 -1.5 2 -2.0 -2.5 -3.0 -3.5 3 -2.0 -2.5 1.5 1.0 4 -2.0 -2.5 -1.0 4.5 5 -2.0 -2.5 -1.5 2.0 6 -2.0 -2.5 1.5 1.5 7 -2.0 -2.5 -1.0 4.5 8 -2.0 -2.5 1.5 2.0 9 -2.0 -2.5 -1.0 4.5 10 -2.0 -2.5 -1.5 2.0 11 -2.0 -2.5 -2.0 1.5 12 -2.0 -2.5 1.5 1.0 FF: 0 0.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 2 0.0 -3.0 -1.5 2.5 3 0.0 -3.5 -2.0 2.0 4 0.0 1.5 -1.0 1.5 5 0.0 1.0 4.5 2.0 6 0.0 0.5 4.0 9.5 7 0.0 1.5 3.5 9.0 8 0.0 1.0 4.5 8.5 9 0.0 1.5 4.0 8.0 10 0.0 1.0 4.5 7.5 11 0.0 0.5 4.0 9.5 12 0.0 0.0 3.5 9.0 TF: 0 8 8 8 8 1 8 1 1 1 2 8 2 4 4 3 8 1 2 4 4 8 4 1 2 5 8 4 4 1 6 8 1 4 4 7 8 4 1 4 8 8 1 4 4 9 8 4 1 4 10 8 4 4 1 11 8 4 4 4 12 8 1 4 4 TEST02: SS_QG_BSQ - Backward score quadratic; SS_QG_BSL - Backward score linear. GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that the BSQ and BSL tables agree. Sequences A and B: 1 G T 2 C A 3 T G 4 A 5 G 6 T 7 A 8 T 9 A 10 G 11 C 12 T SS_QG_BSQ: 0 1 2 3 SB: 0 9.0 4.5 5.0 0.0 1 9.5 5.0 1.5 0.0 2 12.0 5.5 2.0 0.0 3 8.0 8.0 2.5 0.0 4 8.5 4.0 5.0 0.0 5 9.0 4.5 1.0 0.0 6 9.5 5.0 1.5 0.0 7 12.0 5.5 2.0 0.0 8 5.5 8.0 2.5 0.0 9 2.0 2.5 5.0 0.0 10 1.5 -1.5 -2.5 0.0 11 4.0 1.0 -1.0 0.0 12 0.0 0.0 0.0 0.0 EB: 0 2.0 2.5 -2.5 -2.0 1 2.5 -1.0 -2.5 -2.0 2 3.0 -0.5 -2.5 -2.0 3 5.5 0.0 -2.5 -2.0 4 2.0 2.5 -2.5 -2.0 5 2.0 -1.5 -2.5 -2.0 6 2.5 -1.0 -2.5 -2.0 7 3.0 -0.5 -2.5 -2.0 8 5.5 0.0 -2.5 -2.0 9 2.0 2.5 -2.5 -2.0 10 -3.5 -3.0 -2.5 -2.0 11 -1.5 -3.0 -2.5 -2.0 12 0.0 0.0 0.0 0.0 FB: 0 9.0 4.5 1.0 0.0 1 9.5 5.0 1.5 0.0 2 7.5 5.5 2.0 0.0 3 8.0 3.5 2.5 0.0 4 8.5 4.0 0.5 0.0 5 9.0 4.5 1.0 0.0 6 9.5 5.0 1.5 0.0 7 3.0 5.5 2.0 0.0 8 0.5 0.0 2.5 0.0 9 1.0 -2.0 -3.5 0.0 10 1.5 -1.5 -3.0 0.0 11 -2.5 -2.5 -2.5 0.0 12 -2.0 -2.0 -2.0 0.0 TB: 0 4 4 1 8 1 4 4 4 8 2 1 4 4 8 3 4 1 4 8 4 4 4 1 8 5 5 4 4 8 6 4 5 4 8 7 1 4 4 8 8 2 1 4 8 9 2 2 1 8 10 4 4 2 8 11 1 1 1 8 12 8 8 8 8 SS_QG_BSL: 0 1 2 3 SB: 0 9.0 4.5 5.0 0.0 1 9.5 5.0 1.5 0.0 2 12.0 5.5 2.0 0.0 3 8.0 8.0 2.5 0.0 4 8.5 4.0 5.0 0.0 5 9.0 4.5 1.0 0.0 6 9.5 5.0 1.5 0.0 7 12.0 5.5 2.0 0.0 8 5.5 8.0 2.5 0.0 9 2.0 2.5 5.0 0.0 10 1.5 -1.5 -2.5 0.0 11 4.0 1.0 -1.0 0.0 12 0.0 0.0 0.0 0.0 EB: 0 2.0 2.5 -2.5 -2.0 1 2.5 -1.0 -2.5 -2.0 2 3.0 -0.5 -2.5 -2.0 3 5.5 0.0 -2.5 -2.0 4 2.0 2.5 -2.5 -2.0 5 2.0 -1.5 -2.5 -2.0 6 2.5 -1.0 -2.5 -2.0 7 3.0 -0.5 -2.5 -2.0 8 5.5 0.0 -2.5 -2.0 9 2.0 2.5 -2.5 -2.0 10 -3.5 -3.0 -2.5 -2.0 11 -1.5 -3.0 -2.5 -2.0 12 0.0 0.0 0.0 0.0 FB: 0 9.0 4.5 1.0 0.0 1 9.5 5.0 1.5 0.0 2 7.5 5.5 2.0 0.0 3 8.0 3.5 2.5 0.0 4 8.5 4.0 0.5 0.0 5 9.0 4.5 1.0 0.0 6 9.5 5.0 1.5 0.0 7 3.0 5.5 2.0 0.0 8 0.5 0.0 2.5 0.0 9 1.0 -2.0 -3.5 0.0 10 1.5 -1.5 -3.0 0.0 11 -2.5 -2.5 -2.5 0.0 12 -2.0 -2.0 -2.0 0.0 TB: 0 4 4 1 8 1 4 4 4 8 2 1 4 4 8 3 4 1 4 8 4 4 4 1 8 5 5 4 4 8 6 4 5 4 8 7 1 4 4 8 8 2 1 4 8 9 2 2 1 8 10 4 4 2 8 11 1 1 1 8 12 8 8 8 8 TEST03: SS_QG_FSQ - Forward score quadratic; SS_QG_FSL - Forward score linear; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that the FSQ and FSL tables agree. Sequences A and B: 1 G G 2 C G 3 T G 4 T Matching scores: 0 0.0 0.0 0.0 0.0 0.0 1 0.0 5.0 5.0 5.0 -1.0 2 0.0 -5.0 -5.0 -5.0 -3.0 3 0.0 -1.0 -1.0 -1.0 4.0 SS_QG_FSQ: 0 1 2 3 4 SF: 0 0.0 0.0 0.0 0.0 0.0 1 0.0 5.0 5.0 5.0 2.5 2 0.0 2.5 2.5 2.5 2.0 3 0.0 2.0 2.0 2.0 6.5 EF: 0 0.0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 2.5 2.5 2.5 2 -2.0 -2.5 0.0 0.0 0.0 3 -2.0 -2.5 -0.5 -0.5 -0.5 FF: 0 0.0 -2.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 -2.5 2 0.0 2.5 2.5 2.5 0.0 3 0.0 2.0 2.0 2.0 -0.5 TF: 0 8 8 8 8 8 1 8 1 1 1 2 2 8 4 4 4 1 3 8 4 4 4 1 SS_QG_FSL: 0 1 2 3 4 SF: 0 0.0 0.0 0.0 0.0 0.0 1 0.0 5.0 5.0 5.0 2.5 2 0.0 2.5 2.5 2.5 2.0 3 0.0 2.0 2.0 2.0 6.5 EF: 0 0.0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 2.5 2.5 2.5 2 -2.0 -2.5 0.0 0.0 0.0 3 -2.0 -2.5 -0.5 -0.5 -0.5 FF: 0 0.0 -2.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 -2.5 2 0.0 2.5 2.5 2.5 0.0 3 0.0 2.0 2.0 2.0 -0.5 TF: 0 8 8 8 8 8 1 8 1 1 1 2 2 8 4 4 4 1 3 8 4 4 4 1 TEST04: SS_QG_BSQ - Backward score quadratic; SS_QG_BSL - Backward score linear. GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that the BSQ and BSL tables agree. Sequences A and B: 1 G G 2 C G 3 T G 4 T SS_QG_BSQ: 0 1 2 3 4 SB: 0 3.5 4.0 6.5 1.0 0.0 1 -2.0 -1.5 -1.0 1.5 0.0 2 0.5 1.0 1.5 4.0 0.0 3 0.0 0.0 0.0 0.0 0.0 EB: 0 3.5 4.0 -1.5 -2.5 -2.0 1 -2.0 -1.5 -1.0 -2.5 -2.0 2 0.5 1.0 1.5 -2.5 -2.0 3 0.0 0.0 0.0 0.0 0.0 FB: 0 -2.5 -2.0 -1.5 1.0 0.0 1 -2.0 -1.5 -1.0 1.5 0.0 2 -2.5 -2.5 -2.5 -2.5 0.0 3 -2.0 -2.0 -2.0 -2.0 0.0 TB: 0 3 3 1 4 8 1 6 6 7 4 8 2 2 2 2 1 8 3 8 8 8 8 8 SS_QG_BSL: 0 1 2 3 4 SB: 0 3.5 4.0 6.5 1.0 0.0 1 -2.0 -1.5 -1.0 1.5 0.0 2 0.5 1.0 1.5 4.0 0.0 3 0.0 0.0 0.0 0.0 0.0 EB: 0 3.5 4.0 -1.5 -2.5 -2.0 1 -2.0 -1.5 -1.0 -2.5 -2.0 2 0.5 1.0 1.5 -2.5 -2.0 3 0.0 0.0 0.0 0.0 0.0 FB: 0 -2.5 -2.0 -1.5 1.0 0.0 1 -2.0 -1.5 -1.0 1.5 0.0 2 -2.5 -2.5 -2.5 -2.5 0.0 3 -2.0 -2.0 -2.0 -2.0 0.0 TB: 0 3 3 1 4 8 1 6 6 7 4 8 2 2 2 2 1 8 3 8 8 8 8 8 TEST05: SS_QG_BSQ - Backward score quadratic; SS_QG_FSQ - Forward score quadratic. GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that the FSQ and (reversed) BSQ tables agree. Sequences A and B: 1 G G 2 C G 3 T G 4 T SS_QG_FSQ: 0 1 2 3 4 SF: 0 0.0 0.0 0.0 0.0 0.0 1 0.0 5.0 5.0 5.0 2.5 2 0.0 2.5 2.5 2.5 2.0 3 0.0 2.0 2.0 2.0 6.5 EF: 0 0.0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 2.5 2.5 2.5 2 -2.0 -2.5 0.0 0.0 0.0 3 -2.0 -2.5 -0.5 -0.5 -0.5 FF: 0 0.0 -2.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 -2.5 2 0.0 2.5 2.5 2.5 0.0 3 0.0 2.0 2.0 2.0 -0.5 TF: 0 8 8 8 8 8 1 8 1 1 1 2 2 8 4 4 4 1 3 8 4 4 4 1 Reversed sequences A and B: 1 T T 2 C G 3 G G 4 G SS_QG_BSQ: (The tables are printed in reverse order) 4 3 2 1 0 SB: 3 0.0 0.0 0.0 0.0 0.0 2 0.0 5.0 5.0 5.0 2.5 1 0.0 2.5 2.5 2.5 2.0 0 0.0 2.0 2.0 2.0 6.5 EB: 3 0.0 0.0 0.0 0.0 0.0 2 -2.0 -2.5 2.5 2.5 2.5 1 -2.0 -2.5 0.0 0.0 0.0 0 -2.0 -2.5 -0.5 -0.5 -0.5 FB: 3 0.0 -2.0 -2.0 -2.0 -2.0 2 0.0 -2.5 -2.5 -2.5 -2.5 1 0.0 2.5 2.5 2.5 0.0 0 0.0 2.0 2.0 2.0 -0.5 TB: 3 8 8 8 8 8 2 8 1 1 1 2 1 8 4 4 4 1 0 8 4 4 4 1 TEST07: SS_QG_FSQ - forward score quadratic SS_QG_FOQ - forward optimal score quadratic SS_QG_FPQ - forward path quadratic GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Sequences A and B: 1 G T 2 C A 3 T G 4 A 5 G 6 T 7 A 8 T 9 A 10 G 11 C 12 T SS_QG_FOQ reports optimal matching score is 12.0000 I2 = 10 J2 = 3 Matching path: 1 7 0 2 8 1 3 9 2 4 10 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 8 T = T 1 4.00 4.00 9 A = A 2 3.00 7.00 10 G = G 3 5.00 12.00 TEST08: SS_QG_BSQ - backward score quadratic SS_QG_BOQ - backward optimal score quadratic SS_QG_BPQ - backward path quadratic GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Compare path and score with FSQ/FPQ computation. Sequences A and B: 1 G T 2 C A 3 T G 4 A 5 G 6 T 7 A 8 T 9 A 10 G 11 C 12 T SS_QG_BOQ reports optimal matching score is 12.0000 I1 = 7 J1 = 0 Matching path: 1 7 0 2 8 1 3 9 2 4 10 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 8 T = T 1 4.00 4.00 9 A = A 2 3.00 7.00 10 G = G 3 5.00 12.00 TEST09: SS_QG_RPL - path routine; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Verify that RPL agrees with FSQ/FPQ and BSQ/BPQ. Sequences A and B: 1 G T 2 C A 3 T G 4 A 5 G 6 T 7 A 8 T 9 A 10 G 11 C 12 T Matching path: 1 2 0 2 3 1 3 4 2 4 5 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 3 T = T 1 4.00 4.00 4 A = A 2 3.00 7.00 5 G = G 3 5.00 12.00 TEST12: SS_QG_FSQ - forward score quadratic; SS_QG_FOQ - forward optimal score quadratic SS_QG_FPQ - Forward path quadratic. GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. SS_QG_FOQ reports optimal matching score is 249.500 I2 = 60 J2 = 59 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 M = M 1 8.00 8.00 2 M = M 2 8.00 16.00 3 A = A 3 3.00 19.00 4 A = A 4 3.00 22.00 5 E = E 5 5.00 27.00 6 A = A 6 3.00 30.00 7 G = G 7 5.00 35.00 8 G = G 8 5.00 40.00 9 E | -2.50 37.50 10 E | -0.50 37.00 11 G | -0.50 36.50 12 G | -0.50 36.00 13 P = P 9 6.00 42.00 14 V = V 10 5.00 47.00 15 T = T 11 4.00 51.00 16 A = A 12 3.00 54.00 17 G = G 13 5.00 59.00 18 A = A 14 3.00 62.00 19 A = A 15 3.00 65.00 20 G = G 16 5.00 70.00 21 G = G 17 5.00 75.00 22 G = G 18 5.00 80.00 23 A = A 19 3.00 83.00 24 A = A 20 3.00 86.00 | C 21 -2.50 83.50 | C 22 -0.50 83.00 | C 23 -0.50 82.50 25 A = A 24 3.00 85.50 26 A = A 25 3.00 88.50 27 S = S 26 3.00 91.50 28 G = G 27 5.00 96.50 29 A = A 28 3.00 99.50 30 Y = Y 29 8.00 107.50 31 P = P 30 6.00 113.50 32 A = A 31 3.00 116.50 33 V = V 32 5.00 121.50 34 C = C 33 9.00 130.50 35 R = R 34 6.00 136.50 36 V = V 35 5.00 141.50 37 K = K 36 5.00 146.50 38 I = I 37 6.00 152.50 39 P = P 38 6.00 158.50 40 A = A 39 3.00 161.50 41 A = A 40 3.00 164.50 42 L = L 41 5.00 169.50 43 P = P 42 6.00 175.50 44 V = V 43 5.00 180.50 45 A = A 44 3.00 183.50 46 A = A 45 3.00 186.50 47 A = A 46 3.00 189.50 48 A = A 47 3.00 192.50 49 P = P 48 6.00 198.50 50 F = F 49 8.00 206.50 51 P = P 50 6.00 212.50 52 G = G 51 5.00 217.50 53 L = L 52 5.00 222.50 54 A = A 53 3.00 225.50 55 E = E 54 5.00 230.50 56 A = A 55 3.00 233.50 57 G = G 56 5.00 238.50 58 V = V 57 5.00 243.50 59 A = A 58 3.00 246.50 60 A = A 59 3.00 249.50 TEST13: SS_QG_RPL - path routine; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Compare with FSQ/FPQ calculation. Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 M = M 1 8.00 8.00 2 M = M 2 8.00 16.00 3 A = A 3 3.00 19.00 4 A = A 4 3.00 22.00 5 E = E 5 5.00 27.00 6 A = A 6 3.00 30.00 7 G | -2.50 27.50 8 G | -0.50 27.00 9 E | -0.50 26.50 10 E | -0.50 26.00 11 G = G 7 5.00 31.00 12 G = G 8 5.00 36.00 13 P = P 9 6.00 42.00 14 V = V 10 5.00 47.00 15 T = T 11 4.00 51.00 16 A = A 12 3.00 54.00 17 G = G 13 5.00 59.00 18 A = A 14 3.00 62.00 19 A = A 15 3.00 65.00 20 G = G 16 5.00 70.00 21 G = G 17 5.00 75.00 22 G = G 18 5.00 80.00 23 A = A 19 3.00 83.00 24 A = A 20 3.00 86.00 | C 21 -2.50 83.50 | C 22 -0.50 83.00 | C 23 -0.50 82.50 25 A = A 24 3.00 85.50 26 A = A 25 3.00 88.50 27 S = S 26 3.00 91.50 28 G = G 27 5.00 96.50 29 A = A 28 3.00 99.50 30 Y = Y 29 8.00 107.50 31 P = P 30 6.00 113.50 32 A = A 31 3.00 116.50 33 V = V 32 5.00 121.50 34 C = C 33 9.00 130.50 35 R = R 34 6.00 136.50 36 V = V 35 5.00 141.50 37 K = K 36 5.00 146.50 38 I = I 37 6.00 152.50 39 P = P 38 6.00 158.50 40 A = A 39 3.00 161.50 41 A = A 40 3.00 164.50 42 L = L 41 5.00 169.50 43 P = P 42 6.00 175.50 44 V = V 43 5.00 180.50 45 A = A 44 3.00 183.50 46 A = A 45 3.00 186.50 47 A = A 46 3.00 189.50 48 A = A 47 3.00 192.50 49 P = P 48 6.00 198.50 50 F = F 49 8.00 206.50 51 P = P 50 6.00 212.50 52 G = G 51 5.00 217.50 53 L = L 52 5.00 222.50 54 A = A 53 3.00 225.50 55 E = E 54 5.00 230.50 56 A = A 55 3.00 233.50 57 G = G 56 5.00 238.50 58 V = V 57 5.00 243.50 59 A = A 58 3.00 246.50 60 A = A 59 3.00 249.50 TEST14: SS_QG_FSQ - forward score quadratic; SS_QG_FOQ - forward optimal score quadratic SS_QG_FSL - Forward score linear; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. Verify that FSQ and FSL agree. Sequences A and B: 1 A A 2 G A 3 T G 4 A 5 C Matching scores: 0 0.0 0.0 0.0 0.0 1 0.0 2.0 2.0 -1.0 2 0.0 -1.0 -1.0 2.0 3 0.0 -1.0 -1.0 -1.0 4 0.0 2.0 2.0 -1.0 5 0.0 -1.0 -1.0 -1.0 SS_QG_FSQ: 0 1 2 3 SF: 0 0.0 0.0 0.0 0.0 1 0.0 2.0 2.0 -0.5 2 0.0 -0.5 1.0 4.0 3 0.0 -1.0 -1.0 1.5 4 0.0 2.0 1.0 1.0 5 0.0 -0.5 1.0 0.5 EF: 0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 -0.5 -0.5 2 -2.0 -2.5 -3.0 -1.5 3 -2.0 -2.5 -3.0 -3.5 4 -2.0 -2.5 -0.5 -1.0 5 -2.0 -2.5 -3.0 -1.5 FF: 0 0.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 2 0.0 -0.5 -0.5 -3.0 3 0.0 -1.0 -1.0 1.5 4 0.0 -1.5 -1.5 1.0 5 0.0 -0.5 -1.5 0.5 TF: 0 8 8 8 8 1 8 1 1 2 2 8 4 1 1 3 8 5 4 4 4 8 1 1 4 5 8 4 1 4 SS_QG_FSL: 0 1 2 3 SF: 0 0.0 0.0 0.0 0.0 1 0.0 2.0 2.0 -0.5 2 0.0 -0.5 1.0 4.0 3 0.0 -1.0 -1.0 1.5 4 0.0 2.0 1.0 1.0 5 0.0 -0.5 1.0 0.5 EF: 0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 -0.5 -0.5 2 -2.0 -2.5 -3.0 -1.5 3 -2.0 -2.5 -3.0 -3.5 4 -2.0 -2.5 -0.5 -1.0 5 -2.0 -2.5 -3.0 -1.5 FF: 0 0.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 2 0.0 -0.5 -0.5 -3.0 3 0.0 -1.0 -1.0 1.5 4 0.0 -1.5 -1.5 1.0 5 0.0 -0.5 -1.5 0.5 TF: 0 8 8 8 8 1 8 1 1 2 2 8 4 1 1 3 8 5 4 4 4 8 1 1 4 5 8 4 1 4 TEST15: SS_QG_BSQ - Backward score quadratic; SS_QG_BSL - Backward score linear; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. Compare BSQ and BSL results. Sequences A and B: 1 A A 2 G A 3 T G 4 A 5 C SS_QG_BSQ: 0 1 2 3 SF: 0 1.5 4.0 -0.5 0.0 1 -1.0 -0.5 2.0 0.0 2 0.0 -1.5 -1.0 0.0 3 1.0 1.0 -1.0 0.0 4 -1.0 -1.0 -1.0 0.0 5 0.0 0.0 0.0 0.0 EF: 0 1.5 -3.0 -2.5 -2.0 1 -1.0 -0.5 -2.5 -2.0 2 -3.5 -3.0 -2.5 -2.0 3 -1.5 -3.0 -2.5 -2.0 4 -3.5 -3.0 -2.5 -2.0 5 0.0 0.0 0.0 0.0 FF: 0 -2.5 -2.5 -0.5 0.0 1 -2.0 -2.0 -3.5 0.0 2 -1.5 -1.5 -3.5 0.0 3 -3.0 -3.0 -3.0 0.0 4 -2.5 -2.5 -2.5 0.0 5 -2.0 -2.0 -2.0 0.0 TF: 0 3 1 4 8 1 2 2 1 8 2 1 4 1 8 3 1 1 1 8 4 1 1 1 8 5 8 8 8 8 SS_QG_BSL: 0 1 2 3 SF: 0 1.5 4.0 -0.5 0.0 1 -1.0 -0.5 2.0 0.0 2 0.0 -1.5 -1.0 0.0 3 1.0 1.0 -1.0 0.0 4 -1.0 -1.0 -1.0 0.0 5 0.0 0.0 0.0 0.0 EF: 0 1.5 -3.0 -2.5 -2.0 1 -1.0 -0.5 -2.5 -2.0 2 -3.5 -3.0 -2.5 -2.0 3 -1.5 -3.0 -2.5 -2.0 4 -3.5 -3.0 -2.5 -2.0 5 0.0 0.0 0.0 0.0 FF: 0 -2.5 -2.5 -0.5 0.0 1 -2.0 -2.0 -3.5 0.0 2 -1.5 -1.5 -3.5 0.0 3 -3.0 -3.0 -3.0 0.0 4 -2.5 -2.5 -2.5 0.0 5 -2.0 -2.0 -2.0 0.0 TF: 0 3 1 4 8 1 2 2 1 8 2 1 4 1 8 3 1 1 1 8 4 1 1 1 8 5 8 8 8 8 TEST16: SS_QG_FSQ - forward score quadratic SS_QG_FOQ - forward optimal score quadratic SS_QG_FPQ - forward path quadratic GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. Sequences A and B: 1 A A 2 G A 3 T G 4 A 5 C SS_QG_FSQ: 0 1 2 3 SF: 0 0.0 0.0 0.0 0.0 1 0.0 2.0 2.0 -0.5 2 0.0 -0.5 1.0 4.0 3 0.0 -1.0 -1.0 1.5 4 0.0 2.0 1.0 1.0 5 0.0 -0.5 1.0 0.5 EF: 0 0.0 0.0 0.0 0.0 1 -2.0 -2.5 -0.5 -0.5 2 -2.0 -2.5 -3.0 -1.5 3 -2.0 -2.5 -3.0 -3.5 4 -2.0 -2.5 -0.5 -1.0 5 -2.0 -2.5 -3.0 -1.5 FF: 0 0.0 -2.0 -2.0 -2.0 1 0.0 -2.5 -2.5 -2.5 2 0.0 -0.5 -0.5 -3.0 3 0.0 -1.0 -1.0 1.5 4 0.0 -1.5 -1.5 1.0 5 0.0 -0.5 -1.5 0.5 TF: 0 8 8 8 8 1 8 1 1 2 2 8 4 1 1 3 8 5 4 4 4 8 1 1 4 5 8 4 1 4 SS_QG_FOQ reports optimal matching score is 4.00000 I2 = 2 J2 = 3 Matching path: 1 0 1 2 1 2 3 2 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 A = A 2 2.00 2.00 2 G = G 3 2.00 4.00 TEST165: SS_QG_BSQ - backward score quadratic SS_QG_BOQ - backward optimal score quadratic SS_QG_BPQ - backward path quadratic GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. Sequences A and B: 1 A A 2 G A 3 T G 4 A 5 C SS_QG_BSQ: 0 1 2 3 SB: 0 1.5 4.0 -0.5 0.0 1 -1.0 -0.5 2.0 0.0 2 0.0 -1.5 -1.0 0.0 3 1.0 1.0 -1.0 0.0 4 -1.0 -1.0 -1.0 0.0 5 0.0 0.0 0.0 0.0 EB: 0 1.5 -3.0 -2.5 -2.0 1 -1.0 -0.5 -2.5 -2.0 2 -3.5 -3.0 -2.5 -2.0 3 -1.5 -3.0 -2.5 -2.0 4 -3.5 -3.0 -2.5 -2.0 5 0.0 0.0 0.0 0.0 FB: 0 -2.5 -2.5 -0.5 0.0 1 -2.0 -2.0 -3.5 0.0 2 -1.5 -1.5 -3.5 0.0 3 -3.0 -3.0 -3.0 0.0 4 -2.5 -2.5 -2.5 0.0 5 -2.0 -2.0 -2.0 0.0 TB: 0 3 1 4 8 1 2 2 1 8 2 1 4 1 8 3 1 1 1 8 4 1 1 1 8 5 8 8 8 8 SS_QG_BOQ reports optimal matching score is 4.00000 I1 = 0 J1 = 1 Matching path: 1 0 1 2 1 2 3 2 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 A = A 2 2.00 2.00 2 G = G 3 2.00 4.00 TEST17: SS_QG_RPL - recursive path linear GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. Compare with FPQ results. Sequences A and B: 1 A A 2 G A 3 T G 4 A 5 C Matching path: 1 0 1 2 1 2 3 2 3 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 A = A 2 2.00 2.00 2 G = G 3 2.00 4.00 TEST18: SS_QG_RPL - recursive path linear GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by SIMPLE_SCORE. We simply switched the two sequences. Compare with unswitched results. Sequences A and B: 1 A A 2 A G 3 G T 4 A 5 C Matching path: 1 1 0 2 2 1 3 3 2 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 2 A = A 1 2.00 2.00 3 G = G 2 2.00 4.00 TEST20: SS_QG_FSQ - forward score quadratic; SS_QG_FOQ - forward optimal score quadratic SS_QG_FPQ - forward path quadratic; SS_QG_RPL - recursive path linear; GAP_OPEN penalty = -2.00000 GAP_EXTEND penalty = -0.500000 Matching scores by PAM120_SCORE. Compare the score computed by FSQ/FPQ with the score associated with the path determined by RPL. If the scores don't match, the paths differ, and presumably, the RPL algorithm has failed. The test is carried out by comparing a fixed sequence with many "mutated" variations. Using a random number seed of ISEED = 1137202724 Test Quadratic Linear 1 54.5000 54.5000 2 55.0000 55.0000 3 54.0000 54.0000 4 35.5000 35.5000 5 53.0000 53.0000 6 55.5000 55.5000 7 55.5000 55.5000 8 51.5000 51.5000 9 49.0000 49.0000 10 33.5000 33.5000 Details for sample test number 10 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 4 G - X 4 0.00 18.00 5 A = A 5 3.00 21.00 6 T = T 6 4.00 25.00 7 A = A 7 3.00 28.00 8 T = T 8 4.00 32.00 9 A = A 9 3.00 35.00 10 G | -2.50 32.50 11 C | -0.50 32.00 | F 10 -2.50 29.50 12 T = T 11 4.00 33.50 11 52.5000 52.5000 12 46.5000 46.5000 13 20.5000 20.5000 14 30.0000 30.0000 15 27.5000 27.5000 16 54.5000 54.5000 17 42.0000 42.0000 18 53.0000 53.0000 19 52.5000 52.5000 20 38.5000 38.5000 Details for sample test number 20 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G | -2.50 -2.50 2 C = C 2 9.00 6.50 3 T | -2.50 4.00 4 G | -0.50 3.50 5 A = A 3 3.00 6.50 6 T = T 4 4.00 10.50 7 A = A 5 3.00 13.50 8 T = T 6 4.00 17.50 9 A = A 7 3.00 20.50 10 G = G 8 5.00 25.50 11 C = C 9 9.00 34.50 12 T = T 10 4.00 38.50 21 54.5000 54.5000 22 41.0000 41.0000 23 47.0000 47.0000 24 50.5000 50.5000 25 34.0000 34.0000 26 49.0000 49.0000 27 33.0000 33.0000 28 51.5000 51.5000 29 52.5000 52.5000 30 52.5000 52.5000 Details for sample test number 30 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 | R 3 -2.50 11.50 3 T = T 4 4.00 15.50 4 G = G 5 5.00 20.50 5 A = A 6 3.00 23.50 6 T = T 7 4.00 27.50 7 A = A 8 3.00 30.50 8 T = T 9 4.00 34.50 | D 10 -2.50 32.00 | V 11 -0.50 31.50 9 A = A 12 3.00 34.50 10 G = G 13 5.00 39.50 11 C = C 14 9.00 48.50 12 T = T 15 4.00 52.50 31 38.0000 38.0000 32 29.5000 29.5000 33 40.5000 40.5000 34 40.0000 40.0000 35 37.0000 37.0000 36 41.5000 41.5000 37 34.5000 34.5000 38 38.0000 38.0000 39 37.0000 37.0000 40 29.5000 29.5000 Details for sample test number 40 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 | A 4 -2.50 15.50 | T 5 -0.50 15.00 | P 6 -0.50 14.50 4 G = G 7 5.00 19.50 5 A = A 8 3.00 22.50 6 T = T 9 4.00 26.50 7 A = A 10 3.00 29.50 41 36.5000 36.5000 42 52.0000 52.0000 43 32.0000 32.0000 44 13.5000 13.5000 45 55.0000 55.0000 46 47.0000 47.0000 47 58.0000 58.0000 48 23.0000 23.0000 49 52.0000 52.0000 50 44.0000 44.0000 Details for sample test number 50 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 4 G = G 4 5.00 23.00 5 A | -2.50 20.50 6 T | -0.50 20.00 7 A = A 5 3.00 23.00 8 T = T 6 4.00 27.00 9 A = A 7 3.00 30.00 10 G = G 8 5.00 35.00 11 C = C 9 9.00 44.00 51 53.5000 53.5000 52 55.0000 55.0000 53 50.5000 50.5000 54 51.5000 51.5000 55 54.0000 54.0000 56 45.0000 45.0000 57 27.5000 27.5000 58 14.0000 14.0000 59 34.5000 34.5000 60 20.0000 20.0000 Details for sample test number 60 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T - A 3 1.00 15.00 4 G - D 4 0.00 15.00 5 A - T 5 1.00 16.00 6 T = T 6 4.00 20.00 61 47.5000 47.5000 62 34.0000 34.0000 63 30.0000 30.0000 64 34.0000 34.0000 65 26.5000 26.5000 66 52.5000 52.5000 67 54.5000 54.5000 68 52.5000 52.5000 69 52.0000 52.0000 70 28.5000 28.5000 Details for sample test number 70 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 4 G = G 1 5.00 5.00 5 A | -2.50 2.50 6 T = T 2 4.00 6.50 | H 3 -2.50 4.00 | N 4 -0.50 3.50 7 A = A 5 3.00 6.50 8 T = T 6 4.00 10.50 9 A = A 7 3.00 13.50 10 G = G 8 5.00 18.50 | H 9 -2.50 16.00 | Y 10 -0.50 15.50 11 C = C 11 9.00 24.50 12 T = T 12 4.00 28.50 71 49.5000 49.5000 72 29.0000 29.0000 73 44.0000 44.0000 74 52.5000 52.5000 75 37.0000 37.0000 76 42.5000 42.5000 77 24.5000 24.5000 78 28.0000 28.0000 79 46.5000 46.5000 80 51.0000 51.0000 Details for sample test number 80 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 4 G = G 4 5.00 23.00 5 A - F 5 -4.00 19.00 6 T = T 6 4.00 23.00 7 A = A 7 3.00 26.00 8 T = T 8 4.00 30.00 9 A = A 9 3.00 33.00 10 G = G 10 5.00 38.00 11 C = C 11 9.00 47.00 12 T = T 12 4.00 51.00 81 55.5000 55.5000 82 48.5000 48.5000 83 51.0000 51.0000 84 53.0000 53.0000 85 54.5000 54.5000 86 32.5000 32.5000 87 39.5000 39.5000 88 52.0000 52.0000 89 30.0000 30.0000 90 52.5000 52.5000 Details for sample test number 90 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 4 G = G 4 5.00 23.00 5 A = A 5 3.00 26.00 6 T = T 6 4.00 30.00 7 A - P 7 1.00 31.00 8 T = T 8 4.00 35.00 9 A = A 9 3.00 38.00 10 G = G 10 5.00 43.00 11 C = C 11 9.00 52.00 | L 12 -2.50 49.50 | W 13 -0.50 49.00 | R 14 -0.50 48.50 12 T = T 15 4.00 52.50 91 45.5000 45.5000 92 46.5000 46.5000 93 51.5000 51.5000 94 43.0000 43.0000 95 43.5000 43.5000 96 41.0000 41.0000 97 54.5000 54.5000 98 55.0000 55.0000 99 38.0000 38.0000 100 44.0000 44.0000 Details for sample test number 100 Sequence/sequence matching, Affine gap penalty: # A B # Increm Score 0.00 1 G = G 1 5.00 5.00 2 C = C 2 9.00 14.00 3 T = T 3 4.00 18.00 4 G = G 4 5.00 23.00 5 A = A 5 3.00 26.00 6 T = T 6 4.00 30.00 7 A = A 7 3.00 33.00 8 T = T 8 4.00 37.00 9 A = A 9 3.00 40.00 10 G = G 10 5.00 45.00 11 C | -2.50 42.50 | F 11 -2.50 40.00 12 T = T 12 4.00 44.00 Number of score agreements = 100 Number of score disagreements = 0 ss_qg_align_test(): Normal end of execution. October 6 2025 6:50:32.024 PM