Encoding Binary to DNA sequencing
1 次查看(过去 30 天)
显示 更早的评论
I am trying to convert the string into binary and sequencing with DNA,but i am getting error as follows :
Attempted to access bases(145); index out of bounds because numel(bases)=4.
Error in ==> filename at 21
result((k+1)/2) = bases(index);
What is the solution for this? Here is the code:
clc;
ui=input('enter the message:','s')
decString = unicode2native(ui,'utf-8')
hexString = dec2hex(decString)
binaryArray= dec2bin(decString,8)
bases = 'ATGC';
for k = 1 : 2 : length(binaryArray)
% Convert these two digits into a number 1 - 4.
index = 2 * binaryArray(k) + binaryArray(k+1) + 1;
% Use that index to assign a letter to our result.
result((k+1)/2) = bases(index);
end
% Display in command window:
result
Thank you
2 个评论
采纳的回答
Image Analyst
2015-9-25
bases has only 4 elements so index must stay in the range 1,2,3,4 not 145 like you have it. Think about the logic some more.
5 个评论
Walter Roberson
2015-9-26
I do not see the difference between what you got and what you want.
To answer your question, though: No, it is not a vector, it is an array. Character strings in MATLAB are arrays, not individual entities. The "result" variable above is char of size 6 x 4
If you want it as a cell array of strings, then use cellstr(result)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genomics and Next Generation Sequencing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!