1. Installation
To install the pharmaforge package, currently you must use git to clone the repository and install the package.
1.1. Miniforge Instructions
To install the pharmaforge package from Gitlab, we use miniforge (a minimal version of conda) to create a new environment and install the package using the pre-built conda pacakge described in env.yaml.
For this, to install miniforge you need to follow the instructions in the miniforge github page, but minimally this involves downloading the installer script and running it. Miniforge is located here: Miniforge.
A simple install for miniforge is as follows:
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh
Once miniforge is installed, you can create a new environment and install the pharmaforge package using the following commands:
1.2. Git Instructions
To install the pharmaforge package from GitHub, you need to clone the repository and install the package using the pre-built conda package described in env.yaml.
source ~/.bashrc # to update environment if you just installed miniforge.
git clone git@gitlab.com:RutgersLBSR/mldatabase.git
cd mldatabase
mamba env create -f env.yaml
conda activate pharmaforge
pip install .
This will install the pharmaforge package in the current environment, making it available for use in python scripts.
1.3. MongoDB Installation
To use the pharmaforge package, you need to have MongoDB installed and running on localhost:27017 (at the moment).
1.3.1. Linux Instructions
To install MongoDB on a Fedora Linux , you do the following.
sudo dnf -y update
#Adding MongoDB repo
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
yum clean all
yum makecache
sudo dnf -y install mongodb-org
mongo -version
Then, you will need to start the MongoDB service and enable it to start on boot.
#Start and Enable MongoDB service
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
#To check the status, do this:
sudo systemctl status mongod.service
1.3.2. MacOS Instructions (Apple Silicon)
To install MongoDB on a MacOS with Apple Silicon, you can use Homebrew to install MongoDB.
brew tap mongodb/brew
brew update
brew install mongodb-community@8.0
brew services start mongodb-community@8.0
Note
To stop the MongoDB service, you can use the following command:
brew services stop mongodb-community@8.0
1.4. Interfaces to Other Codes
The pharmaforge package is shipped with a number of interfaces to other codes. These various codes though can have system dependent installation requirements, and thus are not installed by default with pharmaforge. It should be noted that these interfaces are not required to use the pharmaforge package, but some examples and functionalities of the package may require them.
The following interfaces are available with a base installation of pharmaforge: - dpdata - deepmd-kit
1.4.1. Psi4 Interface
Psi4 is a quantum chemistry package that can be used to perform quantum mechanical calculations on molecular systems. The pharmaforge package includes an interface to Psi4, which allows users to perform quantum mechanical calculations on molecular systems using the pharmaforge package.
To install Psi4, you can use the following command:
mamba install psi4 -c psi4 -c conda-forge
This will install Psi4 and its dependencies in the current environment. For platform-specific installation instructions, please refer to the Psi4 documentation, located here: Psi4.
Warning
Psi4 currently has dependencies that are not compatible with the deepmd-gnn package. Thus, a choice must be made between using Psi4 or deepmd-gnn in the same environment. By default, the pharmaforge package will install Psi4, but if you want to use deepmd-gnn, you can follow the instructions above for creating a new mamba environment and use env_gnn.yaml instead of env.yaml. This will install the deepmd-gnn package and its dependencies, but not Psi4.
1.4.2. XTB Interface
XTB is a quantum chemistry package that can be used to perform quantum mechanical calculations on molecular systems. The pharmaforge package includes an interface to XTB, which allows users to perform quantum mechanical calculations on molecular systems using the pharmaforge package.
To install XTB, you can use the following command:
mamba install xtb-python -c conda-forge
This will install XTB and its dependencies in the current environment. For platform-specific installation instructions, please refer to the XTB documentation, located here: XTB.
1.4.3. DFTB+ Interface
DFTB+ is a quantum chemistry package that can be used to perform quantum mechanical calculations on molecular systems. The pharmaforge package includes an interface to DFTB+, which allows users to perform quantum mechanical calculations on molecular systems using the pharmaforge package.
To install the DFTB+ python interface, you can use the following command:
mamba install dftbplus-python=24.1 -c conda-forge
This will install DFTB+ and its dependencies in the current environment. For platform-specific installation instructions, please refer to the DFTB+ documentation, located here: DFTB+.
1.4.4. Gaussian Interface
Gaussian is a quantum chemistry package that can be used to perform quantum mechanical calculations on molecular systems. The pharmaforge package includes an interface to Gaussian, which allows users to perform quantum mechanical calculations on molecular systems using the pharmaforge package.
Gaussian is a commercial software package, and you will need to have a valid license to use it. The installation instructions for Gaussian can be found in the Gaussian documentation, located here: Gaussian.
To use Gaussian with the pharmaforge package, g16 must be installed and available in your PATH.
1.4.5. DeepMD-GNN Interface
DeepMD-GNN is a machine learning package that can be used to perform molecular dynamics simulations using neural networks. The pharmaforge package includes an interface to DeepMD-GNN, which allows users to perform calculations using neural networks on molecular systems using the pharmaforge package.
To install DeepMD-GNN, you can use the followiing command:
mamba env create -f env_gnn.yaml
mamba activate pharmaforge-gnn
Warning
DeepMD-GNN currently has dependencies that are not compatible with the Psi4 package. Thus, a choice must be made between using Psi4 or deepmd-gnn in the same environment. By default, the pharmaforge package will install Psi4, but if you want to use deepmd-gnn, you can follow the instructions above for creating a new mamba environment and use env_gnn.yaml as described above instead of env.yaml. This will install the deepmd-gnn package and its dependencies, but not Psi4.