这是我需要从输入中选择一个元素的代码的一部分。最终结果以一种奇怪的方式排序,它将创建 1X2 单元格,而不是将它们彼此相邻!
struKm(i).seqNam = cellstr(regexp(data(i).Header, '\s\||\:|\|','split')); % determen the seqance name heads
struKm(i).seqNam(cellfun(@(x) isempty(x),struKm(i).seqNam))=[];
此代码位于 FOR LOOP 中。
此代码的结果是:
答案=
'AF051909' '392-397' 'CAGCTG' '413-418' 'CAGGTG'
一些 seqNams 仅包含一个结合位点 (CAGCTG)。例如:
答案=
'M13483' '445-450' 'CAACTG'
现在我只想选择(CAGCTG,CAGGTG,CAACTG,...等)的绑定站点
我有另一个 for 循环可以做到这一点。编码:
struSize = 长度(struKm);tempcell = 细胞(1,1);
对于 m=1:struSize
if (length(struKm(m).seqNam) == 3)
resultsk.BS{m} = struKm(m).seqNam(3);
disp(m);
end
if (length(struKm(m).seqNam) == 5)
resultsk.BS{m} = cellstr(struKm(m).seqNam([3,5]));
%tempcell = struKm(m).seqNam([3,5]); resultsk.BS{m} = cellstr(tempcell);
disp(m);
end
结尾
以及此代码的结果:
结果k.BS{:}
答案=
'CAGCTG' 'CAGGTG'
答案=
'CAACTG'
答案=
'CAACTG'
一些具有两个结合位点的细胞的问题,使 <1x2 细胞> 紧挨着 <1x1 细胞>。
我需要它们都排成一排。仍在为此苦苦挣扎。你能帮忙吗?
谢谢你,A