if((long)(e1-b1+1)*(e2-b2+1) <= POSSIBLE_CELLS){
//System.out.println("rectangle1");
// System.out.println("sending DSA. window: s1: " + b1 + "-" + e1 + " s2: " + b2 + "-" + e2);
DiagonalSequenceAlignment alignment = new DiagonalSequenceAlignment(s1, b1, e1, s2, b2, e2, alphabet, matrix, workers, cells);
score = score + alignment.getAlignmentScore();
// System.out.println("rectangle2");
/*
try {
bw.write("Main(DSA): this window- S1: " + b1 + "-" + e1 + " S2: " + b2 + "-" + e2 + " Score is: " + alignment.getAlignmentScore());
bw.newLine();
if((e1-b1+1)>0 && (e2-b2+1)>0){
DiagonalSequenceAlignmentNoMatrix dsanm = new DiagonalSequenceAlignmentNoMatrix(s1, b1, e1, s2, b2, e2, alphabet, matrix, workers, cells);
dsanm.buildMatrix();
if(dsanm.getMaxScore()!=alignment.getAlignmentScore()){
bw.write("WARNING! the difference is: " + (dsanm.getMaxScore()-alignment.getAlignmentScore()));
bw.newLine();
}
bw.write("only DSANM: this window- S1: " + b1 + "-" + e1 + " S2: " + b2 + "-" + e2 + " Score is: " + dsanm.getMaxScore());
bw.newLine();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
return alignment.getAlignmentString();
}
//find a string range (SR) which one of its edges is bounded in the window defined by the strings' borders
List<StringRange> list = listOfSR;