If you’re using Jupyter Notebooks on Terra, you should be aware of the fact that the pre-configured environments that are available to you through the Terra interface are regularly updated, and that you have several options when it comes to selecting prior versions of containers, and tracking updates to the pre-configured ones.
Runtime environments are packaged in the form of Docker containers. A Docker container is a unit of software that contains instructions for installing all of the necessary dependencies for given applications to run smoothly. We regularly update these environments, and the latest default environment can always be selected through the Terra UI:
A Docker container will typically contain a long list of interdependent code packages, and not having the right versions of any of the packages in the container you’re using can break your code. Our system simplifies things for you because you only need to know the version of the Docker image you’re using (and any packages you install manually), while we take care of versioning the contents.
This is an especially important thing to check if you have been working in the same notebook for a month or longer. If your notebook was written and tested in a default environment, and you need to delete and recreate the environment, your notebook may not function as expected if the default environment has been updated since you originally developed the notebook, and you may need to either update your code, or select a legacy environment.
There are three things you can do to make sure you are running the right versions of each package:
- The simplest thing you can do to check if you need an older version of a container is to simply select one of the legacy configurations in the environment drop down menu. The menu options clearly label the date at which a given configuration was frozen in a “legacy state”. The label also tells you some cursory information about what version of GATK, R, and Python is part of that pre-configured environment.
- Making sure that you are using the right version of GATK or your programming language of choice may address all of your issues, but if not, you may need to visit our Git for more detail about the versions of individual packages each pre-configured environment comes with.
You can see exactly what packages are present in each of our base images. This is also where you would go if you wanted to download the base images and modify it to create your own custom docker image (check out this tutorial to see how that’s done).
- Finally, you can follow our release notes to stay informed about updates to our pre-set runtime configurations.