用perl實現(xiàn)生物突變的隨機模擬程序代碼
程序文件: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;$i<10;++$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:\>
相關文章
- fdupe 是一個很小的 Perl 腳本,用來檢索指定目錄并找出其中重復的文件,該腳本是通過文件內容來識別是否重復文件,而非文件名。fdupe 無需其他 Perl 腳本支持,運行速度非???/div> 2013-03-03
使用腳本實現(xiàn)自動清除指定文件夾下丟失鏈接文件的符號鏈接
這篇文章主要介紹了使用腳本實現(xiàn)自動清除指定文件夾下丟失鏈接文件的符號鏈接,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02最新評論