Я не знаю, правильно ли я понимаю, но я бы сделал что-то вроде этого (псевдокод):

вая эти входные данные:

my $init_seq = "AAAAAAAAAA" #length 10 bp 
my $sub_rate = 0.003;
my $nof_tags = 1000;
my @dna = qw( A C G T );

Я хочу создать:

Тысяча длина-10 меток

Коэффициент замещения для каждой позиции в теге составляет 0,003

Выходящий результат как:

AAAAAAAAAA
AATAACAAAA
.....
AAGGAAAAGA # 1000th tags

Есть ли компактный способ сделать это в Perl?

Я застрял с логикой этого скрипта в качестве ядра:

#!/usr/bin/perl

my $init_seq = "AAAAAAAAAA" #length 10 bp 
my $sub_rate = 0.003;
my $nof_tags = 1000;
my @dna = qw( A C G T );

    $i = 0;
    while ($i < length($init_seq)) {
        $roll = int(rand 4) + 1;       # $roll is now an integer between 1 and 4

        if ($roll == 1) {$base = A;}
        elsif ($roll == 2) {$base = T;}
        elsif ($roll == 3) {$base = C;}
        elsif ($roll == 4) {$base = G;};

        print $base;
    }
    continue {
        $i++;
    }

Ответы на вопрос(5)

Ваш ответ на вопрос