Skip to content

Instantly share code, notes, and snippets.

@Schabernack
Created November 28, 2010 16:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Schabernack/719089 to your computer and use it in GitHub Desktop.
Save Schabernack/719089 to your computer and use it in GitHub Desktop.
alignment
import java.util.Arrays;
public class alignment {
public static int D= 1;
public static int MATCH = 2;
public static int MISMATCH = -1;
public static void main(String[] args){
//int[][] foo = computeMatrix(Sequenzen.NP_000913, Sequenzen.NP_246273);
int[][] bar = computeMatrix("IVVGSAAHCYGEDN", "IVLTAAHCVSASGEHN");
//System.out.println(foo[1][1]);
System.out.println(bar[1][1]);
}
public static int[][] computeMatrix(String seq1, String seq2){
int[][] matrix = new int[seq1.length()+1][seq2.length()+1];
for(int i = seq1.length()-1; i>0; i--){
for(int j=seq2.length()-1; j>0; j--){
matrix[i][j] = max(matrix, i, j, seq1, seq2);
}
}
return matrix;
}
public static int max(int[][] matrix, int i, int j, String seq1, String seq2){
char[] a = StringToArray(seq1);
char[] b = StringToArray(seq2);
int [] foo = {matrix[i+1][j+1]+s(matrix, a, b, i, j), matrix[i+1][j] -D , matrix[i][j+1] -D};
Arrays.sort(foo);
return foo[foo.length-1];
}
public static char[] StringToArray(String s){
char[] foo = new char[s.length()+1];
for(int i=0; i<s.length();i++){
foo[i+1] = s.charAt(i);
}
return foo;
}
private static int s(int[][] matrix, char[] t1Array, char[] t2Array, int i, int j) {
int hier;
if(t1Array[i] == t2Array[j])
hier = matrix[i+1][j+1] + MATCH;
else
hier = matrix[i+1][j+1] + MISMATCH;
return hier;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment