трассировка в глобальном выравнивании последовательностей - PullRequest
0 голосов
/ 01 мая 2019

Я столкнулся с проблемой отслеживания глобального выравнивания последовательности.Моя первая последовательность - ATTGCGCGCAT, а вторая - ATGCTTAACCA.Результат трассировки должен быть ATTGC _ _ _ GCGCAT A _ TGCTTAAC _ CA _ Но код, который я использую, не может вывести этот результат.

Я пытался просмотреть Google для справки, но мало ссылок на трассировкунаписано на Java.

private static void traceback(String seqOne, String seqTwo,int[][]matrix) {


    StringBuilder s1 = new StringBuilder(), s2 = new StringBuilder();

    for ( int i = seqOne.length(),  j = seqTwo.length(); i > 0 && j > 0; ) {
        if (i > 0 && j > 0 && (matrix[i][j] == matrix[i - 1][j - 1]) ) {
            s1.append(seqOne.charAt(--i));
            s2.append(seqTwo.charAt(--j));
        } else if ( i > 0 && (matrix[i][j] == matrix[i - 1][j] + 1) ) {
            s1.append(seqOne.charAt(--i));
            s2.append("-");
        } else if ( j > 0 && (matrix[i][j] == matrix[i][j - 1] + 1) ) {
            s2.append(seqTwo.charAt(--j));
            s1.append("-");
        }
    }

    System.out.println();
    System.out.println(s1.reverse().toString());
    System.out.println(s2.reverse().toString());

}

1 Ответ

1 голос
/ 01 мая 2019

Это ответ, который я использовал онлайн-стимулятор для демонстрации

traceback

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...