Camelia, the Perl 6 bug

IRC log for #bioperl, 2010-08-18

| Channels | #bioperl index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 carandraug joined #bioperl
01:10 dukeleto joined #bioperl
03:38 CIA-95 bioperl-live: Chris Fields master * rd5baa73 / (2 files): Merge branch 'circular' - http://bit.ly/aby4lM
05:30 melic joined #bioperl
07:17 genehack joined #bioperl
12:35 genehack joined #bioperl
13:03 dbolser how to ensure Bio::Range->union(@ranges) returns an object?
13:09 * kblin whacks SeqFeature::Generic with a stick
13:10 kblin why is $feature->frame() returning undef?
13:12 carandraug joined #bioperl
13:18 dbolser kblin: what does ref($feature) return?
13:19 dbolser kblin: do you want to say $feature->phase?
13:19 kblin phase?
13:20 kblin the ref returns a Bio::SeqFeature::Generic
13:21 kblin and $feature->strand() works just fine
13:39 dbolser frame = readin frame?
13:39 dbolser that's also called phase
13:40 kblin aha
13:40 kblin but SeqFeature::Generic has no member called phase
13:41 dbolser I guess it's too generic
13:41 dbolser not sure where that info ends up
13:41 dbolser I'd really like to draw out a GFF contextualized ontology of bioperl objects
13:41 dbolser classes
13:41 dbolser and interfaces
13:42 dbolser then sell the image for cash money
13:42 dbolser I'm just trying to work out why Bio::Range->union(@my_feet) fails
13:42 dbolser Use of uninitialized value in sort at /homes/dbolser/perl5/lib/perl5/Bio/RangeI.pm line 411.
13:44 dbolser hmm... works on features but not ranges!
13:44 dbolser silly ranges!
13:45 dbolser Your branch and the tracked remote branch 'origin/master' have diverged,
13:45 dbolser and respectively have 20 and 34 different commit(s) each.
13:45 dbolser :p :b
13:46 dbolser fresh ... branch?
13:48 kblin rebase?
13:48 dbolser kblin: I suspect that rebase will fail
13:48 dbolser kblin: does this mean I've saved my changes on a branch:
13:48 dbolser git diff master my_new_branch # no output
13:49 kblin this just means that you have 20 commits on your branch that aren't in origin/master, and origin/master has 34 commits that aren't in your master branch
13:49 dbolser (I just ran git checkout master to produce the above msg)
13:49 kblin er, what are you trying to do?
13:49 dbolser kblin: right
13:49 dbolser I'm trying to ignore my changes, check out the latest origin/master, create a new branch, fix the range issue
13:49 dbolser but I don't want to loose my changes
13:50 dbolser I think they are under 'my_new_branch'
13:50 dbolser but currently "git diff master my_new_branch" has no output, so I can safely reset master?
13:52 kblin from the way I understand the git-diff manpage, yes
13:52 kblin but..
13:52 dbolser kblin: ok, how do i ...
13:52 kblin how did you get to the new branch?
13:52 dbolser how do I discard my changes on master?
13:52 dbolser can't remember
13:52 dbolser git branch ...
13:53 kblin ok, let me indulge in some paranoia
13:53 kblin while on the master branch, do a git checkout -b pre_reset
13:53 kblin this will check out a new branch that contains all the commits of your current branch
13:54 kblin then, go back to master "git checkout master"
13:54 kblin and reset "git reset --hard origin/master"
13:55 dbolser OK, so I now (should) have two copies of the pre-reset commits?
13:55 dbolser HEAD is now at 783e36e
13:56 dbolser git diff pre_reset my_new_branch # no output
13:56 kblin ok
13:56 Jun I assume BioPerl version 1.0069 means BioPerl 1.69 , right?
13:57 dbolser yup
13:57 Jun cheers
13:57 * dbolser checks if the bug exists in HEAD
13:57 dbolser can I say "HEAD/origin"?
13:59 dbolser t/RemoteDB/EUtilities.t ...................... 271/309
13:59 kblin HEAD isn't a remote
13:59 dbolser wsup widat?
13:59 dbolser kblin: IC
13:59 kblin HEAD is the tip of the current tree
13:59 dbolser OK
14:00 kblin 783e36e is not the current HEAD of bioperl-live, though
14:00 dbolser why ?
14:02 kblin it's a commit from august 5th
14:03 * dbolser tries a git fetch
14:04 dbolser sorry, pull
14:04 dbolser Updating 783e36e..d5baa73
14:04 kblin you could do a fetch and a rebase :)
14:05 dbolser ic
14:05 dbolser ;-)
14:06 dbolser fetch the commits and apply them?
14:06 dbolser OK, re-branched to that I'm now on HEAD...
14:07 dbolser Doh... I should retest first
14:17 pittpgc joined #bioperl
14:21 dbolser if (wantarray()) {
14:21 dbolser return ($intersect->start, $intersect->end, $intersect->strand);
14:21 dbolser }
14:21 dbolser else {
14:21 dbolser return $intersect;
14:21 dbolser }
14:22 dbolser how do I push the return value onto an array without wanting an array?
14:30 dbolser call scalar
14:42 dbolser ok kblin I just fixed the bug on my branch
14:42 dbolser I'll now push the branch to 'dbolser'
14:42 dbolser and make a pull request?
14:48 kblin I guess so
14:50 pyrimidine joined #bioperl
14:52 dbolser hi pyrimidine
14:53 pyrimidine o/
15:03 dbolser how can I invert a bunch of ranges?
15:03 dbolser subtract is strictly pairwise, but returns an array
15:04 dbolser making it inconvenient
15:04 * dbolser recurses
15:04 dbolser I have the following problem, range set a and range set b should have some 'gaps' in common
15:05 dbolser I want to call intersection on the gaps
15:06 pyrimidine I would create a function (invert_ranges) to sort the ranges by start, iterate through pairs of the ranges to find gaps, and create new ranges from them
15:07 pyrimidine then have a second function find the intersections
15:08 * pyrimidine frankly thinks the whole Range operation thing is a waste with large sets of ranges anyway
15:08 pyrimidine there needs to be an abstraction that handles this
15:08 pyrimidine probably RTree-based
15:11 pyrimidine \msg rbuels SoC evals done!
15:11 pyrimidine heh
15:12 pyrimidine little more public than I would have liked but no probs :)
15:13 dbolser yeah, that is teh way I was doing it
15:14 dbolser for some reason I decided to find gaps by subtracting a set of ranges, but that way makes more sense
15:27 dbolser shouldn't intersection return undef when passed a single range?
15:27 dbolser seems more consistent than throwing a wobbly
15:29 pyrimidine dbolser: depends on your perspective
15:29 pyrimidine if the intent of the method is to compare ranges, that implies 'more than one'
15:31 pyrimidine not to mention, you can get undef from passing in two ranges, correct?  1..10, 20..40
15:31 kblin pyrimidine: we call it the forward slash..
15:31 * pyrimidine has alway been backwards
15:32 dbolser right
15:32 dbolser but I don't necessarily know how many ranges I'm going to be looking at
15:32 pyrimidine scalar(@ranges)
15:32 dbolser and there is no intersection between a single range
15:32 * kblin tries to wrap his head around the embl parser again
15:32 dbolser pyrimidine: right
15:32 dbolser I can do everything myself ;-)
15:32 dbolser but I think it's more consistent if the function returns undef when passed a single range
15:33 dbolser I'd rather have the user check the return value, not the input value
15:33 pyrimidine that's easy enough to fix
15:33 dbolser or is that logic totally borked?
15:33 pyrimidine not really
15:33 dbolser pyrimidine: right, I'm just wondering if it's a good fix or not
15:34 dbolser seems I always manage to bundle something un-plaetable into a pull request ;-)
15:34 pyrimidine it's the rule of least surprise
15:34 dbolser you think it comes down in favor of the fix?
15:35 pyrimidine depends on how much it'll break things ;-)
15:35 dbolser ;-)
15:35 * dbolser patches and runs tests...
15:35 pyrimidine if you do that there, you might as well do the same for any other geometric tests
15:36 pyrimidine and (again following the principle of least surprise) might want to post something to the list about it, but I don't think you'll see much dissent
15:39 dbolser pyrimidine: I just also made a couple of documentation changes in RangeI.pm
15:39 pyrimidine ok
15:39 dbolser is it worth making two separate pull requests, or are the separate commits enough?
15:40 pyrimidine we can, through the magics of the interwebs and git-hubs, pull in separate ones pretty easily
15:41 dbolser Failed 222/348 test programs. 219/6040 subtests failed. ;-)
15:41 dbolser syntax error
15:42 * pyrimidine speaks in bad southern accent: 'blowed it up real gooood'
15:44 pyrimidine dbolser: note that pull requests for github orgs are not working correctly at the moment (the github folks are working on a fix for it)
15:45 pyrimidine so, make sure to ping one or more of the devs
15:47 dbolser pyrimidine: are you a devs?
15:47 pyrimidine :)
15:47 dbolser :D
15:48 dbolser pyrimidine: there doesn't seem to by any equivelent problems with any of the other geometric methods
15:48 dbolser they all 'behave as expected' ... I think...
15:49 pyrimidine as long as they're consistent
15:49 * pyrimidine points at http://www.bioperl.org/wiki/IRC
15:50 * dbolser looks blank
16:02 ank joined #bioperl
16:04 rbuels hrm.  i have never seen Nath or bosborne in here
16:05 rbuels i think i saw russelsmithies once
16:11 dbolser hmm... since I'm here... union and disconnected_ranges both take @ranges as arguments (at least their static methods)
16:11 dbolser but intersection takes \@ranges
16:11 dbolser (which just caused me yet another 'debugging'
16:11 dbolser I'm guessing they should be made consistent?
16:16 pyrimidine dbolser: my guess is that would certainly break code
16:16 pyrimidine but, you can always try having it both ways
16:16 dbolser can we burn that bridge when we get to it?
16:17 * dbolser tires
16:18 * dbolser tries
16:18 pyrimidine my @arrays = (ref $_[0] eq 'ARRAY') ? @{$_[0]} : @_;
16:18 pyrimidine afk #coffee
16:20 dbolser we have:
16:20 dbolser ref($given) eq 'ARRAY' ? push(@ranges, @{$given}) : push(@ranges, $given);
16:22 dbolser hrm... I think I see how to fix, but may be buggy
16:36 dbolser too hard for me
16:36 deafferret .oo.
16:39 dbolser deafferret: see if you can do it ;-)
16:39 deafferret who shot who in the what now?
16:41 * dbolser panicks
16:41 dbolser pyrimidine: is you hyphaltip?
16:41 deafferret in the disco?
16:41 pyrimidine nope
16:41 dbolser you're not listed under the 'send pull request' list?
16:41 deafferret py[tab] ne hy[tab
16:41 deafferret ]
16:41 pyrimidine cjfields
16:41 dbolser nope
16:42 dbolser OK, added as a recipient
16:42 pyrimidine ORLY?
16:42 dbolser rly
16:42 dbolser adsj / chmille4 / cybersiddhu / genehack / hyphaltip / ...
16:43 dbolser no rbuels either, nor jha[TAB]
16:43 dbolser do you think we're being marginalized?
16:43 pyrimidine ah, I see the problem
16:43 dbolser orly?
16:43 rbuels eh what huh
16:43 pyrimidine yes, the pull request queue is broken for orgs
16:43 rbuels oh hell
16:44 rbuels fratboy github crew--
16:44 * dbolser jumps the queue
16:44 pyrimidine dbolser: what you are seeing are the other forks of bioperl-live
16:44 pyrimidine hyphaltip aka jason has one
16:44 pyrimidine Jun has one
16:44 dbolser right
16:44 pyrimidine I bet if I make a fork you'll see my name
16:45 * pyrimidine making a test fork
16:45 deafferret hardcore forking action!
16:45 pyrimidine github brings the awesome
16:46 dbolser you and rob are listed now because I can 'add'
16:46 pyrimidine yes, but the problem is it will be for our forks, not the main repo
16:46 dbolser rob don't fork so we've got something to test
16:46 genehack pyrimidine: it's written in ruby, the awesome is just baked in.
16:46 pyrimidine :)
16:46 pyrimidine genehack: agreed
16:47 pyrimidine though I'm less a fan of Rails (maybe b/c of their devs)...
16:47 dbolser yup, you're listed now
16:47 dbolser rob is not
16:47 dbolser you want me to request a fork from you?
16:47 pyrimidine no
16:48 dbolser we should have 'celebrity dev match'
16:48 pyrimidine not needed, I'll probably just delete it
16:48 dbolser you're fork?
16:48 dbolser your fork?
16:48 dbolser just wondered if you wanted to see the result
16:48 pyrimidine yes, no need to keep it if i can commit directly to the main repo
16:48 dbolser of what github is doing
16:49 pyrimidine no, it's a documented github bug
16:49 dbolser can I tweet my commits?
16:49 pyrimidine http://support.github.com/discussions/organi​zation-issues/109-pull-request-organizations
16:49 * dbolser votes
16:49 dbolser The discussion is resolved?
16:50 pyrimidine I think they're in the midst of redesigning it
16:51 dbolser http://github.com/dbolser/biop​erl-live/commits/fix_range_bug
16:51 dbolser ic
16:53 CIA-95 bioperl-live: Dan Bolser master * rb763133 / Bio/RangeI.pm : (log message trimmed)
16:53 CIA-95 bioperl-live: The use of $stop here is inconsistent, using $end.
16:53 CIA-95 bioperl-live: After reading this I accidentally created code like this:
16:53 CIA-95 bioperl-live: my ($start, $end, $strand) =
16:53 CIA-95 bioperl-live:  Bio::Range->union( @ranges );
16:54 CIA-95 bioperl-live: my $newrange =
16:54 CIA-95 bioperl-live:  Bio::Range->new( -name => $chr,
16:54 CIA-95 bioperl-live: Dan Bolser master * ra87db40 / Bio/RangeI.pm :
16:54 CIA-95 bioperl-live: Clarifying the conditions when union & intersection return an object.
16:54 CIA-95 bioperl-live: This wasn't clear at all from the docs, so when I tried pushing the return value
16:54 CIA-95 bioperl-live: onto an array, I was getting confused as to why I was suddenly getting "$start,
16:54 CIA-95 bioperl-live: $end, $strand" results. This lead me to (incorrectly and) unnecessarily
16:54 CIA-95 bioperl-live: re-create the object from the results before pushing them onto an array. I hope
16:54 CIA-95 bioperl-live: my version is now clearer. - http://bit.ly/c2ktmP
16:54 CIA-95 bioperl-live: Dan Bolser master * r638acec / Bio/RangeI.pm :
16:54 CIA-95 bioperl-live: Making return value of intersection consistent when one range is passed.
16:54 pyrimidine ka-BOOM
16:55 deafferret "(log message trimmed)
16:55 deafferret "        -- barely  :)
16:57 pyrimidine the fork queue is def. a lot messier now :)
17:02 deafferret -sigh-   if everyone would just update master we wouldn't have this mess!!     -runs, hides-
17:03 pyrimidine Nice thing is, I have commit to Jun's github repo, so I can do that directly
17:03 * dbolser does the committers dance
17:03 pyrimidine the others, well...
17:05 dbolser pyrimidine: mine is public I think
17:06 dbolser actually, I'm not even sure how intersection is supposed to behave if you pass it a set of ranges
17:12 pyrimidine oh, I see an issue there, didn't realize there is a range test for strandedness
17:12 pyrimidine with intersection()
17:12 pyrimidine oddly, not one for union
17:12 pyrimidine seems inconsisten
17:12 pyrimidine *inconsistent
17:18 pyrimidine dbolser: I don't see how one would easily make changes to intersection w/o having to do a bit of hand-wringing to work around the API
17:19 dbolser right
17:26 pyrimidine to me, makes more sense to divorce the logic of range comparisons away from ranges
17:27 pyrimidine have a module with (possibly exportable) methods to run these
17:42 dbolser yeah, that sounds reasonable
17:43 ank_ joined #bioperl
18:07 ank_ joined #bioperl
18:58 pyrimidine fortran?!? really?
19:03 carandraug joined #bioperl
20:58 kblin joined #bioperl
20:58 kblin joined #bioperl
22:59 dnewkirk joined #bioperl

| Channels | #bioperl index | Today | | Search | Google Search | Plain-Text | summary