Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains a few improvements which make local development and running the benchmark easier.
./run.sh sample_data/9_species_human pi-HelixNovo
make run_all
.container_template.def
recommends to copy the wholealgorithms/algorithm_name
folder to/algo
. So the first time you build your image, acontainer.sif
file will be created in thealgorithms/algorithm_name
folder. But the second time you build your image, whenbuild_apptainer_images.sh
asks if you want to force rebuild your image, it will copy the existingcontainer.sif
into the newcontainer.sif
. And so on each time you rebuild your image, just like a Matryoshka doll. I noticed this issue when the size of mycontainer.sif
had ballooned to 64GB. As a short term solution, I have added amake clean
command that removes all container images and amake build_apptainer
command that force builds all apptainer images. But a better long term solution is to adapt all thecontainer.def
files to only copy the files that are needed into the/algo
folder.pip install <package>
lines one after the other with a singlepip install <list of packages>
. Ifpip
can see all the packages at once it can resolve conflicts between package dependencies more effectively. It also avoids redundant resolution steps, making the installation process faster.run.sh
to recalculate all algorithm outputs didn't work for me, so I've set the default value to true.