Metadata-Version: 2.3
Name: deli-chem
Version: 0.1.1a0
Summary: DNA encoded library sequence analysis software with custom library design support
Keywords: DNA-encoded library,DEL,cheminformatics,bioinformatics,drug discovery
Author: James Wellnitz
Author-email: wellnitz.james@gmail.com
Maintainer: James Wellnitz
Maintainer-email: wellnitz.james@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: ml
Provides-Extra: notebook
Provides-Extra: test
Requires-Dist: Jinja2 (>=3.1.3)
Requires-Dist: Levenshtein (>=0.25.0)
Requires-Dist: biopython (==1.85)
Requires-Dist: click (>=8.1.3)
Requires-Dist: cutadapt (==5.0)
Requires-Dist: dnaio (==1.2.3)
Requires-Dist: ipykernel (==5.5.5) ; extra == "notebook"
Requires-Dist: ipython (==7.22.0) ; extra == "notebook"
Requires-Dist: matplotlib (>=3.9.3)
Requires-Dist: matplotlib-venn (==0.11.10)
Requires-Dist: mypy (>=1.8.0,<1.9.0) ; extra == "dev"
Requires-Dist: notebook (==7.1.3) ; extra == "notebook"
Requires-Dist: numba (>=0.60.0)
Requires-Dist: numpy (<2.0)
Requires-Dist: pandas (>=2.2.3)
Requires-Dist: plotly (>=5.20.0)
Requires-Dist: poetry (>=2.0.0,<2.1.0) ; extra == "dev"
Requires-Dist: poetry-bumpversion (>=0.3.1,<0.4.0) ; extra == "dev"
Requires-Dist: polars (>=0.20.10)
Requires-Dist: pre-commit (>=3.8.0,<3.9.0) ; extra == "dev"
Requires-Dist: pytest (>=7.2.0,<7.3.0) ; extra == "test"
Requires-Dist: pytest-cov (>=4.0.0,<4.1.0) ; extra == "test"
Requires-Dist: pytest-html (>=3.2.0,<3.3.0) ; extra == "test"
Requires-Dist: pytorch-lightning (>=2.0.0) ; extra == "ml"
Requires-Dist: pyyaml (==6.0.2)
Requires-Dist: rdkit (>=2024.9.5)
Requires-Dist: ruff (>=0.5.5,<0.6.0) ; extra == "dev"
Requires-Dist: scikit-learn (>=1.4.2)
Requires-Dist: scipy (>=1.14.1)
Requires-Dist: seaborn (>=0.12.2)
Requires-Dist: sphinx (>=7.1.2,<7.2.0) ; extra == "docs"
Requires-Dist: sphinx_rtd_theme (>=2.0.0,<2.1.0) ; extra == "docs"
Requires-Dist: torch (>=2.2.0) ; extra == "ml"
Requires-Dist: torch-geometric (==2.6.1) ; extra == "ml"
Requires-Dist: torchaudio (>=2.2.0) ; extra == "ml"
Requires-Dist: torchvision (>=0.17.0) ; extra == "ml"
Requires-Dist: tqdm (>=4.66.4)
Requires-Dist: types-PyYAML (==6.0.12.20241230) ; extra == "dev"
Requires-Dist: typing-extensions (>=4.0.0)
Project-URL: Homepage, https://github.com/Popov-Lab-UNC/DELi
Project-URL: Issues, https://github.com/Popov-Lab-UNC/DELi/issues
Project-URL: Repository, https://github.com/Popov-Lab-UNC/DELi
Description-Content-Type: text/markdown

# DELi
![DELi](./DELi_logo.png)

> [!WARNING]
> **Disclaimer:** DELi is currently under active development. Features and documentation WILL change. Use with caution.

DELi (DNA-Encoded-Library informatics) is the software suite used by the CICBDD to do their in-house DEL analysis.
It incorporates the whole pipeline post base-calling/sequencing including:
- Barcode/DEL ID calling and cube file generation
- Enumeration of chemical structures from building blocks
- Disython and Monosynthon analysis
- Binary classification of enriched DELs (TODO)
- Generation of machine learning datasets and baseline models from DEL data
- Various digestible reports to understand the DEL results

You can read the detailed documentation [here](https://dna-encoded-library-informatics-deli.readthedocs.io/en/latest/).

## Installing DELi
You can install DELi using pip for any OS/Machine that supports Python 3.11+:

```shell
pip install deli-chem
```

## Getting Started
For an end-to-end workflow of running DELi with open source libraries and selections (Enumerate, Decode, Analyze), see the [examples documentation](examples/readme.md).

## Why not a compiled language
DELi is written in Python for two reasons:
1. We wrote the first versions of it in Python
2. Python is the language most scientists in our field know, so it makes contributions from other DEL experts easier

It is true that DELi would be faster as a compiled C++ or Rust program, but we have optimized the DELi enough that runtime isn't much of an issue.
We hope to someday write a Rust version of DELi (at least for decoding and enumeration) but those plans are not yet in motion.

**Note for developers:** Feel free to use `poetry build` to build DELi from source when developing or testing locally. This command will generate the `dist/` directory (if it doesn't already exist) and place the source and wheel distributions inside it.

