Skip to content

Commit

Permalink
Micromamba install (#604)
Browse files Browse the repository at this point in the history
Added Micromamba installation check
  • Loading branch information
kfir4444 committed Mar 12, 2023
2 parents 9f02dd3 + 93c8b5a commit a6af8f9
Show file tree
Hide file tree
Showing 8 changed files with 230 additions and 69 deletions.
40 changes: 32 additions & 8 deletions devtools/install_autotst.sh
Original file line number Diff line number Diff line change
@@ -1,17 +1,35 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check for package manager
if command -v mamba 2>/dev/null; then
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
elif command -v conda >/dev/null 2>&1; then
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "Error: mamba or conda is not installed. Please download and install mamba or conda - we strongly recommend mamba"
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/conda.sh"
fi

# temporarily change directory to install software, and move one directory up in the tree
pushd .
cd ..
Expand All @@ -37,7 +55,13 @@ echo $PYTHONPATH
# create the environment
echo "Creating the AutoTST environment..."
$COMMAND_PKG env create -f environment.yml
conda activate tst_env
# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate tst_env
else
conda activate tst_env
fi

$COMMAND_PKG install -c anaconda yaml -y

# Restore the original directory
Expand Down
42 changes: 34 additions & 8 deletions devtools/install_gcn_cpu.sh
Original file line number Diff line number Diff line change
@@ -1,17 +1,35 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check for package manager
if command -v mamba 2>/dev/null; then
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
elif command -v conda >/dev/null 2>&1; then
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "Error: mamba or conda is not installed. Please download and install mamba or conda - we strongly recommend mamba"
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/conda.sh"
fi

# temporarily change directory to install software
pushd .
cd ..
Expand All @@ -37,8 +55,16 @@ echo $PYTHONPATH
# create the environment
echo "Creating the GCN-cpu environment..."
source ~/.bashrc

bash devtools/create_env_cpu.sh
conda activate ts_gcn

# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate ts_gcn
else
conda activate ts_gcn
fi

$COMMAND_PKG env update -f devtools/cpu_environment.yml

# Restore the original directory
Expand Down
41 changes: 37 additions & 4 deletions devtools/install_kinbot.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,34 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/conda.sh"
fi

# temporarily change directory to install software, and move one directory up in the tree
pushd .
Expand All @@ -11,7 +39,12 @@ echo "Cloning/Updating KinBot..."
wget https://github.com/zadorlab/KinBot/archive/refs/tags/v2.0.6.tar.gz
tar -xvf "v2.0.6.tar.gz"
cd KinBot-2.0.6 || exit
conda activate arc_env
# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate arc_env
else
conda activate arc_env
fi
python setup.py build
python setup.py install

Expand Down
30 changes: 21 additions & 9 deletions devtools/install_ob.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,30 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check for package manager
if command -v mamba 2>/dev/null; then
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
elif command -v conda >/dev/null 2>&1; then
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "Error: mamba or conda is not installed. Please download and install mamba or conda - we strongly recommend mamba"
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

$COMMAND_PKG clean -a -y
$COMMAND_PKG env create -n ob_env conda-forge::openbabel
conda activate ob_env
# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate ob_env
else
conda activate ob_env
fi

$COMMAND_PKG install -c conda-forge pyyaml
conda deactivate
$COMMAND_PKG deactivate
61 changes: 42 additions & 19 deletions devtools/install_sella.sh
Original file line number Diff line number Diff line change
@@ -1,42 +1,65 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check if mamba or conda is installed
if command -v mamba > /dev/null; then
COMMAND_PKG=mamba
elif command -v conda > /dev/null; then
COMMAND_PKG=conda
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "mamba and conda are not installed. Please download and install mamba or conda - we strongly recommend mamba"
exit 1
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/conda.sh"
fi

# clone the repo in the parent directory
echo "Creating the Sella environment..."
source ~/.bashrc
$COMMAND_PKG create -n sella_env python=3.7 -y
conda activate sella_env
$COMMAND_PKG create -n sella_env python=3.7 -c conda-forge -y
# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate sella_env
else
conda activate sella_env
fi

$COMMAND_PKG install -c conda-forge xtb-python -y
$COMMAND_PKG install -c conda-forge pyyaml -y
$COMMAND_PKG install -c anaconda pandas -y
$COMMAND_PKG install -c conda-forge ase -y
$COMMAND_PKG install -c conda-forge ncurses
$COMMAND_PKG install -c anaconda pip -y
$CONDA_BASE/envs/sella_env/bin/pip install sella
$BASE/envs/sella_env/bin/pip install sella

cd $CONDA_BASE/envs/sella_env
cd $BASE/envs/sella_env || exit
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

#This sets up the LD_LIBRARY_PATH to include Sella_Env, but only when the environment is active
echo 'export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}' >> $CONDA_BASE/envs/sella_env/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:'"$CONDA_BASE"'/envs/sella_env/lib' >> $CONDA_BASE/envs/sella_env/etc/conda/activate.d/env_vars.sh
echo 'export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}' >> $BASE/envs/sella_env/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:'"$BASE"'/envs/sella_env/lib' >> $BASE/envs/sella_env/etc/conda/activate.d/env_vars.sh
#This will reset the LD_LIBRARY_PATH back to the original LD_LIBRARY_PATH when the environment is deactivated
echo 'export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}' >> $CONDA_BASE/envs/sella_env/etc/conda/deactivate.d/env_vars.sh
echo 'unset OLD_LD_LIBRARY_PATH' >> $CONDA_BASE/envs/sella_env/etc/conda/deactivate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH}' >> $BASE/envs/sella_env/etc/conda/deactivate.d/env_vars.sh
echo 'unset OLD_LD_LIBRARY_PATH' >> $BASE/envs/sella_env/etc/conda/deactivate.d/env_vars.sh

source ~/.bashrc
echo "Done installing Sella."
33 changes: 26 additions & 7 deletions devtools/install_torchani.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,35 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check for package manager
if command -v mamba 2>/dev/null; then
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
elif command -v conda >/dev/null 2>&1; then
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "Error: mamba or conda is not installed. Please download and install mamba or conda - we strongly recommend mamba"
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
CONDA_BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$CONDA_BASE/etc/profile.d/conda.sh"
fi

$COMMAND_PKG clean -a -y
echo creating tani_env
$COMMAND_PKG env create -f devtools/tani.yml
50 changes: 37 additions & 13 deletions devtools/install_xtb.sh
Original file line number Diff line number Diff line change
@@ -1,19 +1,43 @@
# Properly configure the shell to use 'conda activate'.
CONDA_BASE=$(conda info --base)
source $CONDA_BASE/etc/profile.d/conda.sh
#!/bin/bash -l

# Check if mamba or conda is installed
if command -v mamba > /dev/null; then
COMMAND_PKG=mamba
elif command -v conda > /dev/null; then
COMMAND_PKG=conda
# Check if Micromamba is installed
if [ -x "$(command -v micromamba)" ]; then
echo "Micromamba is installed."
COMMAND_PKG=micromamba
# Check if Mamba is installed
elif [ -x "$(command -v mamba)" ]; then
echo "Mamba is installed."
COMMAND_PKG=mamba
# Check if Conda is installed
elif [ -x "$(command -v conda)" ]; then
echo "Conda is installed."
COMMAND_PKG=conda
else
echo "mamba and conda are not installed. Please download and install mamba or conda - we strongly recommend mamba"
exit 1
echo "Micromamba, Mamba, and Conda are not installed. Please download and install one of them - we strongly recommend Micromamba or Mamba."
exit 1
fi

# Set up Conda/Micromamba environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
eval "$(micromamba shell hook --shell=bash)"
micromamba activate base
BASE=$MAMBA_ROOT_PREFIX
# shellcheck source=/dev/null
source "$BASE/etc/profile.d/micromamba.sh"
else
CONDA_BASE=$(conda info --base)
# shellcheck source=/dev/null
source "$CONDA_BASE/etc/profile.d/conda.sh"
fi

$COMMAND_PKG create -n xtb_env python=3.7 -c conda-forge -y
# Activate the environment
if [ "$COMMAND_PKG" == "micromamba" ]; then
micromamba activate xtb_env
else
conda activate xtb_env
fi

$COMMAND_PKG create -n xtb_env python=3.7 -y
conda activate xtb_env
$COMMAND_PKG install -c conda-forge xtb -y
$COMMAND_PKG install -c anaconda pyyaml -y
conda deactivate
$COMMAND_PKG activate base

0 comments on commit a6af8f9

Please sign in to comment.