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.