之前推送过一篇关于用R语言生成的随机序列,最近在用perl分析宏基因组的数据,想着是不是可以写一个随机生成一段碱基序列的代码。所以就有了下面的代码。
#!/usr/bin/perl -w
use strict;
use warnings;
use List::Util qw/shuffle/;
my @seq;
my @newseq;
@seq=qw/A T C G/; ##生成一个含有ATGC四个碱基的数组。
my $num="$ARGV[0]"; ##设置一个数字参数,数字代表生成的碱基数目。
for(my $i=1; $i<=$num; $i++ ) {
@newseq=shuffle @seq;
my $sequnce=$newseq[0];
print "$sequnce";
}
print "\n";
运行perl $0 50 后,将会得到以下含有50个碱基的序列:
GCTCCTCGGCACCTAAAAGGGGCACGCTGTAGAATCAGACTTCTGGATTA
是不是很不务正业?整天搞这些无聊又没用的东西。