Re: [galaxy-dev] Wrapper generator.
Hi Jeroen, The idea of having a tool to automatically generate Galaxy wrappers is attractive, and in some cases, possible. For example, I know that the tools in QIIME (http://qiime.sourceforge.net/) use some sort of argument declaration and a Python module to read it and deal with the command-line interface. This makes it possible to write a converter that would generate (or at least kickstart) Galaxy wrappers. I also have some Perl scripts that use the Getopt::Euclid module (http://search.cpan.org/dist/Getopt-Euclid/), which declares all the arguments taken by the program. I have been contemplating writing code that would convert the Getopt::Euclid specifications into a Galaxy wrapper. At the moment, though, there are quite a few outstanding irritating bugs in the Galaxy wrapper system that force you to use workarounds to get a working wrapper: https://bitbucket.org/galaxy/galaxy-central/issues?component=tools-configsort=id https://bitbucket.org/galaxy/galaxy-central/issues?component=tools-configsort=id. Needless to say that it would be easier to automated wrapper generation if these bugs were fixed. Regards, Florent On 14/05/11 00:03, J. F. J. Laros wrote: Dear Dave, This indeed sounds like an interesting alternative. I'll look into it. With kind regards, Jeroen. On Fri, May 13, 2011 at 01:48:12PM +, Dave Walton wrote: An alternative might be to have something like GenePattern has. It's not as seamless for the person who wants the wrapper as what's been suggested here, but it's easier than creating a lengthy XML file. GenePattern has an HTML Form interface for entering all the components of your tool, including the command-line you want to expose and the parameters you want to make available, and then it generates the back-end. There are definite down-sides to this. I've never tested what keeps the tool in GenePattern from letting you do destructive things. Dave On 5/13/11 9:41 AM, Peter Cockp.j.a.c...@googlemail.com wrote: On Fri, May 13, 2011 at 2:12 PM, J. F. J. Larosj.f.j.la...@lumc.nl wrote: Hi Pieter, Thanks for the reply, but from the looks of it, this is a way to incorporate webservice clients into galaxy. What I want is slightly different. I'm talking about adding a normal command line tool (an aligner for example) but I'm not willing to write a wrapper each time (the wrapper for BWA for example is 327 lines). If a computer readable description of the interface exists, this description can be used to generate a python wrapper. I mentioned WSDL because this also gives a description of an interface, but any equivalent description would of course be fine. Ideally, such a description is maintained by the developer of the tool in question. With kind regards, Jeroen. How many tools can you name that come with such a machine readable file describing their command line interface? I can think of only one - the EMBOSS tool suite and their ACD files (used internally by EMBOSS to generate the command line help, documentation, and do the command line option parsing). Unfortunately I don't think there is an easy answer - even if wrapping a tool where all the input and output formats are already supported in Galaxy. Peter ___ Please keep all replies on the list by using reply all in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/ ___ Please keep all replies on the list by using reply all in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
Re: [galaxy-dev] Wrapper generator.
Dear Florent, On Sun, May 15, 2011 at 09:15:25PM +1000, Florent Angly wrote: Hi Jeroen, The idea of having a tool to automatically generate Galaxy wrappers is attractive, and in some cases, possible. For example, I know that the tools in QIIME (http://qiime.sourceforge.net/) use some sort of argument declaration and a Python module to read it and deal with the command-line interface. This makes it possible to write a converter that would generate (or at least kickstart) Galaxy wrappers. I also have some Perl scripts that use the Getopt::Euclid module (http://search.cpan.org/dist/Getopt-Euclid/), which declares all the arguments taken by the program. I have been contemplating writing code that would convert the Getopt::Euclid specifications into a Galaxy wrapper. Yes, I thought of that too. Many languages have a getopt construction of some sort, so that would be a really neat way, especially in strongly typed languages. Parsing the man page is another option I considered, but the syntax is a bit too loose I'm afraid. For now, I've created a widget where people can fill in a command, its description, name, parameters, etc. (something similar to what Dave suggested). This widget creates an XML file which can then be used as a description of the interface (ultimately I don't want to describe the interface either, hence the widget). Currently, I'm creating templates for the wrappers using the jinja2 templating language, the interface generator would only need to parse the XML description and by using one of the templates the desired wrapper can be generated. Even if this is not directly applicable in Galaxy because of bugs, I think this solution can be used in a broader sense to generate other interfaces (CGI for example) by writing a different template. Thanks for your feedback. With kind regards, Jeroen. At the moment, though, there are quite a few outstanding irritating bugs in the Galaxy wrapper system that force you to use workarounds to get a working wrapper: https://bitbucket.org/galaxy/galaxy-central/issues?component=tools-configsort=id https://bitbucket.org/galaxy/galaxy-central/issues?component=tools-configsort=id. Needless to say that it would be easier to automated wrapper generation if these bugs were fixed. Regards, Florent On 14/05/11 00:03, J. F. J. Laros wrote: Dear Dave, This indeed sounds like an interesting alternative. I'll look into it. With kind regards, Jeroen. On Fri, May 13, 2011 at 01:48:12PM +, Dave Walton wrote: An alternative might be to have something like GenePattern has. It's not as seamless for the person who wants the wrapper as what's been suggested here, but it's easier than creating a lengthy XML file. GenePattern has an HTML Form interface for entering all the components of your tool, including the command-line you want to expose and the parameters you want to make available, and then it generates the back-end. There are definite down-sides to this. I've never tested what keeps the tool in GenePattern from letting you do destructive things. Dave On 5/13/11 9:41 AM, Peter Cockp.j.a.c...@googlemail.com wrote: On Fri, May 13, 2011 at 2:12 PM, J. F. J. Larosj.f.j.la...@lumc.nl wrote: Hi Pieter, Thanks for the reply, but from the looks of it, this is a way to incorporate webservice clients into galaxy. What I want is slightly different. I'm talking about adding a normal command line tool (an aligner for example) but I'm not willing to write a wrapper each time (the wrapper for BWA for example is 327 lines). If a computer readable description of the interface exists, this description can be used to generate a python wrapper. I mentioned WSDL because this also gives a description of an interface, but any equivalent description would of course be fine. Ideally, such a description is maintained by the developer of the tool in question. With kind regards, Jeroen. How many tools can you name that come with such a machine readable file describing their command line interface? I can think of only one - the EMBOSS tool suite and their ACD files (used internally by EMBOSS to generate the command line help, documentation, and do the command line option parsing). Unfortunately I don't think there is an easy answer - even if wrapping a tool where all the input and output formats are already supported in Galaxy. Peter ___ Please keep all replies on the list by using reply all in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/ ___ Please keep all replies on the list by using reply all in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/ -- Jeroen F. J.
[galaxy-dev] Auto file convert
Hi All, I am installing and testing galaxy-dist locally and I have installed all the rgenetics tools and have them working but there seems to be a one problem. If I upload a lped file, then edit the attributes and convert it to a plink pbed file the tools such as QC reports and Case Control will work. If however I select (as pbed) RgeneticsData to run the tool directly I receive the following error: input data 1 is in error state I don't think this error is strictly related to rgenetics but something goes wrong after tools/parameters/basic.py gets called. Thanks for producing a fantastic resource and I would appreciate any help, -- Jason Ellul Bioinformatician Cancer Research Division Peter MacCallum Cancer Centre TEL: +61 3 9656 1512 FAX: +61 3 9656 1411 EMAIL: jason.el...@petermac.org Address: St Andrew's Place East Melbourne Victoria 3002 Australia Postal Address: Locked Bag No. 1 A'Beckett St., Victoria, 8006, Australia This email (including any attachments or links) may contain confidential and/or legally privileged information and is intended only to be read or used by the addressee. If you are not the intended addressee, any use, distribution, disclosure or copying of this email is strictly prohibited. Confidentiality and legal privilege attached to this email (including any attachments) are not waived or lost by reason of its mistaken delivery to you. If you have received this email in error, please delete it and notify us immediately by telephone or email. Peter MacCallum Cancer Centre provides no guarantee that this transmission is free of virus or that it has not been intercepted or altered and will not be liable for any delay in its receipt. ___ Please keep all replies on the list by using reply all in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/