(1)一条DNA序列几百个或者上千个,要划分为m段(m取3的整数倍),分别计算出A、T、C和G的数量,再用A、T、C、G的数量分别除以m,所得的数据以数组的形式存放。 (2)再用A的数量除以A和T的数量,T的数量除以A和T的数量,C的数量除以C+G,G/C+G,最后A+T/m,C+G/m;
1条回答 默认 最新
- joel_1993 2024-02-25 14:18关注
可以这么做
clc; clear n = 100; baseDNA = 'ATCG'; intSeries = randi([1,4], 1, n*3); pairwiseCode = [2,1,4,3]; intSeries2 = pairwiseCode(intSeries); dnaSeries = baseDNA(intSeries); % 生成dna链 dnaSegs = dnaRandomSplit(dnaSeries, 10); function dnaSeg = dnaRandomSplit(dnaSeries, nSeg) m = numel(dnaSeries)/3; q = randperm(m-1); p = q(1:nSeg-1); p = [0,sort(p)]; p = [diff(p),m-p(end)]; dnaSeg = mat2cell(dnaSeries, 1, 3*p); end
解决 无用评论 打赏 举报