New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with modules that require binaries (wrappers) #29

Open
bmpvieira opened this Issue Apr 4, 2015 · 4 comments

Comments

4 participants
@bmpvieira
Member

bmpvieira commented Apr 4, 2015

@yannickwurm: "Some major work is required for modules which require binaries. Currently using samtools (etc) involves download & compiling... this is extremely prone to fail & a big maintenance effort. Instead, rely on local docker install (so each module relies on a single docker file. (thus each module would include a dockerfile)."

So, either we:

  • Rely on Docker like Yannick says (issue: Docker becomes a dependency);
  • Don't provide at all the binaries (just the wrapper) and push the responsibility of installing to the user (sucks and hard to control versioning);
  • Try to provide pre-compiled binaries (but then, we're doing package management...). @maxogden might have some ideas;
  • Turn some of those tools into native addons (hard to do and maintain in sync with upstream).
@wookoouk

This comment has been minimized.

Member

wookoouk commented Apr 4, 2015

for ncurses dependencies, in debian:
sudo apt-get install libncurses5-dev
or if that fails
sudo apt-get install ncurses-devel ncurses

@jamidwyer

This comment has been minimized.

jamidwyer commented Apr 6, 2015

I don't know the best solution for installing on Windows, but in case anyone is stuck, removing bionode-sam from bionode's package.json before installing worked.

@yannickwurm

This comment has been minimized.

Member

yannickwurm commented Apr 7, 2015

combine 1 and 2:

  • Don't provide at all the binaries (just the wrapper) and push the responsibility of installing to the user

but in case they have a docker install, provide a dockerfile that includes the versions you've explicitly tested on. (not a dependency but an easy option)

@bmpvieira bmpvieira changed the title from Issues with modules that require binaries to Issues with modules that require binaries (wrappers) Nov 8, 2015

bmpvieira added a commit that referenced this issue Nov 8, 2015

Remove wrapper modules (see #29) and bump bionode-ncbi
Although wrapper modules are useful, they introduce issues that might be
out of scope for bionode. See discussion in #29.
New version of bionode-ncbi implements efetch.
Nock added to devDeps for testing bionode-ncbi and other modules in the future.
@bmpvieira

This comment has been minimized.

Member

bmpvieira commented Nov 8, 2015

Another project that is wrapping bioinformatic tools is the Common Workflow Language, and after chatting with @tetron at #biohack15 he added to the current implementation of the specification some support for piping in/out NDJSON. This is the main requirement for using CWL with bionode pipelines. However, it's still an early project and there's very few tools wrapped (mostly just examples).

As for getting bioinformatics tools deployed/installed, Docker is great but still has issues (e.g., security), and there's a lot of alternatives popping up (e.g., vagga, hyperos.io, Rocket) so we probably don't want to commit yet to one solution. Plus, this might be out of scope for bionode in any case (we don't want to do package management...)

Alternatives to containers are package managers like Homebrew linux (lots of bioinformatics tools, but some won't install depending on host machine toolchain) and GUIX (functional package manager that is completely isolated and independent of root filesystem, plus containers support is coming for extra isolation).

@bmpvieira bmpvieira added this to Backlog in Bionode Project Board Apr 4, 2017

@bmpvieira bmpvieira removed the ready label Apr 10, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment