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
From jan.aerts at bbsrc.ac.uk Wed Nov 8 14: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 15: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 15: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 09: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 15: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 09: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 09: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 11: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 05: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 23: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 08: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 Tue Nov 28 00: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 Tue Nov 28 02: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 06: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 06: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 Tue Nov 28 01: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