Cofactor Specificity Reversal - Semi-Automated Library Design
A computational tool for designing site-directed mutagenesis libraries to reverse cofactor specificity in NAD(P)-dependent enzymes.
https://github.com/fhalab/CSR-SALAD
CSR SALAD analyzes protein-cofactor binding sites from PDB structures and designs targeted mutagenesis libraries to switch cofactor specificity between NAD and NADP. The tool:
- Identifies residues involved in cofactor binding
- Classifies residues by their interaction geometry (edge, face, bidentate, etc.)
- Generates optimized degenerate codon libraries for specificity reversal
- Suggests additional positions for activity recovery through saturation mutagenesis
- Automated Binding Site Analysis: Identifies first and second shell residues around NAD(P) cofactors
- Geometric Classification: Categorizes residues based on their 3D orientation relative to the adenine ring
- Smart Library Design: Generates minimal libraries within user-defined size constraints
- Recovery Suggestions: Identifies backing residues and hydrogen-bonding partners for activity recovery
- Flexible Options: Exclude/include glycine-rich motifs, diphosphate-binding residues, and peripheral residues
- Clone this repository:
git clone https://github.com/fhalab/CSR-SALAD.git
cd CSR-SALAD- Create the conda environment from the provided file:
conda env create -f environment.yml- Activate the environment:
conda activate csr-salad- Launch JupyterLab:
jupyter lab- Clone this repository:
git clone https://github.com/fhalab/CSR-SALAD.git
cd CSR-SALAD- Ensure you have Python 3.8+ installed
- Install dependencies:
pip install -r requirements.txt- Launch JupyterLab:
jupyter labFor development or if you want to install as a package:
- Clone the repository:
git clone https://github.com/fhalab/CSR-SALAD.git
cd CSR-SALAD- Install in editable mode:
pip install -e .- Python 3.8 or higher
- Biopython >= 1.79
- NumPy >= 1.20.0
- Pandas >= 1.3.0
- JupyterLab >= 3.0.0
- IPython >= 7.0.0
-
Open
CSR_SALAD_v10.1.ipynbin JupyterLab -
In the first cell, configure your parameters:
infile: Path to your PDB file containing the protein-cofactor complexmax_size: Maximum library size (typically 0.5× your screening capacity)ex_motif: Exclude glycine-rich motif residues from the libraryex_diphos: Exclude diphosphate-contacting residuesex_periph: Exclude peripheral residuesverbose: Show detailed analysis log
-
Run all cells (Cell → Run All)
-
Results will appear at the bottom showing:
- Library design with degenerate codons
- Site-saturation mutagenesis targets for activity recovery
infile = './my_enzyme.pdb'
max_size = 400 # Target library size
ex_motif = True # Exclude glycine-rich motif
ex_diphos = True # Exclude diphosphate contacts
ex_periph = False # Include peripheral residues
verbose = False # Minimal outputYour PDB file must contain:
- A complete protein structure (or relevant domain)
- At least one bound cofactor molecule with residue name:
NAPorNDPfor NADP (designing NAD→NADP library)NADorNAIfor NAD (designing NADP→NAD library)
The tool generates two main outputs:
-
Library Design Table
- Position and residue type
- Binding classification (Edge, Face, Bidentate, etc.)
- Degenerate codon for mutagenesis
- Encoded amino acid diversity
-
Recovery Targets Table
- Residues prioritized for site-saturation mutagenesis
- Priority level (High, Medium, Low)
- Reason for inclusion (backing residue, H-bonding, excluded from library)
CSR SALAD uses a geometric analysis approach:
- Cofactor Detection: Identifies NAD(P) molecules in the structure
- First Shell Identification: Finds residues within 4.2 Å of the 2'-phosphate moiety
- Geometric Classification:
- Transforms residue coordinates into adenine ring-centered coordinate system
- Classifies based on 3D position (edge, face, bidentate contacts)
- Identifies glycine-rich motifs
- Library Generation:
- Assigns pre-validated degenerate codons based on wild-type residue and geometry
- Optimizes library size by selective inclusion/exclusion
- Recovery Analysis:
- Identifies backing residues behind the adenine ring
- Finds second-shell charged residues
- Detects hydrogen-bonding partners
If you use CSR SALAD in your research, please cite:
CSR SALAD Version 10.1 (2025)
Adapted by Jackson Cahn
California Institute of Technology
Original methodology:
CSR SALAD Version 8 (2015)
Jackson Cahn
California Institute of Technology
"Cofactor not found"
- Ensure your PDB file contains NAP/NDP (for NADP) or NAD/NAI (for NAD)
- Check that the cofactor residue names are correctly formatted
"No phosphate atoms found"
- Verify that your cofactor molecule is complete in the PDB file
- Missing atoms may prevent proper analysis
"No residues classified"
- Try expanding the search radius by setting
ex_periph = False - Check that protein residues are near the cofactor binding site
Library too large
- Increase
max_sizeparameter - Enable exclusion options (
ex_motif,ex_diphos,ex_periph)
Copyright California Institute of Technology All rights reserved
Jackson Cahn California Institute of Technology
- v10.1 (October 2025): Updated analysis algorithms and library designs
- v8 (December 2015): Original implementation
For questions, issues, or suggestions, please open an issue on the GitHub repository.