dockposegen 1.0.0
A Tool for Ligands pose extraction and Complex Building Workflow

# dockposegen

```text
  _____             _                             
 |  __ \           | |                            
 | |  | | ___   ___| | ___ __   ___  ___  ___  __ _  ___ _ __ 
 | |  | |/ _ \ / __| |/ / '_ \ / _ \/ __|/ _ \/ _` |/ _ \ '_ \ 
 | |__| | (_) | (__|   <| |_) | (_) \__ \  __/ (_| |  __/ | | |
 |_____/ \___/ \___|_|\_\ .__/ \___/|___/\___|\__, |\___|_| |_|
                        | |                    __/ |          
                        |_|                   |___/
(version: 1.0.0)
```
<h1 style="font-weight:800; font-size:1.7em;">
  Ligand Pose Extraction and Complex Assembly Workflow.
</h1>

  For more tools visit: https://github.com/alpha-horizon

---
**dockposegen** is a specialized tool designed to automate the post-processing of molecular docking results. It extracts individual conformations (poses) from AutoDock Vina pdbqt outputs and merges them with a receptor protein to create ready-to-use receptor-ligand complex PDB files.

---

# Input Requirements
- **Receptor**: A file named `receptor.pdb` in the root directory.
- **Docking Results**: All `*_out.pdbqt` files should be placed in the `out_pdbqt/` folder. 
  
  *Note: These are the standard output files generated by AutoDock Vina or AutoDock.*
  
---
## pip Installation

To install dockposegen, you can use the command mentioned below.

        pip install dockposegen
---

## Command Line Usage

To run the workflow from the command line, use:

        dockposegen

Options:

        dockposegen --version  
        dockposegen --help
---
  
## Overview
This Python script automates the process of generating Ligand poses and ligand-receptor complexes. The workflow involves several steps:

1. **PDBQT to PDB Conversion**: Extracts individual poses from PDBQT files and saves them as PDB files.
2. **Ligands List Generation**: Creates a list of ligand IDs from the generated ligand poses.
3. **User Ligand Selection**: Prompts the user to select ligands based on the generated list.
4. **Complex Creation**: Combines receptor PDB and selected ligand poses to create ligand-receptor complexes.

## Workflow Steps

### Step 1: PDBQT to PDB (Pose Extraction)
- **Input**: Files from `out_pdbqt` directory (e.g., `*_out.pdbqt`).
- **Output**: PDB files for each pose in the `ligand_poses` directory.
- **Description**: For each PDBQT file, individual ligand poses are extracted and saved as separate PDB files.

**Log**: A log file (`pose_generation.log`) tracks how many poses are generated for each ligand.

### Step 2: Ligand ID List Generation
- **Input**: Ligand pose directories from `ligand_poses`.
- **Output**: A text file (`ligands_catalog.txt`) with one ligand ID per line.
- **Description**: The script scans the ligand poses directory and creates a list of ligand IDs (from directory names).

### Step 3: User Ligand Selection
- **Input**: `ligands_catalog.txt`.
- **Output**: User-selected ligand IDs.
- **Description**: Prompts the user to enter one or more ligand IDs for processing.

### Step 4: Ligand-Receptor Complex Creation
- **Input**: Receptor PDB (`receptor.pdb`), selected ligand poses (from the `ligand_poses` folder).
- **Output**: PDB files for each ligand-receptor complex in the `complexes` directory.
- **Description**: For each selected ligand ID, the script combines each ligand pose with the receptor and writes the resulting complex to a PDB file.

---
## File Structure
- `out_pdbqt/`: Contains input PDBQT files. (file name ends with *_out.pdbqt)
- `ligand_poses/`: Directory where ligand pose PDB files are saved.
- `complexes/`: Directory where ligand-receptor complexes are saved.
- `ligands_catalog.txt`: Contains a list of ligand(s) name(s).
- `pose_generation.log`: Log of the pose extraction process.
- `receptor.pdb`: Your receptor in .pdb format.

---
## Contribution

For more tools or to report issues, visit the official GitHub repository:

GitHub: https://github.com/alpha-horizon

---