Skip to content
Snippets Groups Projects
Iago Bonnici's avatar
iago-lito authored
The likelihood formula used when comparing observed triplet
with a discordant scenario subtly differed from original implementation.
1f2a63c6
History

Aphid

This is a Rust implementation of the "Aphid" method, following its specifications within Nicolas Galtier's draft paper Phylogenetic conflicts: distinguishing gene flow from incomplete lineage sorting (2023).

Sources available at: https://gitlab.mbb.cnrs.fr/ibonnici/aphid/.

Build instructions

With Apptainer/Singularity

Aphid can be run from an apptainer provided you have Apptainer (aka. Singularity) installed.

First, build the container image as root:

# Get definition file.
curl -L \
  https://gitlab.mbb.cnrs.fr/ibonnici/aphid/-/jobs/artifacts/rust-implementation/raw/singularity.def?job=container-recipes \
  > aphid.def # (or download by hand)

# Build image.
sudo apptainer build aphid.sif aphid.def

Then run the container as regular user:

./aphid.sif <arguments>

With Docker

Aphid can be run from a docker container, provided you have Docker installed.

First, build the container image:

docker buildx build -t aphid \
  https://gitlab.mbb.cnrs.fr/ibonnici/aphid/-/jobs/artifacts/rust-implementation/raw/Dockerfile?job=container-recipes

Then run the container:

docker run --rm -it -v ${PWD}:/home/aphid aphid <arguments>

Manual compilation

The program is still fairly easy to compile yet, provided you have git, torch and a rust stable toolchain installed.

First clone and compile the project:

git clone --recursive https://gitlab.mbb.cnrs.fr/ibonnici/aphid/ --branch rust-implementation
cd aphid
cargo test
cargo build --release

Then run the binary obtained:

./target/release/aphid <arguments>

Running Aphid

TODO: rust doc not written yet.