zavolanlab / bindz-rbp

RBP module for bindz, a bioinformatics tool to detect regulators' binding sites on RNA sequences.
https://github.com/zavolanlab/bindz-rbp
Apache License 2.0
6 stars 1 forks source link

Simplify the UI #52

Closed AngryMaciek closed 2 years ago

AngryMaciek commented 3 years ago

Is your feature request related to a problem? Please describe. If the tool is to be used be wider community of scientists, not only bioinformaticians familiar with snakemake we should simplify the entrypoint a little...

Describe the solution you'd like How about we provide two options to run the tool. At first the user need to git clone, of course, but then:

  1. Run install.sh: automatic installation of the tool into the system directories, installation of the dependancies; automatic ATtRACT download and parsing into the same system dir; provide a bash wrapper with oprional parameters (if not specified snakemake will be called with default values). Sth like: bindingscanner --config XXX.
  2. Expert mode: git clone and call the snakemake yourself, execute all the steps just as they are currently described in the README.md.
AngryMaciek commented 3 years ago

Interface proposal

This tool is (and will be) a snakemake pipeline. Thus cannot be uploaded to pypi nor CRAN (of course). I also think it is too big to be encapsulated into a single conda package. Therefore we will need to keep it as a pipeline but also provide a "wapper" for manual installation into the OS and easy execution.

1) after clonning the reposotiry (preferably to home) installation wrapper shoud:

bash wrapper should: activate main env, call snakemake with parsed arguments, then conda deactivate.

2) expert mode stay the same: after cloning the pipeline the user can manually activate the main env and manually call snakemake and provide all paths, configs, params by hand (also choose: local/cluster?)

AngryMaciek commented 2 years ago

2022 Update

We have decided we will not implement the following changes. The purpose of UI simplification was to allow less experienced scientists run the tool easily from the command line themselves. However, we have decided that bindz will be an online web service hosted by Zavolan Lab with a simplified entrypoint via a web browser. Therefore there is no need for command-line adjustments - the backend might be more complex. On top of all, this is just the RBP-module for bindz, not the full tool.

It is enough just to clean this repo in its current form and leave as is :)

However, the comments above are reasonable and it would be valuable to keep them as a reference of how to prepare a nice UI. As well as the corresponding branch ui - I will keep it, as it contains quite some portion of work in that matter already.