Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: Sorting Data By Overlapping Intervals

by ccelt09 (Sexton)
on Oct 31, 2013 at 10:46 UTC ( [id://1060554]=note: print w/replies, xml ) Need Help??


in reply to Re: Sorting Data By Overlapping Intervals
in thread Sorting Data By Overlapping Intervals

The only problem with setting $placeholder=0 is that I would need a way to iteratively increase its value until it is greater than or equal to my next start value before the for loop is completed. Just setting that variable to 0 after the loop means my  $position value is always less than  $start another way of saying that is:

my position variable resets to the first value of 60454 but $start and $end increase with each loop, so nothing prints after the first output file

Replies are listed 'Best First'.
Re^3: Sorting Data By Overlapping Intervals
by Eily (Monsignor) on Oct 31, 2013 at 21:39 UTC

    Oh, right, I read an elsif instead of the second if, which meant that you would only have exited the loop when $position is above range. Then resetting $placeholder to 0 would work I guess (untested). But the condition is that your input data has to be sorted (as in ordered), which it seemed to be in your sample.

    Still, you don't check that $placeholder is a valid value, if the last element of @SNP is inside one of the ranges, you'll increase $placeholder and try to access $SNP[last element+1] which would yield undef. I'm not sure you thought of that case.

    In the end, your inner loop reworked would be something like :

    # It would probably be better have # while (my $line = <CG>) # but that would mean rethinking your whole code for my $line (@SNP) { my $position = (split " ", $line)[3]; last unless $position <= $end; print OUT $line if $position > $start; }
    This is of course, completely untested :D.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-25 10:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found