public static Last [ ] [ ] setScoreVector ( int x , int xb , int yb , int ye , int gop , int gep , int [ ] subs , boolean storing , int [ ] [ ] [ ] scores , int [ ] xyMax , int score ) { Last [ ] [ ] pointers ; ensureScoringMatrixColumn ( x , storing , scores ) ; if ( x == xb ) { pointers = new Last [ ye + 1 ] [ scores [ 0 ] [ 0 ] . length ] ; } else { pointers = new Last [ ye + 1 ] [ ] ; pointers [ 0 ] = new Last [ scores [ 0 ] [ 0 ] . length ] ; for ( int y = 1 ; y < scores [ 0 ] . length ; y ++ ) { pointers [ y ] = setScorePoint ( x , y , gop , gep , subs [ y ] , scores ) ; for ( int z = 0 ; z < scores [ 0 ] [ 0 ] . length ; z ++ ) { if ( scores [ x ] [ y ] [ z ] <= 0 ) { scores [ x ] [ y ] [ z ] = 0 ; pointers [ y ] [ z ] = null ; } } if ( scores [ x ] [ y ] [ 0 ] > score ) { xyMax [ 0 ] = x ; xyMax [ 1 ] = y ; score = scores [ x ] [ y ] [ 0 ] ; } } } return pointers ; }
Score local alignment for a given position in the query sequence