Installation
Setup a Python environment
To ensure a clean and isolated setup, we recommend to use uv, a lightweight tool that simplifies Python environment and package management. If you don’t have it yet:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path += ";$env:USERPROFILE\.local\bin"
Create and activate a virtual environment with uv:
uv venv
source .venv/bin/activate
uv venv
.venv\Scripts\activate
Tip
Using uv helps manage dependencies easily and keeps your environment clean, avoiding conflicts with other Python packages.
Install WILDkCAT from PyPI
Install WILDkCAT directly from PyPI:
uv pip install wildkcat
Verify the installation by checking the version:
wildkcat --version
Environment Setup
Provide your BRENDA login credentials and Entrez API email adress to query the BRENDA enzyme database and NCBI database.
Create a file named .env in the root of your project with the following content:
ENTREZ_EMAIL=your_email@example.com
BRENDA_EMAIL=your_email@example.com
BRENDA_PASSWORD=your_password
Note
- Replace the placeholders with the credentials from the BRENDA website account you created.
Danger
- Keep the file
.envprivate (e.g., add it to your.gitignore) as it contains sensitive information.
Install CataPro
CataPro is required for predicting kcat values using machine learning
1. Install dependencies
uv pip install torch transformers numpy pandas RDKit sentencepiece
2. Clone the CataPro repository
git clone https://github.com/zchwang/CataPro
3. Set up Git LFS
CataPro uses Git Large File Storage (LFS) to handle large model files. If you don't have Git LFS installed, you can install it using the following command:
git lfs install
4. Download the models
CataPro requires the models ProtT5 model and MolT5 model.
Warning
The models prot_t5_xl_uniref50 and molt5-base-smiles2caption required for CataPro are 64 and 1.9 GB, respectively.
cd CataPro/models/
LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/Rostlab/prot_t5_xl_uniref50
cd prot_t5_xl_uniref50
git lfs pull
cd ..
LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/laituan245/molt5-base-smiles2caption
cd molt5-base-smiles2caption
git lfs pull
cd ../..
git -c filter.lfs.smudge= -c filter.lfs.required=false clone https://huggingface.co/Rostlab/prot_t5_xl_uniref50
cd prot_t5_xl_uniref50
git lfs pull
cd ..
git -c filter.lfs.smudge= -c filter.lfs.required=false clone https://huggingface.co/laituan245/molt5-base-smiles2caption
cd molt5-base-smiles2caption
git lfs pull
cd ../..