Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^6: Population of HoAoA based on file contents

by iangibson (Scribe)
on Jun 01, 2012 at 16:08 UTC ( [id://973809]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Population of HoAoA based on file contents
in thread Population of HoAoA based on file contents

Hi again. I don't know if anyone can give me suggestions on this. I've been trying to work out what's going on here.

I'm getting the following error message.. :

Can't call method "isa" on unblessed reference at /usr/local/share/per +l/5.14.2/Bio/PopGen/Statistics.pm line 901, <GEN0> line 182.

..when I re-run my earlier, smaller, no-windows script. I am 99% certain that I successfully ran this script earlier, and got some statistics back.

When I run my new, larger script with the 100kb windows, that you guys helped me with, I get a different error:

Can't call method "isa" without a package or object reference at /usr/local/share/perl/5.14.2/Bio/PopGen/Statistics.pm line 901.

Is this a problem with my own code, or with the module that the errors are originating from?

Replies are listed 'Best First'.
Re^7: Population of HoAoA based on file contents
by iangibson (Scribe) on Jun 11, 2012 at 16:43 UTC

    I don't know if anyone is still reading this thread, but I think that the problem that's making the program crash is the undef values in the data structure

    I've written some code to attempt to replace each undef with some fake data that flags a window as undef, but what I've written doesn't seem to be modifying the output. Perhaps someone can tell me how to fix this:

    while (<$in_file>) { chomp; if (/^SAMPLE/) { my ( $placeholder, @coords ) = split /,/; foreach my $coord (@coords) { push @snp_bins, int( $coord / 100_000 ); } } else { my ( $id, @snps ) = split /,/; foreach my $snp (@snps) { # (@snps[0..$#snps-1] $snp =~ s/$snp/$snp,/ # put commas back in (preserve cs +v format) } foreach my $index ( 0 .. $#snp_bins ) { if ( $snps[$index] ) { push( @{ $data{$id}[ $snp_bins[$index] ] }, $snps[$index] +); # see note [1] } else { # replace 'undef' elements with f +lag data my @ones_array; foreach ( 1 .. 100) { push @ones_array, "1 1,"; } push( @{ $data{$id}[ $snp_bins[$index] ] }, @ones_arra +y ) } } } }

    I am assuming that the problem lies with the line

    if ( $snps[$index] )

    Is this the case, and if so how can I fix it? Help appreciated.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (3)
As of 2026-02-18 00:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.