Adds system dependencies to bioconductor/devel_base2.
1.8K
This script makes it more convenient to run the Bioconductor docker images locally for routine daily usage:
~/dockerhome where the home directory
of the Docker user will be mounted. Files can be shared between the
Docker container and host filesystem here.~/.docker-devel-packages or ~/.docker-release-packages.The user must specify the version of Bioconductor to spin up as a Docker image. The available inputs for the first argument are:
1. release
2. devel
The second argument for the 'bioconductor' script denotes the environment type to run when executing the script this will either put the user in one of two supported environements:
1. rstudio - allows the user to open up an rstudio session in the browser
2. shell - put the user in the command line within the container
Note. The default user environment is the rstudio session
bioconductor_docker docker imageThe bioconductor/bioconductor_docker image is built for both release and devel
versions of Bioconductor. It includes system dependencies so that almost every
Bioconductor package can be installed using BiocManager::install() with no
further troubles. For almost everyone, this means no more errors when trying to install a package.
To make a generalization, Docker is more supported by commercial Cloud providers, whereas Singularity is (far) more likely to be supported by university high-performance computing facilities.
If you have singularity installed, pull and the singularity images as follows (or substitute "devel" with "release" for the release version):
singularity build $HOME/bioconductor-devel.img docker://waldronlab/bioconductor:devel
So far I have only used singularity for bash and R, with aliases like these:
alias singulaR="singularity shell $HOME/bioconductor-devel.simg R"
alias singularbash="singularity shell $HOME/bioconductor-devel.simg bash"
Note that default behavior in singularity is to mount your home (and several other) directories as the home directory within the container, while maintaining your user permissions. This makes all the docker efforts to mount volumes for your container package and home directories unnecessary. I haven't yet tried running rstudio via singularity, but it should be possible?
bioconductor script and docker container~/dockerhome, or change the rstudio password. Make sure
the script is executable (e.g. chmod a+x bioconductor).bioconductor devel or bioconductor release. Later you can use Ctrl-C to stop the
container. There are additional usage tips at
https://github.com/Bioconductor/bioc_docker.That's it! You can stop the instance you're running and switch to
release or devel (but you can't currently run both at the same
time). There will be separate host package libraries for
user-installed packages (in ~/.docker-devel-packages and
~/.docker-release-packages), and a common home directory in
~/dockerhome. docker pull is run each time you invoke the
bioconductor script, so you should automatically get the most
up-to-date Bioconductor release or devel versions, and will only have
to run BiocManager::install() to update user-installed packages.
Note: Checking mechanisms have been implemented for the script to error if anything other than "release" or "devel" is entered in the first argument.
The following commands may be useful in your ~/.bash_profile for
command-line R and bash usage with the same containers, package directories,
home directory, and rstudio user:
alias releaseshell="bioconductor release shell"
alias develshell="bioconductor devel shell"
# coming soon #
alias Rrelease="bioconductor release R"
alias Rdevel="bioconductor devel R"
The bioconductor script is rudimentary and should use docopt, and provide
start & stop. It could also provide arguments for the volume location etc.
Content type
Image
Digest
Size
1.3 GB
Last updated
almost 7 years ago
docker pull waldronlab/bioconductor_devel