сжатие Tunstall - PullRequest
       0

сжатие Tunstall

0 голосов
/ 12 января 2012

Я хочу внедрить технику сжатия DNA Tunstall в MATLAB. Например: с помощью temp2 измените каждый символ в столбце слева на каждый соответствующий код в столбце справа:

temp2 = 
     'C'     [0.2500]    [000]
     'G'     [0.2500]    [001]
     'T'     [0.2500]    [010]
    'AA'    [0.0625]    [011]
    'AC'    [0.0625]    [100]
    'AG'    [0.0625]    [101]
    'AT'    [0.0625]    [110]

Я написал этот код, но когда я его запускаю, MATLAB заходит в бесконечный цикл. Я не знаю почему и не знаю, как избежать этой проблемы.

Это мой код

Sqnc="AAGCCCTAGACCG"; 

maxlength3=size(temp2{size(temp2,1),3},2); 

compressedcode=2*ones(1,maxlength3*size(Sqnc,2)); 
compressedcodepart=0; maxlength=size(temp2{size(temp2,1),1},2); codestart=1;` `   
codeend=codestart+maxlength-1;` 

while codeend<=size(Sqnc,2)       

     code=Sqnc(codestart:codeend); 
     stepback=0; 

     while stepback<maxlength-1 

         code=code(1:end-stepback); 
         adress=0; 

         adress=find(ismember(temp2([1:end],1), code)==1); 

         if adress~=0 
    `         compressedcode(compressedcodepart+1:maxlength3)=temp2{adress,3};` `     
              compressedcodepart=compressedcodepart+3;` 
              codestart=codestart+maxlength-stepback; 

              codeend=codestart+maxlength-1; 

              stepback=maxlength; 

          end 

     end 

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