【发布时间】:2016-12-21 18:27:39
【问题描述】:
我有一个 DNA 序列,例如它的长度是 m*4n:
B = 'GATTAACTACACTTGAGGCT...';
我还有一个实数向量 X = {xi, i = 1..m*4n},并使用mod(X,1) 将它们保持在 [0,1] 范围内。例如:
X = [0.223 0.33 0.71 0.44 0.91 0.32 0.11 ....... m*4n];
然后我需要通过应用函数将X 转换为二进制向量:
f(x)={0 ,0 < X(i,j) ≤ 0.5; 1 ,0.5 < X(i,j) ≤ 1;)
根据先前值的输出将类似于X = [0010100 ....]。如果X(i,j)==1,则补足B(i,j),否则不变。在这种情况下,补码是匹配的碱基对(即 A->T、C->G、G->C 和 T->A)。
这是我迄今为止尝试过的代码,但没有成功:
%%maping X chaotic sequence from real numbers to binary sequence using threshold function
X = v(:,3);
X(257)=[];
disp (X);
mode (X,1);
for i=1
for j=1:256
if ((X(i,j)> 0) && (X(i,j)<= .5))
X(i,j) = 0;
elseif ((X(i,j)> .5) && (X(i,j)<= 1))
X(i,j) = 1;
end
end
end
disp(X);
如何正确执行索引和补充?
【问题讨论】:
-
你需要更具体一些,我什至不知道 [图像处理] 是如何进入这个的,我不知道你想要什么。即便如此,也没有人会为您编写代码,因此您需要有一个您提出问题的工作/非工作示例。否则你的问题太宽泛了。
-
我加入了 Andras 的评论。请至少显示一个您正在尝试做的小数字示例。我完全不清楚你在问什么。
-
@AndrasDeak,先生,我确实尝试过自己写这篇文章,当我失败时,我来到这里请该领域的专家在这个特定部分帮助我。这是我整个程序的一小部分。感谢您的帮助
-
您应该添加您尝试过的内容,并描述它是如何失败的。正如我所说,我们可以帮助您调试代码,但我们不会为您编写代码。如果这个小部分太硬,我不确定你会在其余部分有更多的运气。你不同意吗?
-
我什至不确定您是如何将 9 个 4 字符的字符串编码为 3x3 矩阵的。我可以算出你的阈值函数(虽然很高兴知道
Z(i,j)>1会发生什么),但我希望你告诉我们 DNA 矩阵的补码是什么,而不是必须查找它。样本输入和期望的输出是必不可少的。
标签: matlab indexing dna-sequence