Sign inSign up

kwellswrasman/sc_long_read_r

By kwellswrasman

•Updated about 1 year ago

Container for the analysis of single cell long read data

Image
Data science
0

1.1K

kwellswrasman/sc_long_read_r repository overview

⁠Single Cell Long Read R docker

This directory contains the recipe to build the docker container for R analysis of ATAC-seq and ChIP-seq data. This uses the bioconductor docker as a base so you can port to using Rstudio in the browser.

Recipes for this package can be found on github

⁠Downloading the image

To download, the image, you can simply run

docker pull kwellswrasman/sc_long_read_r:v1

⁠Converting to singularity

To convert this image to singularity, simply run

singularity pull --name sc_long_read_r_v1.sif docker://kwellswrasman/sc_long_read_r:v1

⁠Using R studio

To run Rstudio using this image, in a terminal run

docker run \
	-e PASSWORD=bioc \
	-p 8787:8787 \
	kwellswrasman/sc_long_read_r:v1

If you navagate to http://localhost:8787⁠ on you web browswer, you will be able to log into a Rstudio session using rstudio as your username and whatever you set above as the password, in this case bioc.

With the above command, you won't have access to your system, but adding a mount line will fix it.

docker run \
	-e PASSWORD=bioc \
	-p 8787:8787 \
	--mount type=bind,source="$(pwd)",target=/home/rstudio/rnaseq \
	kwellswrasman/sc_long_read_r:v1

More information on the base container is here⁠

Packages installed in this container can be found in the R_dependencies file. The renv.lock file will provide all packages and versions.

⁠R studio with singularity

To run R studio with singularity on a slurm server, use the helper launch_rstusio.sh script. The log file will include instruction for how to run rstusio from within the singularity image in a running job. This requires ssh access to the server.

⁠Version control with renv

This image was built using version control with renv.

⁠Initial build

To build the container initially, I added any desired packages to R_dependencies and then I followed the following steps

  1. I removed the following lines from the docker file
COPY renv.lock renv.lock
RUN R -e "renv::restore()"
  1. I then built the package without any R packages
docker build sc_long_read_r:v1 ./
  1. I next started an interactive shell
docker run -it --mount type=bind,source="$(pwd)",target=/home/rstudio/r_docker sc_long_read_r:v1 sh
  1. In this I started R and used renv to install packages. Any non-cran packages need to be installed manually using the full github path or bioc:: for bioconductor packages. I then copy the lock file into the r_docker directory.
R

> renv::init()
> renv::hydrate()
> renv::install(c("github_user/github_package", "bioc::bioconductor_package"))
> renv::snapshot
> q()

cp renv.lock r_docker
exit
  1. Now that I have the lock file, I add back in two lines from the docker file
COPY renv.lock renv.lock
RUN R -e "renv::restore()"
  1. Rebuild the image
docker build sc_long_read_r:v1 ./
⁠Adding a package
  1. Add you new package to R_dependencies

  2. Start an interactive shell in the docker container (this assumes it has been downloaded from dockerhub, see above)

docker run -it --mount type=bind,source="$(pwd)",target=/home/rstudio/r_docker sc_long_read_r:v1 sh
  1. Start R and install your new packages with renv. Any non-cran packages need to be installed manually using the full github path or bioc:: for bioconductor packages. I then copy the lock file into the r_docker directory.
R

> renv::init()
> renv::hydrate()
> renv::install(c("github_user/github_package", "bioc::bioconductor_package"))
> renv::snapshot
> q()

cp renv.lock r_docker
exit
  1. Rebuild the image
docker build sc_long_read_r:v1 ./

Tag summary

Content type

Image

Digest

sha256:fed361fa0…

Size

3.8 GB

Last updated

about 1 year ago

docker pull kwellswrasman/sc_long_read_r