Notes to Future Maintainers - JoshLoecker/MAPT GitHub Wiki
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
git clone https://github.com/JoshLoecker/MAPT
git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO
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
-
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"
-
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
-
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 -
Run
singularity remote login
and follow the instructions to enable the remote build server -
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 toUbuntu 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 topipeline/setup/
and edit theSingularity
file
d. Update the lineDOWNLOAD_LINK=
with the link you have copied, under the%post
section.
e. Save and exit this file by typingCTRL + x
->y
->ENTER
-
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 -
Assuming no errors occurred, we will overwrite the old container with the new one. Run
mv guppy_new_container.sif guppy_container.sif
-
During the build process, several tests are run
a. Guppy Basecaller and Guppy Barcoder version are checked (command below). This ensures the binaries are availableguppy_basecaller --version
- `guppy_barcoder --version
b. If this fails, the container is not usable
-
A new guppy container is available. a. To test it, see the following section