I want help in code that allows to fix the correction of my DNA strand.

1 view (last 30 days)
I am wrting code for a dna strand , i have made it so that when there is a wrong sister strand or when A-T or C-G are not read it leaves an X where there is an error. But i want the second part to fix the wrong nucleotide. please help or suggestions.
string1 = 'ATCG';
string2 = 'TACC';
outputstring1 = '';
outputstring2 = '';
%%j=0;%%
for i = 1 : length(string1)
ch1 = string1(i);
ch2 = string2(i);
matching = 0;
if (ch1 == 'A') & (ch2 == 'T') matching = 1; end;
if (ch1 == 'T') & (ch2 == 'A') matching = 1; end;
if (ch1 == 'C') & (ch2 == 'G') matching = 1; end;
if (ch1 == 'G') & (ch2 == 'C') matching = 1; end;
if (matching == 1)
%j = j + 1;
outputstring1(i) = ch1; %% js to (i)'s
outputstring2(i) = ch2;
else
outputstring1(i) = 'X';
outputstring2(i) = 'X';
end
outputstring2
end
if outputstring2(i) == 'X'
if (ch1 == 'A') & (ch2 == 'A') || (ch2 == 'C') || (ch2 == 'G') matching = 0; end;
if (ch1 == 'T') & (ch2 == 'T') || (ch2 == 'C') || (ch2 == 'G') matching = 0; end;
if (ch1 == 'C') & (ch2 == 'C') || (ch2 == 'A') || (ch2 == 'T') matching = 0; end;
if (ch1 == 'G') & (ch2 == 'G') || (ch2 == 'A') || (ch2 == 'T') matching = 0; end;
if (matching == 0);
end;
end;

Answers (1)

Sai Teja G
Sai Teja G on 31 Aug 2023
Hi Abraham,
I understand you want to fix the wrong nucleoid when there is a mismatch in the DNA strand. You can refer to the below code to fix the wrong nucleoid.
string1 = 'ATCG';
string2 = 'TACC';
outputstring1 = '';
outputstring2 = '';
%%j=0;%%
for i = 1 : length(string1)%checking if the strings match or not
ch1 = string1(i);
ch2 = string2(i);
matching = 0;
if (ch1 == 'A') && (ch2 == 'T') matching = 1; end
if (ch1 == 'T') && (ch2 == 'A') matching = 1; end
if (ch1 == 'C') && (ch2 == 'G') matching = 1; end
if (ch1 == 'G') && (ch2 == 'C') matching = 1; end
if (matching == 1)%if the strands match
%j = j + 1;
outputstring1(i) = ch1; %% js to (i)'s
outputstring2(i) = ch2;
else
outputstring1(i) = 'X';
outputstring2(i) = 'X';
end
if outputstring2(i) == 'X' %checking if this is a mismatch
if (ch1 == 'A') %correcting or fixing the wrong nucleoid
outputstring2(i)='T';
outputstring1(i)='A';
end
if (ch1 == 'T') %correcting or fixing the wrong nucleoid
outputstring2(i)='A';
outputstring1(i)='T';
end
if (ch1 == 'C') %correcting or fixing the wrong nucleoid
outputstring2(i)='G';
outputstring1(i)='C';
end
if (ch1 == 'G') %correcting or fixing the wrong nucleoid
outputstring2(i)='C';
outputstring1(i)='G';
end
end
end
Hope it helps!

Categories

Find more on Genomics and Next Generation Sequencing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!