Skip to content
Snippets Groups Projects

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.univ-montp2.fr/ibonnici/aphid/-/jobs/artifacts/main/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 <my_input_files>

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.univ-montp2.fr/ibonnici/aphid/-/jobs/artifacts/main/raw/Dockerfile?job=container-recipes

Then run the container:

docker run --rm -it -v ${PWD}:/home/aphid aphid --config my_config.toml

Manual compilation

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

First clone and compile the project:

git clone --recursive https://gitlab.mbb.univ-montp2.fr/ibonnici/aphid/
cd aphid
cargo test
cargo build --release

Then run the binary obtained:

./target/release/aphid <my_input_files>

Running Aphid

TODO: rust doc not written yet.