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.