This repository has been archived by the owner on Apr 25, 2022. It is now read-only.
/
ChemAutoInstaller.sh
82 lines (74 loc) · 1.81 KB
/
ChemAutoInstaller.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
cat <<EOF
ChemAutoInstaller
Use Anaconda to install common Chemistry packages.
Author:Jinzhe Zeng
Email:jzzeng@stu.ecnu.edu.cn
EOF
function usage() {
cat <<EOF
Available command-line options:
--all, -A Install all of softwares
--anaconda --openbabel --rdkit Install softwares one by one
--lammps --vmd --openmpi
--prefix Directory of Anaconda, default is $HOME/anaconda3
--help, -h See help
EOF
}
ARGS=$(getopt -a -o Ah -l prefix:,all,anaconda,openbabel,rdkit,lammps,vmd,openmpi,cn,help -- "$@")
[ $? -ne 0 ] && usage && exit
[ $# -eq 0 ] && usage && exit
eval set -- "${ARGS}"
CAI_ANACONDA_DIR=$HOME/anaconda3
CAI_ANACONDA_URL="https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh"
CAI_CONDA_FORGE=conda-forge
while true; do
case "$1" in
--prefix)
CAI_ANACONDA_DIR=$2
;;
--anaconda)
CAI_ANACONDA=42
;;
--openbabel)
CAI_PACKAGE="$CAI_PACKAGE openbabel"
;;
--rdkit)
CAI_PACKAGE="$CAI_PACKAGE rdkit"
;;
--lammps)
CAI_PACKAGE="$CAI_PACKAGE lammps"
;;
--vmd)
CAI_PACKAGE="$CAI_PACKAGE vmd"
;;
--openmpi)
CAI_PACKAGE="$CAI_PACKAGE openmpi"
;;
-A | --all)
CAI_PACKAGE="openbabel rdkit lammps vmd openmpi"
;;
-h | --help)
usage
exit
;;
--)
break
;;
esac
shift
done
test "$CAI_ANACONDA" || test "$CAI_PACKAGE" || exit
# check whether conda is installed
if ! [ -x "$(command -v conda)" ]; then
echo Installing Anaconda 3...
CAI_ANACONDA_BASH=$(mktemp)
wget -O "$CAI_ANACONDA_BASH" "$CAI_ANACONDA_URL" --progress=dot:giga
bash "$CAI_ANACONDA_BASH" -b -p "$CAI_ANACONDA_DIR"
rm -rf "$CAI_ANACONDA_BASH"
export PATH=$CAI_ANACONDA_DIR/bin:$PATH
conda init
fi
# use tsinghua mirror in China
test "$CAI_PACKAGE" && conda install $CAI_PACKAGE -c "$CAI_CONDA_FORGE" -y
conda clean --all -y