I am trying to using Illumina's Nirvana however I can't seem to get it to work despite having the right Singularity path.

  1. I pulled Nirvana down using
singularity pull docker://annotation/nirvana:3.14
  1. I found the path to the .dll using the following command:
singularity exec nirvana_3.14.sif /bin/bash -c "cd /opt/nirvana/ && ls"
  1. Tried to run the downloader using:
## Define path to singularity image:

## Path in the singularity file:

## Data to be placed in


singularity exec "$sif_container" dotnet "$sif_path" --ga GRCh38 --out "$Data"

yet it keeps saying ERROR: The top-level output directory directory was not specified. Please use the --out parameter.. I have checked the paths and they are correct and I have specified the data path yet it does not seem to recognize it? I have even moved around the container and the path variables to no avail?


1 Answer 1


From your previous questions, it is apparent that your HPC has an odd singularity setup. You could ask you sysadmin about how to navigate it.


After working with OP on chat (and based on previous experience with them), it looks like their sysadmin has mount hostfs enabled in the singularity.conf file, which messes with every container every time. I guess it's easier than letting people bind their directories of choice but anyway, the way to circumvent that is to use --no-mount hostfs

@Indira, always run singularity [exec|shell|run] --no-mount hostfs instead of plain singularity [exec|shell|run]. All containers will then run well and if they error out, it's probably because either the container internally encountered an error or it was unable to access an external resource. What you're running into now is a mix that obscures the real problems and creates a no-win scenario for you.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.