diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99569578..bb67e6a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: - name: Run Tests run: | chmod +x test/roadies_env_test.sh - ./test/roadies_env_test.sh + source test/roadies_env_test.sh pip3 install ete3 six numpy pip install PyYAML python run_roadies.py --cores 32 --config test/test_config.yaml --mode accurate diff --git a/test/roadies_env_test.sh b/test/roadies_env_test.sh index 886dad4a..521d8086 100644 --- a/test/roadies_env_test.sh +++ b/test/roadies_env_test.sh @@ -1,31 +1,93 @@ #!/bin/bash -sudo apt-get update -sudo apt-get install -y wget unzip make g++ python3 python3-pip python3-setuptools git vim screen default-jre libgomp1 libboost-all-dev cmake +# sudo apt-get update +# sudo apt-get install -y wget unzip make g++ python3 python3-pip python3-setuptools git vim screen default-jre libgomp1 libboost-all-dev cmake -# Download ASTER repository -wget https://github.com/chaoszhang/ASTER/archive/refs/heads/Linux.zip -unzip Linux.zip -cd ASTER-Linux -make -cd .. +# # Download ASTER repository +# wget https://github.com/chaoszhang/ASTER/archive/refs/heads/Linux.zip +# unzip Linux.zip +# cd ASTER-Linux +# make +# cd .. -# Clone PASTA repository and install -git clone https://github.com/smirarab/pasta.git +# # Clone PASTA repository and install +# git clone https://github.com/smirarab/pasta.git -# Clone Sate-Tools repository -git clone https://github.com/smirarab/sate-tools-linux.git +# # Clone Sate-Tools repository +# git clone https://github.com/smirarab/sate-tools-linux.git -cd pasta -python3 setup.py develop --user -cd .. - -#build sampling code -cd workflow/scripts/sampling -mkdir build -cd build -cmake .. -make -cd ../../../.. - -echo "Setup complete" +# cd pasta +# python3 setup.py develop --user +# cd .. + +# #build sampling code +# cd workflow/scripts/sampling +# mkdir build +# cd build +# cmake .. +# make +# cd ../../../.. + +# echo "Setup complete" + +#!/bin/bash + +# Required installations: +# sudo apt-get install -y wget unzip make g++ python3 python3-pip python3-setuptools git vim screen default-jre libgomp1 libboost-all-dev cmake + +# Define installation paths and check for directory +CONDA_PATH="${HOME}/conda" +ROADIES_ENV_SETUP="roadies_env.sh" + +# Download and install Mambaforge if not already installed +if [ ! -d "${CONDA_PATH}" ]; then + wget -q https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh -O Mambaforge-Linux-x86_64.sh + bash Mambaforge-Linux-x86_64.sh -b -p "${CONDA_PATH}" +fi + +# Create and setup the Conda environment if it doesn't exist +source "${CONDA_PATH}/etc/profile.d/conda.sh" # Temporarily source conda for this script +source "${CONDA_PATH}/etc/profile.d/mamba.sh" # Temporarily source mamba for this script +if ! conda env list | grep -q "roadies_env"; then + mamba create -y -c conda-forge -c bioconda --name roadies_env snakemake alive-progress biopython iqtree=2.2.0.3 numpy lastz mashtree matplotlib seaborn treeswift=1.1.28 fasttree=2.1.11 python=3.11 raxml-ng ete3 +fi +conda activate roadies_env + +# Download and setup ASTER repository if not already done +if [ ! -d "ASTER-Linux" ]; then + wget -q https://github.com/chaoszhang/ASTER/archive/refs/heads/Linux.zip -O Linux.zip + unzip -q Linux.zip + cd ASTER-Linux + make + g++ -D CASTLES -std=gnu++11 -march=native -Ofast -pthread src/astral-pro.cpp -o bin/astral-pro2 + cd .. +fi + +# Clone and setup PASTA if not already done +if [ ! -d "pasta" ]; then + git clone https://github.com/smirarab/pasta.git + cd pasta + python3 setup.py develop --user + cd .. +fi + +# Clone Sate-Tools if not already done +if [ ! -d "sate-tools-linux" ]; then + git clone https://github.com/smirarab/sate-tools-linux.git +fi + +# Build sampling code +if [ ! -d "workflow/scripts/sampling/build" ]; then + cd workflow/scripts/sampling + mkdir build + cd build + cmake .. + make + cd ../../../.. +fi + +# Install ete3 for the user, only if it is not already installed +python3 -m pip show ete3 &>/dev/null || python3 -m pip install --user ete3 + +echo "Setup complete. Remember to source '${ROADIES_ENV_SETUP}' before running your projects." +