From jan.aerts at bbsrc.ac.uk Wed Nov 8 09:20:08 2006 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Wed, 8 Nov 2006 14:20:08 -0000 Subject: [BioRuby] spidey parser Message-ID: <84DA9D8AC9B05F4B889E7C70238CB451030DB24F@rie2ksrv1.ri.bbsrc.ac.uk> All, I'm trying to use the spidey parser (Bio::Spidey) to find mismatches in the sequence between mRNA and genomic sequence. For example the C/T mismatch at the end of the last line in the snippet below. Exon 3: 46694102-46690011 (gen) 152-4244 (mRNA) TATTTTGCAGATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT |||||||||||||||||||||||||||||||||||||||||||||||||| ATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT V I M V K S H I G S W I L V L ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAACATCA ||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||| ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAATATCA Y R P V D Q Y S N Q N N F V H D C V N I I couldn't find out exactly how to walk through all segments of the alignment and get to the midline. The Bio::Spidey::Report::SegmentPair#initialize method in the bio/appl/spidey/report.rb file mentions that it "is designed to be called from Bio::Spidey::Report::* classes." and that "users shall not call it directly." How can I walk over all segment pairs and access the mRNA and genomic sequences as well as the midline? Many thanks, Dr Jan Aerts Bioinformatics Group Roslin Institute Roslin, Scotland, UK +44 131 527 4200 ---------The obligatory disclaimer-------- The information contained in this e-mail (including any attachments) is confidential and is intended for the use of the addressee only. The opinions expressed within this e-mail (including any attachments) are the opinions of the sender and do not necessarily constitute those of Roslin Institute (Edinburgh) ("the Institute") unless specifically stated by a sender who is duly authorised to do so on behalf of the Institute. From jan.aerts at bbsrc.ac.uk Wed Nov 8 10:15:26 2006 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Wed, 8 Nov 2006 15:15:26 -0000 Subject: [BioRuby] spidey parser In-Reply-To: Message-ID: <84DA9D8AC9B05F4B889E7C70238CB451030DB250@rie2ksrv1.ri.bbsrc.ac.uk> Thanks! Does exactly what I wanted. jan. > -----Original Message----- > From: GOTO Naohisa [mailto:ngoto at gen-info.osaka-u.ac.jp] > Sent: 08 November 2006 15:04 > To: jan aerts (RI) > Cc: bioruby at open-bio.org > Subject: Re: spidey parser > > Hi, > > To get Bio::Spidey::Report::SegmentPair objects, you can use > Bio::Spidey::Report::Hit#each (iterates over each exon > segment pair), Bio::Spidey::Report::Hit#hsps (gets an array > of exon segment pairs), Bio::Spidey::Report::Hit#exons (same > as hsps), or Bio::Spidey::Report::Hit#segmentpairs (gets an > array of all segment pairs including introns) methods. > > small sample code: > -------------------------------------------------- > require 'bio' > > Bio::FlatFile.open('file.spidey') do |ff| > ff.each do |entry| > entry.each do |hit| > p hit.query_def # query=mRNA definition > p hit.target_def # target=genomic sequence definition > hit.each do |hsp| > p hsp.qseq # query=mRNA sequence (with gaps) > p hsp.midline # middle line > p hsp.hseq # hit=genomic sequence (with gaps) > p hsp.aaseqline # amino acid sequence line > end > end > end > end > -------------------------------------------------- > > Thanks, > > Naohisa Goto > ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org Department of > Genome Informatics, Genome Information Research Center, > Research Institute for Microbial Diseases, Osaka University, Japan > > > On Wed, 8 Nov 2006 14:20:08 -0000 > "jan aerts \(RI\)" wrote: > > > All, > > > > I'm trying to use the spidey parser (Bio::Spidey) to find > mismatches > > in the sequence between mRNA and genomic sequence. For > example the C/T > > mismatch at the end of the last line in the snippet below. > > > > > > Exon 3: 46694102-46690011 (gen) 152-4244 (mRNA) > > > > TATTTTGCAGATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT > > |||||||||||||||||||||||||||||||||||||||||||||||||| > > ATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT > > V I M V K S H I G S W I L V L > > > > > > ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAACATCA > > ||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||| > > ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAATATCA > > Y R P V D Q Y S N Q N N F V H D C V N I > > > > I couldn't find out exactly how to walk through all segments of the > > alignment and get to the midline. The > > Bio::Spidey::Report::SegmentPair#initialize method in the > > bio/appl/spidey/report.rb file mentions that it "is designed to be > > called from Bio::Spidey::Report::* classes." and that > "users shall not > > call it directly." > > > > How can I walk over all segment pairs and access the mRNA > and genomic > > sequences as well as the midline? > > > > Many thanks, > > > > Dr Jan Aerts > > Bioinformatics Group > > Roslin Institute > > Roslin, Scotland, UK > > +44 131 527 4200 > > > > ---------The obligatory disclaimer-------- The information > contained > > in this e-mail (including any attachments) is > > confidential and is intended for the use of the addressee > only. The > > opinions expressed within this e-mail (including any > attachments) are > > the opinions of the sender and do not necessarily > constitute those of > > Roslin Institute (Edinburgh) ("the Institute") unless specifically > > stated by a sender who is duly authorised to do so on behalf of the > > Institute. > > > > From ngoto at gen-info.osaka-u.ac.jp Wed Nov 8 10:04:00 2006 From: ngoto at gen-info.osaka-u.ac.jp (GOTO Naohisa) Date: Thu, 9 Nov 2006 00:04:00 +0900 Subject: [BioRuby] spidey parser In-Reply-To: <84DA9D8AC9B05F4B889E7C70238CB451030DB24F@rie2ksrv1.ri.bbsrc.ac.uk> References: <84DA9D8AC9B05F4B889E7C70238CB451030DB24F@rie2ksrv1.ri.bbsrc.ac.uk> Message-ID: <200611081504.kA8F4Eej016089@idns103.gen-info.osaka-u.ac.jp> Hi, To get Bio::Spidey::Report::SegmentPair objects, you can use Bio::Spidey::Report::Hit#each (iterates over each exon segment pair), Bio::Spidey::Report::Hit#hsps (gets an array of exon segment pairs), Bio::Spidey::Report::Hit#exons (same as hsps), or Bio::Spidey::Report::Hit#segmentpairs (gets an array of all segment pairs including introns) methods. small sample code: -------------------------------------------------- require 'bio' Bio::FlatFile.open('file.spidey') do |ff| ff.each do |entry| entry.each do |hit| p hit.query_def # query=mRNA definition p hit.target_def # target=genomic sequence definition hit.each do |hsp| p hsp.qseq # query=mRNA sequence (with gaps) p hsp.midline # middle line p hsp.hseq # hit=genomic sequence (with gaps) p hsp.aaseqline # amino acid sequence line end end end end -------------------------------------------------- Thanks, Naohisa Goto ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org Department of Genome Informatics, Genome Information Research Center, Research Institute for Microbial Diseases, Osaka University, Japan On Wed, 8 Nov 2006 14:20:08 -0000 "jan aerts \(RI\)" wrote: > All, > > I'm trying to use the spidey parser (Bio::Spidey) to find mismatches in > the sequence between mRNA and genomic sequence. For example the C/T > mismatch at the end of the last line in the snippet below. > > > Exon 3: 46694102-46690011 (gen) 152-4244 (mRNA) > > TATTTTGCAGATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT > |||||||||||||||||||||||||||||||||||||||||||||||||| > ATAAGTCATCATGGTGAAAAGCCACATAGGCAGTTGGATCCTGGTTCTCT > V I M V K S H I G S W I L V L > > > ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAACATCA > ||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||| > ACAGGCCAGTGGATCAGTATAGTAACCAGAACAACTTTGTGCATGACTGTGTCAATATCA > Y R P V D Q Y S N Q N N F V H D C V N I > > > I couldn't find out exactly how to walk through all segments of the > alignment and get to the midline. The > Bio::Spidey::Report::SegmentPair#initialize method in the > bio/appl/spidey/report.rb file mentions that it "is designed to be > called from Bio::Spidey::Report::* classes." and that "users shall not > call it directly." > > How can I walk over all segment pairs and access the mRNA and genomic > sequences as well as the midline? > > Many thanks, > > Dr Jan Aerts > Bioinformatics Group > Roslin Institute > Roslin, Scotland, UK > +44 131 527 4200 > > ---------The obligatory disclaimer-------- > The information contained in this e-mail (including any attachments) is > confidential and is intended for the use of the addressee only. The > opinions expressed within this e-mail (including any attachments) are > the opinions of the sender and do not necessarily constitute those of > Roslin Institute (Edinburgh) ("the Institute") unless specifically > stated by a sender who is duly authorised to do so on behalf of the > Institute. > From Yannick.Wurm at unil.ch Thu Nov 23 04:46:35 2006 From: Yannick.Wurm at unil.ch (Yannick Wurm) Date: Thu, 23 Nov 2006 10:46:35 +0100 Subject: [BioRuby] Bio-projects comparison In-Reply-To: References: Message-ID: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> Hi Moses & List, the comparison at http://sciruby.codeforpeople.com/sr.cgi/BioProjects is definitely a great initiative. Thanks also to those that replied about ruby's alternative XML parser. Moses commented: > One thing that bothers me about the open bio software libraries is > that they are all or nothing. That is, > you can download and install all of the pieces of bioperl or bioruby, > or install none of them. [...] > it would be much nicer if I could just install the sequence > manipulation bioruby gem, and then install my restriction site gem of > choice, or vice v In my day-to-day work, I do not want to worry about installing things. Disk space is insanely cheap, so I don't mind having unnecessary extras lying around. What could be interesting is if installation of "non-core" libraries happened auto-magically, without my having to do anything other than confirm. For example: add the "require XXX" line to your code. Run your script --> ruby figures out its missing somethings, finds out where to get it, confirms that you want to install it, does, and your code runs. Cheers, yannick -------------------------------------------- yannick . wurm @ unil . ch Ant Genomics, Ecology & Evolution @ Lausanne http://www.unil.ch/dee/page28685_fr.html From jan.aerts at bbsrc.ac.uk Wed Nov 22 10:43:20 2006 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Wed, 22 Nov 2006 15:43:20 -0000 Subject: [BioRuby] addition of graphics classes Message-ID: <84DA9D8AC9B05F4B889E7C70238CB45104FB0FEC@rie2ksrv1.ri.bbsrc.ac.uk> Hi all, I've been hacking away to create two classes that allow for visualizing mapping data: ------------------------ Bio::Map::ComparativeMap ------------------------ The first class Bio::Map::ComparativeMap makes it possible to show the relationship between different maps that have markers in common. As a result, different maps for the same chromosome (e.g. two different linkage maps and a radiation hybrid map) can be compared easily. A usage example is available in the documentation (see attachment graphics_docs.tar.gz). The SVG of this particular example looks like the one in the attached screencast (screencast_comparative_map.html). As the display can get cluttered if more than 2 maps have to be displayed and there are common markers between any two maps, some javascript is used to make the maps draggable by the user. ------------- Bio::Graphics ------------- In addition to the Bio::Map::ComparativeMap above, I've created a class to visualize features on a map, akin to BioPerl's Bio::Graphics module. It basically works by creating a panel that contains tracks with features. At the moment, features can be drawn as boxes, directed-boxes or triangles. An example is added in attachment (output.png; mind that the quality went way down when converting from the original SVG). At the moment, the following classes exist: Bio::Graphics::Panel Bio::Graphics::Panel::Scale Bio::Graphics::Panel::Track Bio::Graphics::Panel::Track::Feature Visualizing anything else than features on a linear map is not available (yet?). My questions are: * Would you like me to commit them to bioruby? * If so: what about naming. Any better suggestions than the two above? I might move ComparativeMap to Bio::Graphics, as it does nothing more than drawing things (Bio::Graphics::ComparativeMap?). Documentation for both modules is also attached (graphics_docs.tar.gz). Sorry for all those attachments... If you have problems opening any of them, please let me know. Looking forward to your comments. Dr Jan Aerts Bioinformatics Group Roslin Institute Roslin, Scotland, UK +44 131 527 4200 ---------The obligatory disclaimer-------- The information contained in this e-mail (including any attachments) is confidential and is intended for the use of the addressee only. The opinions expressed within this e-mail (including any attachments) are the opinions of the sender and do not necessarily constitute those of Roslin Institute (Edinburgh) ("the Institute") unless specifically stated by a sender who is duly authorised to do so on behalf of the Institute. From jan.aerts at bbsrc.ac.uk Fri Nov 24 04:07:10 2006 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Fri, 24 Nov 2006 09:07:10 -0000 Subject: [BioRuby] missing attachments for Bio::Graphics Message-ID: <84DA9D8AC9B05F4B889E7C70238CB45104FB0FFE@rie2ksrv1.ri.bbsrc.ac.uk> All, Apparently, the attachments have been lost after posting to the list. I've attached two of them again. The third one is too big and I've contacted mailing list support to see if I can get it on there. Apologies. Dr Jan Aerts Bioinformatics Group Roslin Institute Roslin, Scotland, UK +44 131 527 4200 ---------The obligatory disclaimer-------- The information contained in this e-mail (including any attachments) is confidential and is intended for the use of the addressee only. The opinions expressed within this e-mail (including any attachments) are the opinions of the sender and do not necessarily constitute those of Roslin Institute (Edinburgh) ("the Institute") unless specifically stated by a sender who is duly authorised to do so on behalf of the Institute. From morten at binf.ku.dk Fri Nov 24 04:03:07 2006 From: morten at binf.ku.dk (Morten Lindow) Date: Fri, 24 Nov 2006 10:03:07 +0100 Subject: [BioRuby] addition of graphics classes In-Reply-To: <84DA9D8AC9B05F4B889E7C70238CB45104FB0FEC@rie2ksrv1.ri.bbsrc.ac.uk> References: <84DA9D8AC9B05F4B889E7C70238CB45104FB0FEC@rie2ksrv1.ri.bbsrc.ac.uk> Message-ID: <188a160d0611240103q4b4f01b1g31a2093a6cc3926f@mail.gmail.com> Hi Jan, It sounds really great with graphics capabilities for for bioruby. The lack of that was one of the main reasons I am still stuck with perl. I will be looking forward to trying them and definitely think you should commit them. However, the mailman seems to have removed your attached files - could you post a link or something to them? Thanks! Morten -- Morten Lindow, Bioinformatics Centre University of Copenhagen http://binf.ku.dk/User:Morten office: +45 3532 1282; mobile: +45 2849 9682 From jan.aerts at bbsrc.ac.uk Fri Nov 24 06:46:17 2006 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Fri, 24 Nov 2006 11:46:17 -0000 Subject: [BioRuby] addition of graphics classes In-Reply-To: <84DA9D8AC9B05F4B889E7C70238CB45104FB0FEC@rie2ksrv1.ri.bbsrc.ac.uk> Message-ID: <84DA9D8AC9B05F4B889E7C70238CB45104FB100D@rie2ksrv1.ri.bbsrc.ac.uk> As resending the attachments didn't work, I've asked to put them on a webserver. They're now available at: * http://bioinformatics.roslin.ac.uk/hidden/screencast_comparative_map.htm * http://bioinformatics.roslin.ac.uk/hidden/screencast_comparative_map.swf * http://bioinformatics.roslin.ac.uk/hidden/output.png * http://bioinformatics.roslin.ac.uk/hidden/graphics_docs.tar.gz I've also put the actual classes there, so you can test stuff out yourself * http://bioinformatics.roslin.ac.uk/hidden/bio_graphics.tar.gz Prerequisites: * ImageMagick * rmagick gem * svg/svg (from http://raa.ruby-lang.org/project/ruby-svg/) jan. > -----Original Message----- > From: bioruby-bounces at lists.open-bio.org > [mailto:bioruby-bounces at lists.open-bio.org] On Behalf Of jan > aerts (RI) > Sent: 22 November 2006 15:43 > To: bioruby at open-bio.org > Subject: [BioRuby] addition of graphics classes > > Hi all, > > I've been hacking away to create two classes that allow for > visualizing mapping data: > ------------------------ > Bio::Map::ComparativeMap > ------------------------ > ------------- > Bio::Graphics > ------------- From bioprogrammer at gmail.com Sat Nov 25 00:42:49 2006 From: bioprogrammer at gmail.com (Katie Miller) Date: Fri, 24 Nov 2006 22:42:49 -0700 Subject: [BioRuby] Next BioRuby release? Message-ID: Hi all. I was just wondering if a new version of BioRuby was planned for the relatively near future. If so, might we expect some new features? Does BioRuby have a graphics library like BioPerl's Bio::Graphics? Thanks, ~Katie From mmhohman at northwestern.edu Sun Nov 26 18:19:53 2006 From: mmhohman at northwestern.edu (Moses M. Hohman) Date: Sun, 26 Nov 2006 13:19:53 -1000 Subject: [BioRuby] Bio-projects comparison In-Reply-To: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> References: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> Message-ID: Hi Yannick, I should clarify my point: My concern is not about disk space, but rather that I might want to be able to select separately which restriction site library and which sequence manipulation library I wanted to use. With any openbio project currently it's all or nothing, so as a result people are not encouraged to develop a better sequence library, for example (not that I'm complaining specifically about the sequence library, I'm just giving an example). That is, because the sequence manipulation part of bioruby is "already written", no one will write another one. In some ways this is good, because people can just use existing software, but in other ways this slows down the pace of innovation. I would imagine someone could improve on the design of one or two libraries in any of the openbio projects, but people generally don't. It'd be nice to have some kind of way of doing this in bioruby, IMHO, something like plugins in Rails. And, I think this could distinguish bioruby from other openbio projects. Moses On Nov 22, 2006, at 11:46 PM, Yannick Wurm wrote: > Hi Moses & List, > > the comparison at http://sciruby.codeforpeople.com/sr.cgi/BioProjects > is definitely a great initiative. Thanks also to those that replied > about ruby's alternative XML parser. > Moses commented: >> One thing that bothers me about the open bio software libraries is >> that they are all or nothing. That is, >> you can download and install all of the pieces of bioperl or bioruby, >> or install none of them. > [...] >> it would be much nicer if I could just install the sequence >> manipulation bioruby gem, and then install my restriction site gem of >> choice, or vice v > > > In my day-to-day work, I do not want to worry about installing > things. Disk space is insanely cheap, so I don't mind having > unnecessary extras lying around. What could be interesting is if > installation of "non-core" libraries happened auto-magically, without > my having to do anything other than confirm. For example: add the > "require XXX" line to your code. Run your script --> ruby figures out > its missing somethings, finds out where to get it, confirms that you > want to install it, does, and your code runs. > > Cheers, > > yannick > > > -------------------------------------------- > yannick . wurm @ unil . ch > Ant Genomics, Ecology & Evolution @ Lausanne > http://www.unil.ch/dee/page28685_fr.html > > _______________________________________________ > BioRuby mailing list > BioRuby at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/bioruby > From Yannick.Wurm at unil.ch Mon Nov 27 03:31:03 2006 From: Yannick.Wurm at unil.ch (Yannick Wurm) Date: Mon, 27 Nov 2006 09:31:03 +0100 Subject: [BioRuby] Bio-projects comparison In-Reply-To: References: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> Message-ID: Hi MOses, Ok, good point. But how big is the bioruby community anyway? Anybody else using Bioruby in Switzerland? Cheers, Yannick On Nov 27, 2006, at 12:19 AM, Moses M. Hohman wrote: > Hi Yannick, > > I should clarify my point: My concern is not about disk space, but > rather that I might want to be able to select separately which > restriction site library and which sequence manipulation library I > wanted to use. With any openbio project currently it's all or > nothing, so as a result people are not encouraged to develop a > better sequence library, for example (not that I'm complaining > specifically about the sequence library, I'm just giving an > example). That is, because the sequence manipulation part of > bioruby is "already written", no one will write another one. In > some ways this is good, because people can just use existing > software, but in other ways this slows down the pace of innovation. > I would imagine someone could improve on the design of one or two > libraries in any of the openbio projects, but people generally > don't. It'd be nice to have some kind of way of doing this in > bioruby, IMHO, something like plugins in Rails. And, I think this > could distinguish bioruby from other openbio projects. > > Moses > > On Nov 22, 2006, at 11:46 PM, Yannick Wurm wrote: >> >> In my day-to-day work, I do not want to worry about installing >> things. Disk space is insanely cheap, so I don't mind having >> unnecessary extras lying around. What could be interesting is if >> installation of "non-core" libraries happened auto-magically, without >> my having to do anything other than confirm. For example: add the >> "require XXX" line to your code. Run your script --> ruby figures out >> its missing somethings, finds out where to get it, confirms that you >> want to install it, does, and your code runs. >> >> Cheers, >> >> yannick -------------------------------------------- yannick . wurm @ unil . ch Ant Genomics, Ecology & Evolution @ Lausanne http://www.unil.ch/dee/page28685_fr.html From mmhohman at northwestern.edu Mon Nov 27 19:13:53 2006 From: mmhohman at northwestern.edu (Moses M. Hohman) Date: Mon, 27 Nov 2006 16:13:53 -0800 Subject: [BioRuby] Bio-projects comparison In-Reply-To: References: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> Message-ID: Doesn't seem like it's that big, but perhaps that's because there currently isn't really an incentive for most people to switch from bioperl. Beyond that, I think it would be useful even for our small community. I think it would be cool if bioruby could leverage more of what ruby has to offer to build a more compelling platform than bioperl, biopython and biojava offer. Maybe I'm getting ahead of myself, though, and we should just wait on this until someone feels energetic and wants to write an alternative library for something already in bioruby. Moses Nov 27, 2006, at 12:31 AM, Yannick Wurm wrote: > Hi MOses, > > Ok, good point. But how big is the bioruby community anyway? Anybody > else using Bioruby in Switzerland? > > Cheers, > > Yannick > > On Nov 27, 2006, at 12:19 AM, Moses M. Hohman wrote: > >> Hi Yannick, >> >> I should clarify my point: My concern is not about disk space, but >> rather that I might want to be able to select separately which >> restriction site library and which sequence manipulation library I >> wanted to use. With any openbio project currently it's all or >> nothing, so as a result people are not encouraged to develop a >> better sequence library, for example (not that I'm complaining >> specifically about the sequence library, I'm just giving an >> example). That is, because the sequence manipulation part of >> bioruby is "already written", no one will write another one. In >> some ways this is good, because people can just use existing >> software, but in other ways this slows down the pace of innovation. >> I would imagine someone could improve on the design of one or two >> libraries in any of the openbio projects, but people generally >> don't. It'd be nice to have some kind of way of doing this in >> bioruby, IMHO, something like plugins in Rails. And, I think this >> could distinguish bioruby from other openbio projects. >> >> Moses >> >> On Nov 22, 2006, at 11:46 PM, Yannick Wurm wrote: >>> >>> In my day-to-day work, I do not want to worry about installing >>> things. Disk space is insanely cheap, so I don't mind having >>> unnecessary extras lying around. What could be interesting is if >>> installation of "non-core" libraries happened auto-magically, >>> without >>> my having to do anything other than confirm. For example: add the >>> "require XXX" line to your code. Run your script --> ruby figures >>> out >>> its missing somethings, finds out where to get it, confirms that you >>> want to install it, does, and your code runs. >>> >>> Cheers, >>> >>> yannick > > -------------------------------------------- > yannick . wurm @ unil . ch > Ant Genomics, Ecology & Evolution @ Lausanne > http://www.unil.ch/dee/page28685_fr.html > > _______________________________________________ > BioRuby mailing list > BioRuby at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/bioruby > From mmhohman at northwestern.edu Mon Nov 27 21:51:20 2006 From: mmhohman at northwestern.edu (Moses M. Hohman) Date: Mon, 27 Nov 2006 18:51:20 -0800 Subject: [BioRuby] Bio-projects comparison In-Reply-To: <2CAE8B19-B094-480F-9AC0-C20EBFBCBFAD@kuicr.kyoto-u.ac.jp> References: <2CAE8B19-B094-480F-9AC0-C20EBFBCBFAD@kuicr.kyoto-u.ac.jp> Message-ID: <8BEF8C5E-7B6B-4848-A481-72E1D622167F@northwestern.edu> Hi Alex, Thanks for your thoughtful reply. Ruby's open class definitions are certainly helpful. I think you've made me realize (even more) that I'm not sure what exactly it is I'm proposing. I'll shut up about it until I've thought about it more thoroughly and have a concrete suggestion. I certainly understand the allure of being able to install the kitchen sink and not worry about the details. I guess I'd say make that path easy, but allow people to get around it if they want to (which is what you're saying, too, if I understand you). Anyway, I'll think about it some more : ) Moses On Nov 27, 2006, at 5:25 PM, Alex Gutteridge wrote: >> I should clarify my point: My concern is not about disk space, but >> rather that I might want to be able to select separately which >> restriction site library and which sequence manipulation library I >> wanted to use. With any openbio project currently it's all or >> nothing, so as a result people are not encouraged to develop a better >> sequence library, for example (not that I'm complaining specifically >> about the sequence library, I'm just giving an example). That is, >> because the sequence manipulation part of bioruby is "already >> written", no one will write another one. In some ways this is good, >> because people can just use existing software, but in other ways this >> slows down the pace of innovation. I would imagine someone could >> improve on the design of one or two libraries in any of the openbio >> projects, but people generally don't. It'd be nice to have some kind >> of way of doing this in bioruby, IMHO, something like plugins in >> Rails. And, I think this could distinguish bioruby from other openbio >> projects. > > I'm not sure if you're saying there is a psychological barrier to > writing new/replacement BioRuby libraries, or a technical one. > Perhaps I am misunderstanding you, but there is nothing stopping > someone writing a Bio::Sequence (as an example) replacement - > either as a separate class (e.g. Bio::NewSequence), by resetting > the whole Bio::Sequence class, or just redefine individual > Bio::Sequence methods on the fly: > > [alexg at powerbook]/Users/alexg(10): irb -r bio > irb(main):001:0> module Bio; class Sequence; def to_s > irb(main):002:3> 'foo' > irb(main):003:3> end; end; end > => nil > irb(main):004:0> bar = Bio::Sequence.new('BAR') > => "BAR" > irb(main):005:0> bar.to_s > => "foo" > > It can't be made much more plug-in-able than that. > > If you're talking about a psychological barrier to writing > replacement libraries then I'd have to disagree. Anyone with the > skills to write a new Bio::Sequence class wouldn't/shouldn't be put > off by the fact that there's already one out there. Allowing people > to pick and choose modules to download just makes the process more > complicated for new users. If I've never used BioRuby before, how > do I know whether to get Bio::Sequence or Bio::NewSequence? > > Dr Alex Gutteridge > Post-Doctoral Researcher > > Bioinformatics Center > Institute for Chemical Research > Kyoto University > Gokasho, Uji, Kyoto 611-0011 > Japan > > > From pjotr2006 at thebird.nl Tue Nov 28 01:18:04 2006 From: pjotr2006 at thebird.nl (Pjotr Prins) Date: Tue, 28 Nov 2006 07:18:04 +0100 Subject: [BioRuby] Bio-projects comparison In-Reply-To: <8BEF8C5E-7B6B-4848-A481-72E1D622167F@northwestern.edu> References: <2CAE8B19-B094-480F-9AC0-C20EBFBCBFAD@kuicr.kyoto-u.ac.jp> <8BEF8C5E-7B6B-4848-A481-72E1D622167F@northwestern.edu> Message-ID: <20061128061804.GB25201@thebird.nl> Hi Moses, What you are saying is that you a clear way of providing interfaces for a more plug-and-play like environment. In other words with clearly defined interfaces it should be straightforward to replace an implementation. With an 'open' language like Ruby you'd have to have a way to test these interfaces and their implementations. Ruby has some support (protected methods, introspection), but is also open to abuse of interfaces. But the real problem is sloppy programming and moving targets. For BioRuby it would make sense to create an 'API' with a well defined interface for the stable part of the libary. These interfaces could then be loaded through factories providing the mechanism you are looking for. Replacing a subset of the library would be trivial. The default behaviour or BioRuby can be transparent. The ZOPE3 people provide such an interface mechanism for Python (which is worse since it is a lot more 'open' than Ruby). They required that for provide a true component architecture for ZOPE3. It is interesting to study that. Pj. On Mon, Nov 27, 2006 at 06:51:20PM -0800, Moses M. Hohman wrote: > Hi Alex, > > Thanks for your thoughtful reply. Ruby's open class definitions are > certainly helpful. I think you've made me realize (even more) that > I'm not sure what exactly it is I'm proposing. I'll shut up about it > until I've thought about it more thoroughly and have a concrete > suggestion. > > I certainly understand the allure of being able to install the > kitchen sink and not worry about the details. I guess I'd say make > that path easy, but allow people to get around it if they want to > (which is what you're saying, too, if I understand you). Anyway, I'll > think about it some more : ) > > Moses > > On Nov 27, 2006, at 5:25 PM, Alex Gutteridge wrote: > > >> I should clarify my point: My concern is not about disk space, but > >> rather that I might want to be able to select separately which > >> restriction site library and which sequence manipulation library I > >> wanted to use. With any openbio project currently it's all or > >> nothing, so as a result people are not encouraged to develop a better > >> sequence library, for example (not that I'm complaining specifically > >> about the sequence library, I'm just giving an example). That is, > >> because the sequence manipulation part of bioruby is "already > >> written", no one will write another one. In some ways this is good, > >> because people can just use existing software, but in other ways this > >> slows down the pace of innovation. I would imagine someone could > >> improve on the design of one or two libraries in any of the openbio > >> projects, but people generally don't. It'd be nice to have some kind > >> of way of doing this in bioruby, IMHO, something like plugins in > >> Rails. And, I think this could distinguish bioruby from other openbio > >> projects. > > > > I'm not sure if you're saying there is a psychological barrier to > > writing new/replacement BioRuby libraries, or a technical one. > > Perhaps I am misunderstanding you, but there is nothing stopping > > someone writing a Bio::Sequence (as an example) replacement - > > either as a separate class (e.g. Bio::NewSequence), by resetting > > the whole Bio::Sequence class, or just redefine individual > > Bio::Sequence methods on the fly: > > > > [alexg at powerbook]/Users/alexg(10): irb -r bio > > irb(main):001:0> module Bio; class Sequence; def to_s > > irb(main):002:3> 'foo' > > irb(main):003:3> end; end; end > > => nil > > irb(main):004:0> bar = Bio::Sequence.new('BAR') > > => "BAR" > > irb(main):005:0> bar.to_s > > => "foo" > > > > It can't be made much more plug-in-able than that. > > > > If you're talking about a psychological barrier to writing > > replacement libraries then I'd have to disagree. Anyone with the > > skills to write a new Bio::Sequence class wouldn't/shouldn't be put > > off by the fact that there's already one out there. Allowing people > > to pick and choose modules to download just makes the process more > > complicated for new users. If I've never used BioRuby before, how > > do I know whether to get Bio::Sequence or Bio::NewSequence? > > > > Dr Alex Gutteridge > > Post-Doctoral Researcher > > > > Bioinformatics Center > > Institute for Chemical Research > > Kyoto University > > Gokasho, Uji, Kyoto 611-0011 > > Japan > > > > > > > > _______________________________________________ > BioRuby mailing list > BioRuby at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/bioruby From pjotr2006 at thebird.nl Tue Nov 28 01:04:54 2006 From: pjotr2006 at thebird.nl (Pjotr Prins) Date: Tue, 28 Nov 2006 07:04:54 +0100 Subject: [BioRuby] Bio-projects comparison In-Reply-To: References: <2AA0E4B7-9F00-434B-97A9-D12062F5D7A8@unil.ch> Message-ID: <20061128060454.GA25201@thebird.nl> On Mon, Nov 27, 2006 at 04:13:53PM -0800, Moses M. Hohman wrote: > community. I think it would be cool if bioruby could leverage more of > what ruby has to offer to build a more compelling platform than > bioperl, biopython and biojava offer. A few years ago I wrote that it would be a good idea to be able to call into the BioPerl or BioPython libraries from Ruby. That would leverage existing technology strengthened by Ruby and what is implemented in BioRuby. This can actually be done by firing up a Perl XML/RPC or SOAP server from Ruby with a dedicated BioPerl adapter. When certain functionality from the other BioProducts proves to be popular and the mapping a bottleneck (speed and memory use will be significant) it provides a clear incentive to implement it in pure Ruby. I think it will help people move to BioRuby from the other Bio projects once they realise they get the same functionality, but with a nicer (read more productive) language. It should be reasonably straightforward to do this. What you need is some Perl support (going for BioPerl first) to respond to invocation with a new listener. Next you need some Perl introspection to expose mappings (automatically). Then you need to tell the Ruby client how to access these classes/methods. If it is really clear how to provide these mappings you can leave it to others to implement them. It would be pleasing to can tick all the boxes for BioRuby in http://sciruby.codeforpeople.com/sr.cgi/BioProjectsTable Pj. From alexg at kuicr.kyoto-u.ac.jp Mon Nov 27 20:25:38 2006 From: alexg at kuicr.kyoto-u.ac.jp (Alex Gutteridge) Date: Tue, 28 Nov 2006 10:25:38 +0900 Subject: [BioRuby] Bio-projects comparison Message-ID: <2CAE8B19-B094-480F-9AC0-C20EBFBCBFAD@kuicr.kyoto-u.ac.jp> > I should clarify my point: My concern is not about disk space, but > rather that I might want to be able to select separately which > restriction site library and which sequence manipulation library I > wanted to use. With any openbio project currently it's all or > nothing, so as a result people are not encouraged to develop a better > sequence library, for example (not that I'm complaining specifically > about the sequence library, I'm just giving an example). That is, > because the sequence manipulation part of bioruby is "already > written", no one will write another one. In some ways this is good, > because people can just use existing software, but in other ways this > slows down the pace of innovation. I would imagine someone could > improve on the design of one or two libraries in any of the openbio > projects, but people generally don't. It'd be nice to have some kind > of way of doing this in bioruby, IMHO, something like plugins in > Rails. And, I think this could distinguish bioruby from other openbio > projects. I'm not sure if you're saying there is a psychological barrier to writing new/replacement BioRuby libraries, or a technical one. Perhaps I am misunderstanding you, but there is nothing stopping someone writing a Bio::Sequence (as an example) replacement - either as a separate class (e.g. Bio::NewSequence), by resetting the whole Bio::Sequence class, or just redefine individual Bio::Sequence methods on the fly: [alexg at powerbook]/Users/alexg(10): irb -r bio irb(main):001:0> module Bio; class Sequence; def to_s irb(main):002:3> 'foo' irb(main):003:3> end; end; end => nil irb(main):004:0> bar = Bio::Sequence.new('BAR') => "BAR" irb(main):005:0> bar.to_s => "foo" It can't be made much more plug-in-able than that. If you're talking about a psychological barrier to writing replacement libraries then I'd have to disagree. Anyone with the skills to write a new Bio::Sequence class wouldn't/shouldn't be put off by the fact that there's already one out there. Allowing people to pick and choose modules to download just makes the process more complicated for new users. If I've never used BioRuby before, how do I know whether to get Bio::Sequence or Bio::NewSequence? Dr Alex Gutteridge Post-Doctoral Researcher Bioinformatics Center Institute for Chemical Research Kyoto University Gokasho, Uji, Kyoto 611-0011 Japan