-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
proposalProposals that warrant further discussionProposals that warrant further discussion
Description
Context
FastTree is currently built from source for the nextstrain/base Docker image.
While working on #123, I discovered that it is also available as an Ubuntu package fasttree which can be installed directly via apt-get install fasttree. This made me think whether we should be installing from that directly instead of building from source.
Up-sides to installing from Ubuntu's APT package manager
- It reduces build times (upon cache miss) and prevents "re-inventing the wheel" by having to figure out software-specific build instructions.
- The package manager can define/install dependencies that would otherwise have to be handled separately within the Dockerfile.
- If the desired binaries are not yet available via the package manager, updating the package has the potential to benefit a wider community (any Ubuntu-using bioinformatician in addition to Nextstrain users).
Notes on the above, with examples:
- The Ubuntu package
mafftis available for bothamd64andarm64, whereas we have a TODO to figure out how to build it from source. - This helps prevent issues such as FastTreeDblMP doesn't work in docker #123.
- Two examples:
- Augur prefers
FastTreeDblMPwhich is built for the Docker image. The Ubuntufasttreepackage provides less-optimal versions. TheFastTreeDblMPbuild instructions can be copied over to the Ubuntu package builder to benefit non-Nextstrain users. - The Ubuntu package
iqtreeis only available asamd64. The Dockerfile also only downloads a pre-built binary foramd64. There is a TODO to build from source which would providearm64-native IQ-TREE binaries in thenextstrain/baseimage. This could instead be done in the Ubuntu package builder to benefit non-Nextstrain users.
- Augur prefers
Considerations
- Are the Ubuntu package maintainers trustworthy?
- Can the version be pinned?
- Is it up to date with the latest version?
- Does it have the right binary?
- If the answer to (3) and/or (4) is "no", is it easy/quick to propose changes to the package and make a new version available?
I'm not familiar with Ubuntu packages, but it seems like all those questions can be answered by clicking around the package websites.
Metadata
Metadata
Assignees
Labels
proposalProposals that warrant further discussionProposals that warrant further discussion