Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fix shootout/fasta.p6.pl
  • Loading branch information
gerdr committed May 6, 2012
1 parent 05d4466 commit fce6a8b
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions shootout/fasta.p6.pl
@@ -1,5 +1,5 @@
# The Computer Language Benchmarks Game
#
#
# Based on the submission for Perl 5.
# contributed by Daniel carrera
#
Expand Down Expand Up @@ -54,33 +54,33 @@ ($id, $desc, $n, $s)

my $r = $s.chars;
my $ss = $s ~ $s ~ $s.substr(0, $n % $r);
for 0..int($n / LINELENGTH)-1 -> $k {

for 0..($n div LINELENGTH)-1 -> $k {
my $i = $k*LINELENGTH % $r;
say $ss.substr($i, LINELENGTH);
}
if ($n % LINELENGTH) {
say $ss.substr(-($n % LINELENGTH));
say $ss.substr(*-($n % LINELENGTH));
}
}

sub makeRandomFasta($id, $desc, $n, @genelist) {
say ">$id $desc";

# print whole lines
for 1 .. int($n / LINELENGTH) {
for 1 .. ($n div LINELENGTH) {
say selectRandom(@genelist, LINELENGTH);
}
# print remaining line (if required)
if ($n % LINELENGTH){
if ($n % LINELENGTH) {
say selectRandom(@genelist, $n % LINELENGTH);
}
}

sub selectRandom(@genelist, $length) {
my @rand = gen_random($length);
my $seq = '';

for @rand -> $rand {
for @genelist -> @gene {
if ($rand < @gene[1]) { $seq ~= @gene[0]; last; }
Expand Down

0 comments on commit fce6a8b

Please sign in to comment.