Skip to content

Notes to Future Maintainers

JoshLoecker edited this page Mar 17, 2021 · 5 revisions

Notes to Future Maintainers

This is for those that are going to be maintaining this codebase in the future. If you are not doing this, then this section can be disregarded.
If you would like to get this codebase into your own GitHub repository, perform the following

  1. git clone https://github.com/JoshLoecker/MAPT
  2. git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO
  3. git push

This will change the URI from my own GitHub repository, to your GitHub repository. From here, changes can be made, committed, pushed, etc. as if you started the repository from the beginning

Building a New Guppy Container

Building a new guppy container is relatively simple

  1. Go to SyLabs Cloud Builder a. Sign in with one of the options available b. Click on your username in the top right corner c. On the drop down, click "Access Tokens"

  2. Generate a new Access Token a. Copy this token, and save it in a secure location. It will not be able to be accessed again

  3. Log in to SciNet

  4. Navigate to /project/brookings_minion/ on SciNet a. There is most likely a file named guppy_container.sif b. We are going to be updating this file

  5. Run singularity remote login and follow the instructions to enable the remote build server

  6. Update the current singularity file with the new Guppy version a. The current guppy version can be found at Nanopore Tech Community b. Copy the link next to Ubuntu 20 GPU. While SciNet is running under CentOS 7, this container is using Ubuntu 20, as it is what I am most familiar with. There is minimal overhead to running a linux distribution in a container under a linux host (see this source) c. Navigate to pipeline/setup/ and edit the Singularity file d. Update the line DOWNLOAD_LINK= with the link you have copied, under the %post section. e. Save and exit this file by typing CTRL + x -> y -> ENTER

  7. Run singularity build --remote guppy_new_container.sif pipeline/setup/Singularity a. This will take a bit of time (about 10 minutes) b. We are not going to overwrite the old file until we are sure the new one is able to build

  8. Assuming no errors occurred, we will overwrite the old container with the new one a. Run mv guppy_new_container.sif guppy_container.sif

  9. During the build process, several tests are run a. Guppy Basecaller and Guppy Barcoder version are checked (command below). This ensures the binaries are available

    1. guppy_basecaller --version
    2. guppy_barcoder --version

    b. If this fails, the container is not usable

  10. A new guppy container is available. a. To test it, see the following section