/terra-utils

Docker images and notebook I use(d) on Terra (https://app.terra.bio/)

Primary LanguageJupyter Notebook

Eraser notebook

To clean up a workspace of temporary files.

It helps understand how much space is used in the workspace, and assists in erasing the files you don't want to keep. It can erase files selected by size, date, extension while protecting those in the workspace's Tables or in specific submissions.

See Eraser.ipynb (some outputs with too much details are not shown).

Custom notebook Docker container

This image extends the terra-jupyter-r notebook with:

  • bcftools
  • samtools
  • vg v1.46.0
  • odgi
  • less (!!!)
  • GNU time (use with env time or /usr/local/bin/time)
  • R packages:
    • sveval and its dependencies (inc. dplyr, ggplot2, BioC GenomicsRanges, VariantAnnotation)
  • Python packages: pysam, pyfaidx, biopython, cyvcf2

Build and push to DockerHub

Terra only accepts containers hosted on Google, GitHub, or DockerHub for its interactive environments (see Terra support). I just have a free account on DockerHub, so I build the (big) image locally and push.

The DockerHub page is jmonlong/terra-noteboook-custom.

The latest version is jmonlong/terra-notebook-custom:0.0.4

docker build -t jmonlong-terra-notebook-custom .

docker tag jmonlong-terra-notebook-custom jmonlong/terra-notebook-custom:0.0.4
docker push jmonlong/terra-notebook-custom:0.0.4

Note: those images are quite big, so it can take some time to build and push.

Run locally

docker run --rm -it -p 8000:8000 jmonlong-terra-notebook-custom

Then open http://localhost:8000/notebooks.