Loading...
Overview Prerequisites Installation Usage Workflow

Search-ML Documentation

v1.3.1 Linux / macOS / WSL MIT License

Search-ML is a streamlined, serial execution pipeline designed to automate the virtual screening of protein-ligand complexes. It integrates structural preparation, feature extraction using AmberTools and RDKit, and machine learning predictions into a single, unified command.


🚀 Key Features

Automated Pre-processing

Automatically extracts coordinates, cleans PDBs, and splits chains without manual intervention.

AmberTools Integration

Seamlessly runs tleap for system parameterization and topology generation.

Smart Feature Extraction

Calculates SASA, pocket volume, and electrostatic properties using robust Python modules.

Targeted Screening

Optimized for rapid screening against DrugBank and FDA libraries.

🛠️ Prerequisites

  • OS: Linux, macOS, or Windows (via WSL2)
  • Manager: Miniconda or Anaconda installed
  • Version Control: Git

📥 Installation Guide

1

Clone the Repository

Terminal
git clone https://github.com/dheeraj-scfbio/search-ml.git
cd search-ml
2

Download the Model

# Move downloaded file to the models directory
mv ~/Downloads/final_rf_model.joblib ./models/
3

Run Installer & Activate

chmod +x install.sh
./install.sh

# 1. Deactivate the conda or other activated environment
conda deactivate

# 2. Check if the variable is set
echo $SEARCH_ML_HOME

# 3. IF the output is empty, run the following to set it:
conda env config vars set SEARCH_ML_HOME="$(pwd)" --name search-ml

# 4. Reload environment to apply changes
conda activate search-ml

🪟 Windows Users (WSL2)

Note: AmberTools requires a Unix-based environment. You must use WSL2 (Windows Subsystem for Linux) to run this tool on Windows.

Step 1: Enable WSL2
  1. Open PowerShell as Administrator.
  2. Run: wsl --install
  3. Restart your computer.
  4. Launch "Ubuntu" from the Start Menu and create a user account.
Step 2: Setup inside Ubuntu
sudo apt-get update && sudo apt-get install git -y
git clone "https://github.com/dheeraj-scfbio/search-ml.git"
cd search-ml

📖 Usage & Syntax

Execution Warning

Do NOT use sh to run the script. Use bash or execute directly.

Syntax
./master.sh   
Argument Description Example
PDB_FILENAME Filename with extension 1abc.pdb
LIGAND_CODE 3-letter Residue Name LIG, MOL
DATABASE Target Library DB, FDA

Step-by-Step Examples

Scenario A: DrugBank Screening

Screening protein 9kte.pdb containing ligand 9UM against the DrugBank database.

bash master.sh 9kte.pdb 9UM DB

Scenario B: FDA Screening

Target: target_prot.pdb, Ligand: LIG against approved drugs.

./master.sh target_prot.pdb LIG FDA

Output Explanation

The job creates a directory named after the current timestamp (e.g., 1734177600) to prevent overwriting.

results.txt

The main file containing predicted affinity scores sorted by rank.

job.log

Execution log capturing all STDOUT and STDERR. Check this first if a job fails.

PROT_LIG.pdb

The cleaned and merged complex file used for calculation.

leap.log

Detailed AmberTools log from the tleap process.


Workflow Logic

  1. 1

    Validation

    Checks input PDB existence and validates protein chain length (> 24 AA).

  2. 2

    Preparation

    Splits PDB into PROT.pdb and ligand, then merges into a clean complex.

  3. 3

    Parameterization

    Runs tleap to generate topology and check for missing atoms.

  4. 4

    Featurization & Prediction

    Calculates SASA/Volume via RDKit and feeds data into the Random Forest Regressor.

Troubleshooting

Syntax error near unexpected token

Cause: Running with sh instead of bash.
Fix: Use bash master.sh ...

Protein size must be >= 25 amino acids

Cause: PDB fragment is too small.
Fix: Use a larger structure or check for missing residues.

Maintainer: Dheeraj Kumar Chaurasia

SCFBio, IIT Delhi

Contact Support