Git Product home page Git Product logo

Comments (3)

jaeddy avatar jaeddy commented on August 23, 2024 1

Thanks, @prvst! My understanding of Perl is admittedly rough. Working with that information, I was able to get the tool working within the container using these commands:

export PERL5LIB="/opt/conda/lib/perl5/site_perl/5.22.0"
export PERL5LIB="/opt/conda/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi:$PERL5LIB"

Per your second point, I need to get up to speed on writing my own conda recipes - hopefully that will happen soon. Is there a good rule of thumb for how best to combine dependencies when building recipes/containers? For example, if some tool X required samtools, would you include samtools in the recipe for X; or would you install both samtools and X via conda in the Dockerfile?

from containers.

prvst avatar prvst commented on August 23, 2024 1

I'm glad to know that you manage to have that working.

You should try conda first if your software is available there.
Have in mind that this is a general guideline, sometimes depending on the situation, like this problem you had, for example, if you feel that the conda installation can create some problems, then go ahead and include the software.

from containers.

prvst avatar prvst commented on August 23, 2024

Hey @jaeddy;

This is a pretty common error message. As you know, it signs that the module can't be found. Since we are dealing with a container and a conda installation, the problem may come from different sources.

It seems to be looking in the default Perl path for the container but not the conda-specific path. I can't tell whether this is a problem with the BioContainers image or with the VEP recipe.

The perl interpreter will always look at the default place plus any other directory specified on the script. In this particular case, what's going on is that the module is being installed by conda on the conda directory, not the default directory for Perl modules. There is a way to circumvent this during run time, you just need to run the script like this:

perl -I /opt/conda/lib/perl5/site_perl/5.22.0/ /opt/conda/bin/variant_effect_predictor.pl --help

The -I (capital i) flag tells the interpreter that you are adding another directory to the @inc array on the fly.

When I run it like that I also have another error from a missing DBI module. So my guess here is that you will have the same problems with other modules, so:

  1. The conda manager is installing the modules on a custom folder and you need to:
    a) change that
    b) add the conda folder to your @inc array on your script.
  1. You mentioned about a recipe but, your exemple is using the base image and you are installing thing manually, so my second suggestion is to you to create a real recipe with all directives to have your script running.

I hope that can help you, I'm closing the issue but let me know if you need further asisstance

good luck

from containers.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.