Bioconductor Digest, Vol 66, Issue 2 Message 7 (apologies; long and veering off topic)
1
0
Entering edit mode
Ross Lazarus ▴ 90
@ross-lazarus-1871
Last seen 10.2 years ago
>> Message: 7 Date: Fri, 01 Aug 2008 15:52:22 -0400 From: "Deanne >> Taylor" <dtaylor at="" hsph.harvard.edu=""> Subject: [BioC] Is anyone >> developing an extensible Galaxy-like interface for Bioconductor? To: >> <bioconductor at="" stat.math.ethz.ch=""> Message-ID: >> <48933135.2DE5.00B2.0 at hsph.harvard.edu> Content-Type: text/plain; >> charset=US-ASCII >> >> Dear all: >> >> Iis anyone aware of any projects creating an extensible platform >> that can act as an interface to Bioconductor that could be used to >> deliver Bioconductor methods to non-command-line-using users? >> <disclosure> I'm a galaxy developer so my views are probably biased </disclosure> Why not just use Galaxy to wrap the BioC packages? It will do what you need and probably a lot more. <potentially veering="" off="" topic=""> For those not yet aware, Galaxy (http://g2.trac.bx.psu.edu/) is an open-source framework for wrapping executables into a web application with workflows, persistent histories, transparent connections to popular annotation and data resources (BioMart/ucsc..) and a growing toolbox of applications - all of which completely insulate users from command lines. Galaxy started out with a focus on evolutionary biology and that's what's available at the main Galaxy site, but as a generic platform for a computational workspace, it is easy to reconfigure for your own requirements if you checkout the source and run it locally - which you need to do for IRB protected data of course. IMHO, Galaxy histories (persistent, shareable user workspaces containing complete records of all data, annotation, transformations and analyses) are one of the really important things it offers. Another strength is that it is completely agnostic to the actual plugin executable - anything that can run on the backend (potentially, a torque/SGE cluster) - java, R, C++ or heaven help us COBOL- as long as it takes parameters and is non-interactive - which means R scripts need to be written to take CL parameters rather than run in the interactive interpreter environment. You can checkout a working copy of Galaxy to your linux box or mac (see http://g2.trac.bx.psu.edu/wiki/HowToInstall). With your own copy, follow the tutorial on adding a new (ugh, perl) tool at http://g2.trac.bx.psu.edu/wiki/AddToolTutorial Changing from perl to an R script wrapping a BioConductor package will require the following steps: 1) figure out exactly what package functions/analyses/transformation the tool will wrap and thus, what inputs, outputs and parameter settings you want the user to control; 2) write and test an R wrapper for the package which takes those parameters on the command line (must be non-interactive), reads it's inputs from files named on the command line, and writes it's outputs to files named on the command line; 3) provide the interface descriptor as XML which Galaxy uses to construct the right command line (including those inputs and outputs) for the plugin executable and the web form for the user to set the parameters which will be supplied to the executable (this is what you will probably need help with initially - the source distribution contains a lot of useful examples and the Galaxy dev mailing list is a friendly place to get help); 4) add your new XML descriptor file to the tool_config.xml file; 5) restart your local Galaxy. Some statistical genetics tools are visible at http://galaxy.esphealth.org based on R/plink/eigenstrat and so on and some of their uses are illustrated with some (now slightly dated) screencasts at http://esphealth.org/screencasts. For those attending, there are 3 educational sessions featuring Galaxy and the UCSC genome browser at the upcoming ASHG meeting in Philly in November. The Galaxy developer team is keen to help people wanting to develop new useful tools - in particular, we currently have no expression tools available. We're ready and willing to help anyone interested in using Galaxy to make BioConductor packages available to users in a web-accessible framework that really does encourage transparent and reproducible research. Contact me privately if you have questions please. </potentially> -- Ross Lazarus MBBS MPH, Director of Bioinformatics Channing Laboratory, 181 Longwood Ave., Boston MA 02115, USA. Currently on vacation in Sydney: Tel +61 293657975 or Cell +61 404614043 The information transmitted in this electronic communica...{{dropped:16}}
Genetics Annotation Genetics Annotation • 1.6k views
ADD COMMENT
0
Entering edit mode
Mark Cowley ▴ 910
@mark-cowley-2951
Last seen 10.2 years ago
Hi list, We have been thinking about plugging in some of our generic routines (like QC) into the Galaxy interface. There are at least 3 useful ways of making R code more 'script-like', including the built in RScript, 'littler', and the CRAN library getopt. URLs: http://dirk.eddelbuettel.com/code/littler.html relative merits of littler vs RScript: http://dirk.eddelbuettel.com/ code/littler/README littler looks to be the most convenient of the three, but on OSX, littler requires R to be compiled as a dylib, which I'm currently doing, but is towards the bottom of my list of things to do, thus I don't have any feedback on how useful it really is. If anyone else has tried this, then some feedback would be great! cheers, Mark On 03/08/2008, at 10:44 AM, Ross Lazarus wrote: >>> Message: 7 Date: Fri, 01 Aug 2008 15:52:22 -0400 From: "Deanne >>> Taylor" <dtaylor at="" hsph.harvard.edu=""> Subject: [BioC] Is anyone >>> developing an extensible Galaxy-like interface for Bioconductor? To: >>> <bioconductor at="" stat.math.ethz.ch=""> Message-ID: >>> <48933135.2DE5.00B2.0 at hsph.harvard.edu> Content-Type: text/plain; >>> charset=US-ASCII >>> Dear all: >>> Iis anyone aware of any projects creating an extensible platform >>> that can act as an interface to Bioconductor that could be used to >>> deliver Bioconductor methods to non-command-line-using users? > > <disclosure> > I'm a galaxy developer so my views are probably biased > </disclosure> > > Why not just use Galaxy to wrap the BioC packages? It will do what > you need and probably a lot more. > > <potentially veering="" off="" topic=""> > > For those not yet aware, Galaxy (http://g2.trac.bx.psu.edu/) is an > open-source framework for wrapping executables into a web > application with workflows, persistent histories, transparent > connections to popular annotation and data resources (BioMart/ > ucsc..) and a growing toolbox of applications - all of which > completely insulate users from command lines. Galaxy started out > with a focus on evolutionary biology and that's what's available at > the main Galaxy site, but as a generic platform for a computational > workspace, it is easy to reconfigure for your own requirements if > you checkout the source and run it locally - which you need to do > for IRB protected data of course. > > IMHO, Galaxy histories (persistent, shareable user workspaces > containing complete records of all data, annotation, > transformations and analyses) are one of the really important > things it offers. Another strength is that it is completely > agnostic to the actual plugin executable - anything that can run on > the backend (potentially, a torque/SGE cluster) - java, R, C++ or > heaven help us COBOL- as long as it takes parameters and is non- > interactive - which means R scripts need to be written to take CL > parameters rather than run in the interactive interpreter environment. > > You can checkout a working copy of Galaxy to your linux box or mac > (see http://g2.trac.bx.psu.edu/wiki/HowToInstall). With your own > copy, follow the tutorial on adding a new (ugh, perl) tool at > http://g2.trac.bx.psu.edu/wiki/AddToolTutorial > > Changing from perl to an R script wrapping a BioConductor package > will require the following steps: > 1) figure out exactly what package functions/analyses/ > transformation the tool will wrap and thus, what inputs, outputs > and parameter settings you want the user to control; > 2) write and test an R wrapper for the package which takes those > parameters on the command line (must be non-interactive), reads > it's inputs from files named on the command line, and writes it's > outputs to files named on the command line; > 3) provide the interface descriptor as XML which Galaxy uses to > construct the right command line (including those inputs and > outputs) for the plugin executable and the web form for the user to > set the parameters which will be supplied to the executable (this > is what you will probably need help with initially - the source > distribution contains a lot of useful examples and the Galaxy dev > mailing list is a friendly place to get help); > 4) add your new XML descriptor file to the tool_config.xml file; > 5) restart your local Galaxy. > > Some statistical genetics tools are visible at http:// > galaxy.esphealth.org based on R/plink/eigenstrat and so on and some > of their uses are illustrated with some (now slightly dated) > screencasts at http://esphealth.org/screencasts. For those > attending, there are 3 educational sessions featuring Galaxy and > the UCSC genome browser at the upcoming ASHG meeting in Philly in > November. > > The Galaxy developer team is keen to help people wanting to develop > new useful tools - in particular, we currently have no expression > tools available. We're ready and willing to help anyone interested > in using Galaxy to make BioConductor packages available to users in > a web-accessible framework that really does encourage transparent > and reproducible research. > > Contact me privately if you have questions please. > > </potentially> > > -- > Ross Lazarus MBBS MPH, Director of Bioinformatics > Channing Laboratory, 181 Longwood Ave., Boston MA 02115, USA. > Currently on vacation in Sydney: Tel +61 293657975 or Cell +61 > 404614043 > > The information transmitted in this electronic communica... > {{dropped:16}} > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/ > gmane.science.biology.informatics.conductor
ADD COMMENT
0
Entering edit mode
Hi, Mark - if you need any help finessing Galaxy, please don't hesitate to ask me directly as I'd be very happy to help. If you keep notes on your progress that we can repurpose as developer documentation for BioC/R developers, please send it along and I'll make sure it gets added to the Galaxy wiki. Thanks for the pointers - I haven't looked at any of those - all the non-interactive R batch commands I've ever created have used the R commandArgs vector which allows direct access to the CL parameters without any muss or fuss - the counting is a bit strange because of the way R has to be called to run in batch mode, but something like this at the end of a script can be made to work easily in my experience - at least on linux: (...R functions and package loading stuff to setup the main function htmlPlots in this case deleted for brevity...) ca = commandArgs() nargs = length(ca) if (nargs < 7) # must be 7 if called correctly so whinge and bailout { print("Usage: R --vanilla --slave --args froot abspath imageurl < rgPlot.R\n") print("Please supply a file root for the input .xls file and an absolute path for output and an url for images\n") stop("terminating\n") } froot = ca[5] workdir = ca[6] imageurl = ca[7] # if testing, see what we got # cat(paste('workdir=',workdir,'froot=',froot,'imageurl=',imageurl)) htmlPlots(froot,workdir,imageurl) Mark Cowley wrote: > Hi list, > We have been thinking about plugging in some of our generic routines > (like QC) into the Galaxy interface. > There are at least 3 useful ways of making R code more 'script- like', > including the built in RScript, 'littler', and the CRAN library getopt. > > URLs: > http://dirk.eddelbuettel.com/code/littler.html > relative merits of littler vs RScript: > http://dirk.eddelbuettel.com/code/littler/README > > littler looks to be the most convenient of the three, but on OSX, > littler requires R to be compiled as a dylib, which I'm currently doing, > but is towards the bottom of my list of things to do, thus I don't have > any feedback on how useful it really is. > > If anyone else has tried this, then some feedback would be great! -- Ross Lazarus MBBS MPH, Director of Bioinformatics Channing Laboratory, 181 Longwood Ave., Boston MA 02115, USA. The information transmitted in this electronic communica...{{dropped:16}}
ADD REPLY
0
Entering edit mode
Hi, comment on commandArgs() below. On Sat, Aug 2, 2008 at 7:11 PM, Ross Lazarus <ross.lazarus at="" channing.harvard.edu=""> wrote: > Hi, Mark - if you need any help finessing Galaxy, please don't hesitate to > ask me directly as I'd be very happy to help. If you keep notes on your > progress that we can repurpose as developer documentation for BioC/R > developers, please send it along and I'll make sure it gets added to the > Galaxy wiki. > > Thanks for the pointers - I haven't looked at any of those - all the > non-interactive R batch commands I've ever created have used the R > commandArgs vector which allows direct access to the CL parameters without > any muss or fuss - the counting is a bit strange because of the way R has to > be called to run in batch mode, but something like this at the end of a > script can be made to work easily in my experience - at least on linux: > > (...R functions and package loading stuff to setup the main function > htmlPlots in this case deleted for brevity...) > > > ca = commandArgs() > nargs = length(ca) > if (nargs < 7) # must be 7 if called correctly so whinge and bailout > { > print("Usage: R --vanilla --slave --args froot abspath imageurl < > rgPlot.R\n") > print("Please supply a file root for the input .xls file and an absolute > path for output and an url for images\n") > stop("terminating\n") > } At least since some release cycles ago you can do: ca <- commandArgs(trailingOnly=TRUE); which will exclude everything before and include '--args', as well as using options '--file' to start a script instead of piping it in, e.g. R --vanilla --slave --file=rgPlot.R --args froot abspath imageurl My $0.02 Henrik > > froot = ca[5] > workdir = ca[6] > imageurl = ca[7] > # if testing, see what we got > # cat(paste('workdir=',workdir,'froot=',froot,'imageurl=',imageurl)) > htmlPlots(froot,workdir,imageurl) > > > Mark Cowley wrote: >> >> Hi list, >> We have been thinking about plugging in some of our generic routines (like >> QC) into the Galaxy interface. >> There are at least 3 useful ways of making R code more 'script- like', >> including the built in RScript, 'littler', and the CRAN library getopt. >> >> URLs: >> http://dirk.eddelbuettel.com/code/littler.html >> relative merits of littler vs RScript: >> http://dirk.eddelbuettel.com/code/littler/README >> >> littler looks to be the most convenient of the three, but on OSX, littler >> requires R to be compiled as a dylib, which I'm currently doing, but is >> towards the bottom of my list of things to do, thus I don't have any >> feedback on how useful it really is. >> >> If anyone else has tried this, then some feedback would be great! > > -- > Ross Lazarus MBBS MPH, Director of Bioinformatics > Channing Laboratory, 181 Longwood Ave., Boston MA 02115, USA. > > > The information transmitted in this electronic communica...{{dropped:16}} > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: > http://news.gmane.org/gmane.science.biology.informatics.conductor >
ADD REPLY

Login before adding your answer.

Traffic: 715 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6