Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function traceBack = traceBack(matrix, seq1, seq2, mismatch, gap)
- %%
- %
- n = size(seq1, 2); % NIEISTOTNE
- m = size(seq2, 2); % NIEISTOTNE
- aln1 = '';
- aln2 = '';
- aln3 = '';
- i = size(matrix,2); j = size(matrix,1);
- while i ~= 1 && j ~= 1
- if matrix(j, i) == matrix(j-1, i-1) + mismatch * (seq1(i-1) ~= seq2(j-1))
- aln1 = strcat(seq1(i-1), aln1);
- aln2 = strcat(seq2(j-1), aln2);
- aln3 = strcat('|', aln3);
- i = i - 1;
- j = j - 1;
- else
- if matrix(j, i) == matrix(j-1, i) + gap
- aln1 = strcat('-', aln1);
- aln2 = strcat(seq2(j-1), aln2);
- aln3 = strcat({' '}, aln3);
- i = i - 1;
- else
- aln1 = strcat(seq1(i-1), aln2);
- aln2 = strcat('-', aln2);
- aln3 = strcat({' '}, aln3);
- j = j - 1;
- end
- end
- end
- traceBack = struct('Aln1', aln1, 'Aln3', aln3, 'Aln2', aln2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement