Skip to content
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
Open

Issues with modules that require binaries (wrappers) #29

bmpvieira opened this issue Apr 4, 2015 · 4 comments

Comments

@bmpvieira
Copy link
Member

@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).
@doomedramen
Copy link
Member

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

@jamidwyer
Copy link

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
Copy link
Member

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 Issues with modules that require binaries Issues with modules that require binaries (wrappers) Nov 8, 2015
bmpvieira added a commit that referenced this issue Nov 8, 2015
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
Copy link
Member Author

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).

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

No branches or pull requests

4 participants