biocore / pyqi

Tools for developing and testing command line interfaces in Python.
Other
9 stars 13 forks source link

add galaxy support #249

Open jairideout opened 10 years ago

jairideout commented 10 years ago

pyqi currently has support for optparse and HTML interfaces. It would be awesome to also have some sort of support for a galaxy interface.

@josenavas has existing code to convert old-style QIIME scripts to galaxy configuration files. This code may make sense to add to pyqi.

I'm thinking that we could have a new (command-line) pyqi command, something like:

pyqi convert-galaxy -m pyqi.interfaces.optparse.config -o galaxy_conf_output

which would take a directory of pyqi optparse config files as input, and create a directory of galaxy configuration files as output.

Another approach is to make galaxy a full-fledged interface of its own, where it would have its own type of config files (i.e., like optparse and HTML interface). We'd still need a command to load these conf files and create the equivalent galaxy XML files.

I'm leaning towards the first approach since galaxy is just wrapping command-line tools, and I think it will have all the info it needs in the optparse config files to do the conversion. If we go this route, it also means less duplicated code/configuration since we won't have to add separate galaxy config files for each command.

If we end up needing more info that is galaxy-specific (and can't shoehorn it into the optparse config structure), the second option would make more sense.

@josenavas @wasade @ebolyen @gregcaporaso thoughts?

josenavas commented 10 years ago

I think solution 1 is the best one. It would require minimal changes to current galaxy integration code, as I will only need to change the way I get the information of the command line interface.

@jrrideout you're correct, Galaxy is only wrapping command-line tools, so using the optparse config files will make a lot of sense.

You can assign this issue to me.

jairideout commented 10 years ago

Sounds good, thanks @josenavas! Assigned to you

gregcaporaso commented 10 years ago

I agree that that sounds like the right approach, and that this would be an excellent addition.

On Tue, Jan 7, 2014 at 8:19 AM, Jai Ram Rideout notifications@github.comwrote:

Sounds good, thanks @josenavas https://github.com/josenavas! Assigned to you

— Reply to this email directly or view it on GitHubhttps://github.com/bipy/pyqi/issues/249#issuecomment-31745832 .