勿cue417 2021-05-17 21:07 采纳率: 0%
浏览 15

matlab实现DNA序列的概率计算?

(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
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料