in reply to Count every 3rd base occurence
I think you are attacking the problem from a wrong angle. You are walking through your DNA string step by step, instead of jumping through it in increments of three. Also you are using a C-style loop, which is very error prone, in your case for example the first element of @dna is at $dna[0]. I'd rewrite your code in the following way, jumping forward three slots with every round :
use strict; my $i = 2; my @dna = split //, 'CTCCGGATCTAT'; my $counter = 0; my $total = 0; while ($i < @dna) { if ($dna[$i] eq 'C') { $counter++; } elsif ($dna[$i] eq 'G') { $counter++; } $total++; $i += 3; } print "Found $counter G/C of $total elements at a 3-position\n";
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
|
|---|