Info

This question is closed. Reopen it to edit or answer.

I Have this scoring matrix, I want to change just the first column and row from zeros to 0, -2, -4, -6, -8 and so on. I don't know how to change it. any help please ??

1 view (last 30 days)
seq1 = 'GGATCGA';
seq2 = 'GAATTCAGTTA';
n = length(seq1);
m = length(seq2);
w = -2;
score = zeros(n+1, m+1);
back = cell(n+1, m+1);
% fill the score matrix
for i=2: n+1
for j=2: m+1
sij = -1;
if seq1(i-1) == seq2(j-1)
sij = 2;
end
a = [score(i-1,j-1)+sij, score(i,j-1)+w, score(i-1,j)+w];
[smax, imax] = max(a);
score(i,j) = smax;
switch imax
case 1
back{i,j} = [i-1, j-1];
case 2
back{i,j} = [i, j-1];
case 3
back{i,j} = [i-1, j];
end
end
end
score

Answers (1)

Luuk van Oosten
Luuk van Oosten on 19 Sep 2016
Just to be sure: is the following what you are trying to do (just implemented for the first column though)?
for i = 1:length(score(:,1))-1
score(i+1,1)=-2*i
end
If this is what you are looking for, I am sure you can make it work for the first row as well.
  3 Comments
Luuk van Oosten
Luuk van Oosten on 20 Sep 2016
All right, but you did add my three lines of codes at the end of your script, didn't you? I've attached my outcome as well (only for the first column).
PS: you are aware of the fact that there are some tools for this in the BioInformatics toolbox? (click)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!