手机
当前位置:查字典教程网 >脚本专栏 >perl >用perl实现生物突变的随机模拟程序代码
用perl实现生物突变的随机模拟程序代码
摘要:程序文件: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从文件中读取数据并输出的实现代码

perl用{}修饰变量名的写法分享

perl写的一个随机编故事的程序(rand随机函数)

perl产生随机数实现代码

perl 列表和数组变量详解

perl 指定长度并生成一个随机的DNA序列的脚本代码

perl实现blog备份的脚本代码

perl批量查询ip归属地的方法代码

perl运算符使用介绍与简单应用

perl 子程序 sub

精品推荐
分类导航