Bootstrap: docker From: debian:bookworm-slim %labels Author ATGC Tool ERaBLE Version 1.0 PluginVersion 1.0.4 InputNormalization unrooted-degree-three-root-v1 DenseWorkloadLimit 12582912-cells Source https://gite.lirmm.fr/atgc/atgc_erable SourceCommit 4c1320614ba427c9d2649da0778ce837d002553e License GPL-3.0 %files erable/runner.py /opt/erable/runner.py erable/inputs.py /opt/erable/inputs.py %post set -eu export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y --no-install-recommends ca-certificates curl g++ python3 curl --fail --location --retry 3 \ 'https://gite.lirmm.fr/atgc/atgc_erable/-/raw/4c1320614ba427c9d2649da0778ce837d002553e/erable1.0_Unix_Linux.tar.gz' \ -o /tmp/erable.tar.gz echo 'b03ff6f4d854a7cc064f392e428447932cdf1dba08c39712b88354d6ab1bef9a /tmp/erable.tar.gz' | sha256sum -c - mkdir -p /opt/erable/source tar -xzf /tmp/erable.tar.gz -C /opt/erable/source --strip-components=1 cd /opt/erable/source g++ -std=c++11 -O2 -Wno-deprecated-declarations -Wno-ignored-attributes src/*.cpp -o /usr/local/bin/erable # Retain the source, bundled Eigen and GPL text alongside the executable. rm /tmp/erable.tar.gz apt-get clean rm -rf /var/lib/apt/lists/* %runscript exec python3 /opt/erable/runner.py "$@" %test set -eu test -x /usr/local/bin/erable erable_test_dir="$(mktemp -d /tmp/erable-test.XXXXXX)" trap 'rm -rf "$erable_test_dir"' EXIT cp /opt/erable/source/Example/* "$erable_test_dir/" cd "$erable_test_dir" python3 /opt/erable/runner.py --matrices input_matrices.txt --topology input_tree_topology.nwk test -s erable.length.nwk test -s erable.rates.tsv # The upstream reader crashes on a degree-two root. Verify our canonicalizer # suppresses that artificial root without changing the scientific result. printf '%s\n' '((Tax10,(Tax34,(Tax20,Tax4))),(Tax14,Tax3));' > rooted.nwk cp erable.rates.txt expected.rates.txt python3 /opt/erable/runner.py --matrices input_matrices.txt --topology rooted.nwk cmp expected.rates.txt erable.rates.txt