Camelia, the Perl 6 bug

IRC log for #bioperl, 2010-06-16

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

All times shown according to UTC.

Time Nick Message
01:10 philsf joined #bioperl
04:14 CIA-94 biome: Chris Fields cleanup_seqfeature * rfb38f7d / (18 files in 7 dirs): get splits working again - http://bit.ly/c0Ybhz
05:53 kblin morning folks
05:55 * deafferret waves
06:08 * kblin wates for dave_messina to wake up
06:08 kblin waits
06:08 kblin dammit
06:08 kblin spelling engine not quite up yet
06:09 * kblin <-- clearly needs more coffee
06:11 deafferret :)
06:14 kblin anyway, off to work, bbl
06:14 kblin but to the question of the rebase reverts: http://www.kernel.org/pub/software/scm/g​it/docs/howto/revert-a-faulty-merge.txt
07:33 roi joined #bioperl
07:34 roi Suppose I have some circular DNA RefSeq in a Genbank format. I would  like to create a new (smaller) Genbank file (both features and sequence)  containing only a range of nucleotides from the original file, but a  range that overlaps the "end". For example, if my original Genbank spans  1,000,000 base (1-1,000,000) I would like to get join(800,000-1,000,000,  1-100,000), so the new Genbank file will actually contain 300,000 bp  from the c
07:35 roi p.s. following vinnana's advice here I used seqret for a simple range extraction, but I do not know if it can also be used to get "complex' range (that spans over the "end" of the circular DNA)
07:41 * kai sighs
07:42 kai some people just don't grok IRC
07:59 kai ahrg, I'm beginning to really dislike the hmmer3 parser
08:57 kai screw this, I'll start a new one from scratch
09:15 XaeroOne joined #bioperl
10:11 faceface kai: he waited 7 whole minutes!
10:12 faceface perhaps he already got a reply from an email within that time
10:18 kai true
10:39 * kai goes back to messing with hardware
10:41 faceface hmmer3 chips?
10:58 kai nah
10:58 kai we just got a new HPC system that's a bit defect on arrival
12:20 jinid joined #bioperl
12:48 brandi joined #bioperl
12:48 brandi left #bioperl
13:08 fade_ joined #bioperl
13:08 fade_ hi
13:09 fade_ i would like to know if someone has a perl script that could calculate the GC content of 1Mb genomic region surroundinga SNP position
13:10 fade_ well, surrounding a list of SNP positions to be more precise (500kb in eachside)
13:13 kai no, but this doesn't sound too hard
13:23 kai whoa, crap
13:23 kai no wonder I'm confused
13:24 kai this parser uses both a @hitinfo array and a %hitinfo hash
13:24 kai I didn't even realize that was allowed in perl
13:53 faceface kay $hitinfo != $hitinfo[0]
14:01 Jun joined #bioperl
14:03 kai now the $info = @{ $hitinfo[ $hitinfo{$name} ] }; lines make a bit more sense
14:03 kai it's still very painful to read, though
14:05 CIA-94 biome: Chris Fields cleanup_seqfeature * r3f2a731 / (12 files in 11 dirs): some more conversions Segment->Location wise, all but one test passing - http://bit.ly/dj6V1J
14:05 CIA-94 biome: Chris Fields cleanup_seqfeature * rd20144d / (8 files in 5 dirs): all tests pass - http://bit.ly/9rwaeV
14:08 CIA-94 biome: Chris Fields master * rd20144d / (8 files in 5 dirs): all tests pass (+12 more commits...) - http://bit.ly/9rwaeV
14:17 kai this silly parser is too clever for me :/
14:37 kai yay, all tests pass again :)
15:07 * kai goes to add more tests
15:08 CIA-94 biome: Chris Fields master * rbdf31e7 / (6 files in 2 dirs): add TODO related to Issue just filed - http://bit.ly/cUci8c
15:57 Jun Hi, got a stupid question. What are the uses of the different branches in my online repo?
16:01 kblin Jun: what's your repo again? :)
16:03 Jun git://github.com/yinjun111/bioperl-live.git
16:04 Jun Or http://github.com/yinjun111/bioperl-live
16:05 Jun I think my own work is in the master branch... but what are the uses of the other branches???
16:07 deafferret .o.
16:07 deafferret Jun: Each branch has its own purpose. A branch is where you put unstable code that's not ready for master yet
16:08 deafferret but you're on you're own repo, which is also fine
16:08 kblin Jun: ah, you got them when you forked the bioperl-live repo
16:09 kblin Jun: you could remove them from your fork, but I'd just ignore them if I were you
16:09 Jun ok, can I create different branches on my online repo?
16:09 deafferret sure.   git checkout -b topic/jun-fixingfoo
16:12 Jun but the command will only generate a branch in my local repo...
16:14 deafferret yup. then when you push it shows up in the other repo
16:16 Jun I pushed, but it didnot show...
16:19 Jun Ok, it shows now... Cheers
16:19 deafferret :)
16:22 deafferret rbuels: print $vacation->location;
16:23 deafferret rbuels: print $vacation->summary(boring => 0);
16:24 deafferret rbuels: what channel-defacing animal did you bring back this time?
16:26 pyrimidine joined #bioperl
16:26 deafferret o7
16:27 kblin hey pyrimidine
16:27 pyrimidine o/
16:27 kblin I've got my hmmer3 parser to correctly parse hmmsearch results without alignments as well :)
16:28 pyrimidine kblin: nice!
16:28 kblin I still need to add a test with multiple Hsps per Hit, but I need to find a result file for that first
16:28 deafferret kblin++
16:29 pyrimidine IIRC hits/HSPs were a little odd with HMMER parsing
16:30 pyrimidine Sendu posted something on the list about this a few years ago
16:30 pyrimidine around the time he developed the lazy parsers
16:30 pyrimidine oooh, new Moose
16:30 pyrimidine (1.08)
16:30 kblin well, the thing that cost me a couple of days was the fact that the code uses both @hitinfo and %hitinfo, and I didn't know that was allowed in perl
16:31 kblin so reading the code thinking $hitinfo... was all the same thing confused the heck out of me
16:31 deafferret sure, $foo @foo and %foo are entirely independent
16:31 deafferret @foo and $foo[0] are related however
16:31 deafferret as are %foo and $foo{0}
16:31 pyrimidine yep, you can do $foo, @foo, %foo, sub foo {}, etc
16:32 kblin and today I finally realized that sometimes this was $hitinfo[$value] and sometimes it was $hitinfo{$value}
16:32 * pyrimidine installing moose, seeing if biome will blow up
16:32 deafferret even open FOO   (but don't do that any more -wink-)
16:33 pyrimidine that's just bad coding style
16:33 deafferret $foo[0] is the 0th element of array @foo.   $foo{0} is the value of hash %foo associated to key '0'
16:33 kblin yeah
16:33 pyrimidine (IMHO :)
16:33 deafferret $foo could be anything. $foo is not related to @foo or %foo
16:34 pyrimidine right, but the confusion of $foo vs $foo[0] (array elem) vs $foo{foo} (hash elem) is one of the biggest complaints in perl
16:35 pyrimidine so much so, sigils will not vary in perl 6
16:35 kblin but http://pastey.net/137746 doesn't get any easier to read if you don't realize this is possible :)
16:35 deafferret pyrimidine: all of that is different in perl6?
16:35 pyrimidine well, there is also the fact that the array index is being stored as the value in a hash, keyed by it's name
16:36 kblin bbiab
16:36 pyrimidine seems kinda wonky
16:36 pyrimidine *separate hash
16:37 deafferret $hitinfo[ $hitinfo{$name} ]   is not for the new Perl soul
16:37 deafferret that's Perl 102.  :)
16:38 pyrimidine ugh, and deref-ing the arrayref (with an error if it is false), but placing it in another arrayref
16:39 pyrimidine [@{$foo[$foo{$name}] || die "What am I doing"}]
16:40 deafferret yikes. that's too evil, even for me  :(
16:40 pyrimidine well, it doesn't make sense
16:40 pyrimidine seems very brittle to me, kinda duct-taped until it worked
16:41 * deafferret boos
16:42 * pyrimidine thinks that the 'it just works' attitude is okay, until it doesn't work anymore
16:42 pyrimidine :)
16:42 deafferret negative. If people can't read the code it should be refactored
16:42 pyrimidine right
16:42 pyrimidine deafferret++
16:43 pyrimidine that attitude actually causes more problems than it's worth
16:50 pyrimidine more like this:
16:50 pyrimidine http://pastey.net/137749
16:51 pyrimidine (of course, with all caveats 'code hasn't been tested, blah blah blah')
16:53 * deafferret would need more context to be comfortable with that snippet. better than the first tho  :)
16:53 pyrimidine I think anything would be better
16:53 pyrimidine an if-else would be even better
16:55 kblin well, I think I fixed in any case
16:56 kblin tom sharpton just copied that from the hmmer.pm parser
16:57 * pyrimidine should use blame to find out who wrote that
16:57 kblin I guess it's worth refactoring both files
16:58 kblin maybe when we merge them :)
17:00 pyrimidine gah, my perltidy commit clobbered the blame.  meh, not worth it
17:00 kblin hehe
17:02 pyrimidine ah, steve did it, waaaaaay back.
17:03 pyrimidine probably worth refactoring, if you have time, but it may be more trouble than it's worth
17:03 pyrimidine depends on how much time it takes
17:05 * deafferret shakes his fist at steve
17:06 pyrimidine we all evolve in the way we code.  sometimes our older code doesn't catch up.
17:06 kblin yeah, I'm currently a bit short on time
17:07 kblin but I can spend some more time on adding some tests to the hmmer3 parser, if that helps getting it into mainline
17:10 pyrimidine tests are more important
17:21 CIA-94 biome: Chris Fields master * r0081e62 / (5 files in 3 dirs): stacking of roles works - http://bit.ly/cnu4Tm
17:52 brandi1 joined #bioperl
17:53 brandi1 left #bioperl
17:53 * deafferret blinks
17:53 deafferret oh, /biome.   right   :)
17:54 deafferret bioperl-live has Roles????  :)
17:54 deafferret pyrimidine: so when can I stop patching bioperl-live and start pathing biome instead?
17:54 deafferret or patching it for that matter?  ;)
18:28 pyrimidine oh, you can jump into it at any point, it's pre-alpha
18:28 pyrimidine deafferret: ^^
18:30 deafferret is /biome doomed if perl6 comes out?
18:31 pyrimidine not unless perl6 has preoptimized for performance, which I dont think is the case
18:31 pyrimidine it's still pretty slow
18:32 deafferret if /biome API-compatible w/ bioperl-live?
18:32 deafferret is
18:32 pyrimidine no
18:32 pyrimidine intentionally so
18:32 * deafferret blinks. wonders which sandbox he should play in
18:35 * deafferret will try to use Biome instead of Bio for $next_project
18:35 deafferret deafferret: I don't know why. stop asking.
18:35 deafferret deafferret: drink some beer and relax
18:35 deafferret deafferret: weirdo
18:36 deafferret pyrimidine: deafferret CAN HAZ COMAINT?
18:43 deafferret pyrimidine: biome: WARNING: missing from your kit: t/Role.t
18:43 deafferret (perl Build.PL)
18:44 deafferret pyrimidine: add dep Modern::Perl
18:45 deafferret 1019 tests PASS    :)
18:47 * deafferret discovers biome/issues
18:53 deafferret Biome++ # will attempt to use $next_project    :)   pyrimidine++
18:54 CIA-52 joined #bioperl
19:16 pyrimidine deafferret: you are now a collab on biome
19:16 pyrimidine (sorry about the warnocking, stepped away for coffee)
19:19 CIA-52 biome: Chris Fields master * rc47eb27 / (Build.PL MANIFEST): update MANIFEST, add Modern::Perl to Build.PL - http://bit.ly/bowo2I
19:21 pyrimidine deafferret: that closed both your Issues.
19:23 deafferret pyrimidine: mental and financial?
19:23 deafferret marital and motivational?
19:23 pyrimidine :)
19:23 deafferret gastronomical and existential?
19:23 deafferret CAN HAZ COMAINT?
19:24 deafferret :)
19:24 * deafferret whispers sweet nothings to pyrimidine
19:24 pyrimidine sure
19:25 pyrimidine added you as collab, anything else I would need to do?
19:26 pyrimidine deafferret: what min perl version should we allow?  Right now it's 5.10.  Could make it 5.12 if needed.
19:26 deafferret pyrimidine: repent?
19:27 pyrimidine I'm always repenting
19:27 deafferret I'd keep the prereq as low as your fanciness allows
19:27 deafferret personally, I'm jumping from 5.8.8 to 5.12.1 at @work  -shrug-
19:28 pyrimidine 5.10 is fine, then.  I just like yada yada for unimplemented stuff
19:28 pyrimidine that's 5.12 only
19:28 deafferret if it's an advantage, bump it and go
19:28 deafferret hell, use all the shiny
19:28 pyrimidine okay then
19:28 deafferret this is "the cutting edge version of bioperl-live" anyway  :)
19:28 deafferret ... i guess ... or not   ignore me  :)
19:29 deafferret Moose embracers are typically latest-perl embracers in my experience
19:29 CIA-52 biome: Chris Fields master * r6c692c5 / Build.PL : bump min perl version to 5.12 - http://bit.ly/a6pLTs
19:29 deafferret so you might as well let your freak flag fly
19:29 deafferret 5.12.2!   :o)
19:29 * pyrimidine flying my freak flag
19:29 pyrimidine is 5.12.2 even out?
19:30 deafferret not yet  :)
19:30 deafferret that'd teach CPAN testers a thing or two  :)
19:30 pyrimidine I've heard August
19:30 pyrimidine well, we have to get this up on CPAN first :)
19:30 deafferret why isn't it bioperl/biome  ?
19:31 pyrimidine I started it out on my own, but I'll probably push it there for others to work on
19:31 pyrimidine easy enough to do
19:31 * deafferret nods    just curious
19:32 deafferret $biome_user[1] eq "jhannah" ?
19:32 deafferret not that I'm actually using it yet, but it's officially in my toolbox now
19:33 deafferret man, I'm typey today.
19:33 deafferret code review (2003 vs 2010) makes the mind wander
19:33 deafferret apparently
19:34 pyrimidine three of us so far: myself, you, Siddhartha Basu
19:35 pyrimidine simple stuff, really
19:35 pyrimidine use Biome; # instead of use Moose;
19:35 pyrimidine use Biome::Role; # instead of use Moose::Role;
19:35 pyrimidine everything else is the same
19:36 pyrimidine I did add sugar in there to convert bioperl-y named args to something more Moose friendly ('-foo => $val' to
19:36 pyrimidine 'foo => $val)
19:37 pyrimidine some exception handling sugar
19:41 * deafferret has never liked the -
19:41 pyrimidine yeah, me either, but I know why they use it
19:41 deafferret i was surprised I couldn't find a .t that loads a Bio/SeqIO/ensemb and checks the dna, alphabet. that's where I was going to start
19:42 pyrimidine go for it
19:42 pyrimidine much of the work has been getting the classes/roles up first
19:42 deafferret if I knew how  :)   sorry, the first steps prob the slowest  :)
19:43 deafferret plus this stupid hotel company doesn't want to pay me to improve the Perl biology footprint for some reason   :)
19:43 pyrimidine heh
19:43 pyrimidine I work for a genomics theme and they don't necessarily want me doing that, either
19:43 pyrimidine ah well
19:50 CIA-52 biome: Chris Fields master * r6c6142d / (t/Meta/Role/StackedRole.t t/lib/MyRole1.pm t/lib/MyRole2.pm): minimal test for how stacked roles are implememted - http://bit.ly/bEWvE1
20:03 brandi joined #bioperl
20:03 brandi left #bioperl
22:13 dnewkirk_ joined #bioperl
23:13 CIA-52 biome: Jay Hannah master * rb78be30 / MANIFEST : These were factored away. - http://bit.ly/aPeKqC
23:15 deafferret IM IN YUR BIOMES
23:17 dnewkirk_ The read densities from deep sequencing are improving so rapidly; in a few months they've doubled to 25k per lane...
23:18 dnewkirk_ wrong window, sorry
23:18 deafferret :)  what channel was that supposed to be?
23:20 deafferret dnewkirk_: ^
23:20 dnewkirk_ Google wave actually, so wrong app even :/
23:20 deafferret ha  :)
23:22 deafferret py[TAB]: ack skips MANIFEST by default, so I missed it   :)

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