Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: What is wrong in this code???

by Anonymous Monk
on Dec 07, 2012 at 21:06 UTC ( #1007825=note: print w/ replies, xml ) Need Help??


in reply to Re: What is wrong in this code???
in thread What is wrong in this code???

Thanks, but that is not what I need. What I must have, is the number of A, C, T, G and - per POSITION. So the output would be something like:

POS #1 A:150 | T:50 | G:0 | C:20 | -:30 POS 21 A:80 | T:60 | G:40 | C:20 | -:0 etc

So the numbers must add up the number of sequences, each time...


Comment on Re^2: What is wrong in this code???
Download Code
Re^3: What is wrong in this code???
by Anonymous Monk on Dec 07, 2012 at 21:33 UTC
    use strict; use warnings; while (<>) { my %sequences; for my $char ( split '', (split)[1] ) { $sequences{$char}++; } print "$_ => $sequences{$_}", "\n" for keys %sequences; }

    Note how I declared the hash inside the loop. Scoping variables correctly is the easiest way to reset them.

Re^3: What is wrong in this code???
by Kenosis (Priest) on Dec 07, 2012 at 22:50 UTC

    My apologies; I did misunderstand. The following should work:

    use strict; use warnings; my %sequences; while (<>) { my $i = 1; for my $char ( split '', (split)[1] ) { $sequences{ $i++ }{$char}++; } } for my $pos ( sort { $a <=> $b } keys %sequences ) { my @charCount; while ( my ( $char, $count ) = each %{ $sequences{$pos} } ) { push @charCount, "$char:$count"; } print "POS #$pos " . ( join ' | ', @charCount ) . "\n"; }

    This is the output:

    POS #1 a:4 POS #2 q:1 | b:3 POS #3 c:4 POS #4 x:1 | d:2 | z:1 POS #5 e:4 POS #6 f:4 POS #7 c:1 | a:1 | b:1 | d:1 POS #8 h:4 POS #9 i:4 POS #10 j:4

    Run on this data:

    12 abcdefahij 12 abcdefbhij 12 aqcxefchij 12 abczefdhij

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1007825]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (9)
As of 2014-07-13 16:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (250 votes), past polls