Metadata-Version: 2.4
Name: caddforge-unidock-tools
Version: 1.1.3
Summary: CADDForge-maintained redistribution of Uni-Dock Tools.
Author-email: Yannan Yuan <yuanyn@dp.tech>, Hang Zheng <zhengh@dp.tech>, Hong-Rui Lin <linhongrui@dp.tech>, Pengli Zhang <zhangpengli@dp.tech>
Maintainer-email: Manuel Sellner <manuel.sellner@idorsia.com>
License-Expression: Apache-2.0 AND GPL-2.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1)
Project-URL: Source, https://github.com/idorsia/caddforge-unidock-tools
Project-URL: Issues, https://github.com/idorsia/caddforge-unidock-tools/issues
Project-URL: Upstream source, https://github.com/dptech-corp/Uni-Dock
Project-URL: Upstream snapshot, https://github.com/dptech-corp/Uni-Dock/tree/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock_tools
Keywords: Docking
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: GPU :: NVIDIA CUDA
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: COPYING.GPL-2
License-File: NOTICE
License-File: COPYING.GPL-3
License-File: GCC-RUNTIME-EXCEPTION
License-File: GCC-RUNTIME-NOTICE
Requires-Dist: rdkit
Requires-Dist: MDAnalysis
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: pathos
Requires-Dist: openmm
Provides-Extra: release
Requires-Dist: build>=1.2; extra == "release"
Requires-Dist: twine>=6; extra == "release"
Requires-Dist: tomli>=2; python_version < "3.11" and extra == "release"
Dynamic: license-file

# caddforge-unidock-tools

CADDForge-maintained redistribution of [Uni-Dock Tools](https://github.com/dptech-corp/Uni-Dock/tree/1.1.3/unidock_tools),
with the original `unidock_tools` import package and `unidocktools` command.
This is an independent redistribution, not an official upstream release.
Credit for the implementation remains with the upstream authors.

Release candidate: **1.1.3**, based on upstream tag **1.1.3**, commit
[`caf3161b28f7ceb5aa3b13bc98a505cb76a39db3`](https://github.com/dptech-corp/Uni-Dock/tree/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3), subdirectory `unidock_tools`.
The upstream Python metadata says `0.0.1`; this redistribution follows the
monorepo release tag for its first maintained release. Future maintained
versions evolve independently of upstream.
The runtime Python files, templates, and parameter data are unchanged. The
bundled AutoGrid executable is rebuilt from the supplied AutoGrid 4.2.9 source
with a documented compatibility patch; see [its source and build instructions](vendor/autogrid/README.md).

```bash
python -m pip install caddforge-unidock-tools==1.1.3
unidocktools --help
unidocktools ligandprep --help
unidocktools proteinprep --help
```

The installation example applies after publication; this candidate is not yet
published. The wheel is tagged **manylinux_2_28_x86_64** and includes a rebuilt native
executable; it is not a portable pure-Python wheel. It requires Linux x86-64 with glibc 2.28 or newer. The GCC OpenMP runtime
is linked statically under its Runtime Library Exception; no separate `libgomp`
installation is needed. Building the Python package from its source archive
retains that executable and does not add support for other platforms. AutoGrid
can also be rebuilt offline from its supplied source.
The missing upstream `openmm` dependency is declared by this redistribution.
The Uni-Dock executable / CUDA, AmberTools commands (`pdb4amber`, `reduce`,
`tleap`), and optional conformer generators remain separate external software.
Before replacing an existing `unidock-tools` distribution, uninstall it in your
environment: the old and renamed distributions share the same import package
and CLI and must not be installed together.

The Python implementation retains its **Apache-2.0** licence. The bundled
AutoGrid executable (version string `4.2.9+caddforge.1`) and `AD4.1_bound.dat`
retain **GPLv2-or-later** terms, reflected in the combined distribution's
licence metadata. The statically linked GCC OpenMP runtime retains GPLv3-or-later
with the GCC Runtime Library Exception 3.1. See `NOTICE` and `RELEASING.md`. Both the wheel and source archive include
AutoGrid source, the compatibility patch, provenance, and an offline build script.
The wheel installs these under `share/caddforge-unidock-tools/autogrid/` in the
Python environment. The original binary with unverified corresponding source
is excluded from the release artifacts.

Maintained source: [idorsia/caddforge-unidock-tools](https://github.com/idorsia/caddforge-unidock-tools).
Report redistribution issues in the [maintained issue tracker](https://github.com/idorsia/caddforge-unidock-tools/issues).
Builds and tests run on branches and pull requests; pushing a matching `v1.1.3`
tag initiates the PyPI release workflow after successful validation.

## Upstream documentation

# Introduction

Based on Uni-Dock, we have developed several user-friendly and enhanced applications in **Uni-Dock Tools**.
Main features are:

- Individual receptor and ligand preparation applications

- End-to-End Uni-Dock pipeline starting from common formats receptor and ligands

- Multi-Conformation Docking (mcdock): See [MCDock Introduction](https://github.com/dptech-corp/Uni-Dock/blob/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock_tools/MCDOCK.md#introduction)

# Installation

## Dependency

- [Uni-Dock](https://github.com/dptech-corp/Uni-Dock/blob/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock/README.md#installation)
- Python >= 3.8
- MGLTools, if you want to use AD4 scoring function in Uni-Dock
- MCDock dependencies, see [MCDock Installation](https://github.com/dptech-corp/Uni-Dock/blob/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock_tools/MCDOCK.md#installation)

## Install

Clone Uni-Dock repo, and under `unidock_tools` subdirectory run ```pip install .```

Or ```pip install git+https://github.com/dptech-corp/Uni-Dock.git#subdirectory=unidock_tools```

## Docker

 We provide docker image with all the dependencies installed. You can pull the docker image from the following link:

```docker pull dptechnology:unidocktools```

And run the docker container using the following command:

```docker run --gpus 0 -it -v $(pwd):/workpsace unidocktools:v1.0.0 cd /workspace &&  <Your command>```

# Applications

## 1. ProteinPrep

Prepare and Convert PDB-format receptor protein into PDBQT format

`unidocktools proteinprep -r <Input PDB File> -o <Output PDBQT File Path>`

## 2. LigandPrep

Prepare ligands to be used in Uni-Dock

`unidocktools ligandprep -l <Input SDF ligand files, use commas to seperate> -sd <output_dir> -bs <batch_size=1200>`

or write a list of ligand files in a text file and use the following command:

`unidocktools ligandprep -i <Txt File> -sd <output_dir>`

## 3. Uni-Dock Pipeline

End-to-End pipeline to run Uni-Dock with common-format receptor and ligands

`unidocktools unidock_pipeline -r <receptor file> -l <ligand files> -sd <output_dir> -cx <center_x> -cy <center_y> -cz <center_z>`

### Parameters

#### IO Parameters
- `-r, --receptor`: Path to the receptor file in PDBQT format.
- `-l, --ligands`: Path to the ligand file in SDF format. For multiple files, separate them by commas.
- `-i, --ligand_index`: A text file containing the path of ligand files in sdf format.
- `-sd, --savedir`: Save directory (default: 'unidock_results').

#### Pocket Parameters
- `-cx, --center_x`: X-coordinate of the docking box center.
- `-cy, --center_y`: Y-coordinate of the docking box center.
- `-cz, --center_z`: Z-coordinate of the docking box center.
- `-sx, --size_x`: Width of the docking box in the X direction (default: 22.5).
- `-sy, --size_y`: Width of the docking box in the Y direction (default: 22.5).
- `-sz, --size_z`: Width of the docking box in the Z direction (default: 22.5).

#### Docking Parameters
- `-sf, --scoring_function`: Scoring function (default: 'vina').
- `-ex, --exhaustiveness`: exhaustiveness (default: 128).
- `-ms, --max_step`: max_step (default: 20)
- `-nm, --num_modes`: Number of poses to output (default: 3).
- `-rs, --refine_step`: Refine step (default: 3).
- `-topn, --topn`: Top N pose results to keep (default: 100).

#### Others
- `-wd, --workdir`: Working directory (default: 'unidock_workdir').
- `-bs, --batch_size`: Batch size (default: 20).

## 4. Multi-Conformation Docking (mcdock)

See [MCDock Usage](https://github.com/dptech-corp/Uni-Dock/blob/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock_tools/MCDOCK.md#usage)

# License

The Uni-Dock Tools Python code is Apache-2.0 licensed; see [LICENSE](https://github.com/dptech-corp/Uni-Dock/blob/caf3161b28f7ceb5aa3b13bc98a505cb76a39db3/unidock_tools/LICENSE). The bundled AutoGrid executable and parameter data have separate GPLv2-or-later terms; see the redistribution notice above.
