sneumann / xcms

This is the git repository matching the Bioconductor package xcms: LC/MS and GC/MS Data Analysis
Other
177 stars 81 forks source link

UI - User Interface for workflow/cli engines #390

Open lecorguille opened 5 years ago

lecorguille commented 5 years ago

Hi @sneumann, @jorainer,

One of the observation, I have, is that at least within our Galaxy wrappers, there are too many line of R codes. And we discussed about that with @sneumann in December in the context of PhenoMeNal-Next and the possibility to run the same tool within and without Galaxy (ex: NextFlow).

Actually, we have 2 types of R Scripts shipped within our Galaxy wrappers

About the first type of script, as far as I know, there isn't any command line interface for R package until you write a script with optparse. I'm wondering if it's a stupid idea to provide those kind of interfaces around XCMS within the package. Thus, it should allow to reduce the difference between CLI and Galaxy and so increase the reproducibility between non-expert and expert.

About the lib.r, we should align on the current state-of-art (maybe there are already equivalent) or upstream them in the package itself.

My 2 cents I just want to have your feeling about that.

sneumann commented 5 years ago

Hi, I like the idea in general. I don't know examples from other packages, but would it make sense to wrap several calls as Scripts with #!/usr/bin/Rscript that look like "normal" command line tools ? Possibly even with a description compatible with the common tool description https://github.com/WorkflowConversion/CTDSchema http://workflowconversion.github.io/ Yours, Steffen

lecorguille commented 5 years ago

I though about indeed a or many rscript which implement optparse with the shebang #!/usr/bin/env Rscript

[login@host ~]$ xcms_findchrompeaks.r image raw.RData method "CentWave" ppm 25 peakwidth "c(20,50)" outimage raw.finchrompeaks.RData
#or 
[login@host ~]$ xcms.r function findchrompeaks image raw.RData method "CentWave" ppm 25 peakwidth "c(20,50)" outimage raw.finchrompeaks.RData

So it's still agnostic but can be easily interfaced with every workflow manager without any need to intermediate R wrapper.

jorainer commented 5 years ago

I see the point @lecorguille - makes total sense to have such scripts. I personally am oldschool and want to define my analyses (and the ones from my group) in rmarkdown (+git) to create reproducible and well documented and described analysis reports. Creating command line scripts for xcms are thus not that high on my priority list, I would however support anyone wanting to do this.

Regarding where to put them, I'd rather go for a separate package (something like xcmsWrappers?) because xcms is already large. I find it much easier to maintain to have several small (interoperating) packages than a monolithic large one.

sneumann commented 4 years ago

Hi, as long as those scripts don't add any new big dependencies, I'd suggest to keep them in xcms/inst/bin unless we have examples on best practices from other packages. There should also be a small set of tests (which are not triggered by BioC, but possibly on Travis ?) to check that things still work. And we'd add Gildas as Contributor in the DESCRIPTION :-) Yours, Steffen

lecorguille commented 4 years ago

It isn"t done yet. My name in the description can wait a little bit :P But I agree with Steffen, they can be small and will not interfer with the core of the package. But keeping them within the package is a guarantee that they follow the main package and up-to-date and indeed test at each version.

Don't know when I will find time to do that but an idea is still a first step.

Le lun. 1 juil. 2019 à 20:23, Steffen Neumann notifications@github.com a écrit :

Hi, as long as those scripts don't add any new big dependencies, I'd suggest to keep them in xcms/inst/bin unless we have examples on best practices from other packages. There should also be a small set of tests (which are not triggered by BioC, but possibly on Travis ?) to check that things still work. And we'd add Gildas as Contributor in the DESCRIPTION :-) Yours, Steffen

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sneumann/xcms/issues/390?email_source=notifications&email_token=ACUPEFX3PPD2IESZNLG2IQLP5JDSJA5CNFSM4H4KP32KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY66J4A#issuecomment-507372784, or mute the thread https://github.com/notifications/unsubscribe-auth/ACUPEFQUUXTDEJIZI7VR6I3P5JDSJANCNFSM4H4KP32A .