Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.02 KB | None | 0 0
  1. function traceBack = traceBack(matrix, seq1, seq2, mismatch, gap)
  2. %%
  3. %
  4.  
  5. n = size(seq1, 2); % NIEISTOTNE
  6. m = size(seq2, 2); % NIEISTOTNE
  7. aln1 = '';
  8. aln2 = '';
  9. aln3 = '';
  10.  
  11. i = size(matrix,2); j = size(matrix,1);
  12.  
  13.     while i ~= 1 && j ~= 1
  14.        
  15.         if  matrix(j, i) == matrix(j-1, i-1) + mismatch * (seq1(i-1) ~= seq2(j-1))
  16.             aln1 = strcat(seq1(i-1), aln1);
  17.             aln2 = strcat(seq2(j-1), aln2);
  18.             aln3 = strcat('|', aln3);
  19.             i = i - 1;
  20.             j = j - 1;
  21.         else
  22.              if matrix(j, i) == matrix(j-1, i) + gap
  23.                 aln1 = strcat('-', aln1);
  24.                 aln2 = strcat(seq2(j-1), aln2);
  25.                 aln3 = strcat({' '}, aln3);
  26.                 i = i - 1;
  27.             else
  28.                 aln1 = strcat(seq1(i-1), aln2);
  29.                 aln2 = strcat('-', aln2);
  30.                 aln3 = strcat({' '}, aln3);
  31.                 j = j - 1;
  32.             end
  33.         end
  34.     end
  35.  
  36.  
  37.     traceBack = struct('Aln1', aln1, 'Aln3', aln3, 'Aln2', aln2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement