用perl实现生物突变的随机模拟程序代码_perl教程-查字典教程网
用perl实现生物突变的随机模拟程序代码
用perl实现生物突变的随机模拟程序代码
发布时间:2016-12-28 来源:查字典编辑
摘要:程序文件:test.pl复制代码代码如下:#!/bin/perl#filename:test.plusestrict;usewarnings...

程序文件:test.pl

复制代码 代码如下:

#!/bin/perl

# filename:test.pl

use strict;

use warnings;

#随便找一个比较好识别的序列

my $DNA="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn";

my $i;

my $mutant;

srand(time|$$);

$mutant=mutate($DNA);

print "Mutate n". $DNA;

print "Here is the original DNA:n";

print "$DNAn";

print "Here is the mutant DNA:nn";

print "$mutantn";

print "Here are 10 more successive mutations:n";

for ($i=0;$i<10;++$i)

{

$mutant=mutate($mutant);

print "$mutantn";

}

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

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:>perltest.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学习
    热门perl学习
    脚本专栏子分类