• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用perl实现生物突变的随机模拟程序代码

    程序文件:test.pl

    复制代码 代码如下:

    #!/bin/perl
    # filename:test.pl
    use strict; 
    use warnings; 

    #随便找一个比较好识别的序列 
    my $DNA="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n"; 
    my $i; 
    my $mutant; 
    srand(time|$$); 
    $mutant=mutate($DNA); 
    print "Mutate \n". $DNA; 
    print "Here is the original DNA:\n"; 
    print "$DNA\n"; 
    print "Here is the mutant DNA:\n\n"; 
    print "$mutant\n"; 
    print "Here are 10 more successive mutations:\n"; 
    for ($i=0;$i10;++$i) 

       $mutant=mutate($mutant); 
       print "$mutant\n"; 


    #子程序:根据序列的长度定义一个随机位置的子程序 
    sub randomposition 

       my($string)=@_; 
       return int(rand(length($string))); 
    }
    #子程序:从一个数组中随机选取一个元素 
    sub randelement 

      my(@array)=@_; 
      return $array[rand @array]; 


    #子程序:引用上面的子程序,从ATGC四个碱基中随机选取一个 
    sub randomnucleotide 

      my (@nucleotides)=qw/A T G C/; 
      return randelement(@nucleotides); 


    #子程序:生成突变的子程序 
    sub mutate 

       my($dna)=@_; 
       my(@nucleotides)=qw(A T G C); 
       my($position)=randomposition($dna); 
       my($newbase)=randomnucleotide(@nucleotides); 
       substr($dna,$position,1,$newbase);#substr($string,$initial_position,$length,replacement substring) 
       return $dna; 
    }

    结果如下:
        F:\&;perl\test.pl 
        Mutate 
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
        Here is the original DNA: 
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 

        Here is the mutant DNA: 

        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        Here are 10 more successive mutations: 
        ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        ACAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        ACAAAAAAAAACAAAAAAAAAAAAATAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        ACAAAAAAAAACAAAAAAAAAAAAATAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        ACAAAAAAAAACAAAAAAAAAAAAATAAAAAAAAAAAAAAATAAAAAAAAAAAAAAA 

        ACAAAAAAAAACAAAAAAAAAAAAATAAAAAAAAAAAAAAATGAAAAAAAAAAAAAA 

        ACTAAAAAAAACAAAAAAAAAAAAATAAAAAAAAAAAAAAATGAAAAAAAAAAAAAA 

        ACTAAAAAAAACAAAAAAAAAAAAATAAGAAAAAAAAAAAATGAAAAAAAAAAAAAA 

        ACTAAAAAAAACAAAAAAAAAAAAATAAGAAAAAAAAAAAATGTAAAAAAAAAAAAA 

        ACTAAAAAAAACAAAAAAAAAAAAATAAGAAAAAAAAAAAATGTAAAAAAAAAAAAA

        F:\&;

    上一篇:perl中srand()与time的函数使用方法介绍
    下一篇:perl 变量 $/ 的用法解析 上下文为行模式时,$/ 定义以什么来区分行
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    用perl实现生物突变的随机模拟程序代码 用,perl,实现,生物,突,变的,