Metadata-Version: 2.4
Name: deli-chem
Version: 0.1.2rc3
Summary: DNA encoded library sequence analysis software with custom library design support
License-Expression: MIT
License-File: LICENSE.txt
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
Classifier: License :: OSI Approved :: MIT License
Provides-Extra: ml
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: matplotlib (>=3.9.3)
Requires-Dist: matplotlib-venn (==0.11.10)
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: polars (>=0.20.10)
Requires-Dist: pytorch-lightning (>=2.0.0) ; extra == "ml"
Requires-Dist: pyyaml (==6.0.2)
Requires-Dist: rdkit (>=2024.9.5)
Requires-Dist: scikit-learn (>=1.4.2)
Requires-Dist: scipy (>=1.14.1)
Requires-Dist: seaborn (>=0.12.2)
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: 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](./assets/DELi_logo.png)

DELi (DNA-Encoded Library informatics) is a Python library for working with DELs.
It incorporates the whole pipeline post base-calling/sequencing including:
1. Barcode/DEL ID calling and cube file generation
2. Enumeration of chemical structures from building blocks
3. Disython and Monosynthon analysis
4. Generation of machine learning datasets and baseline models from DEL data
5. 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.10+:

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

## Getting Started

You can use DELi as a command line tool (see the [docs](https://dna-encoded-library-informatics-deli.readthedocs.io/en/latest/cli_docs.html) for more details) or as a python package
```python
import deli
print(deli.__version__)
```
> [!NOTE]
> installing DELi uses `deli-chem` but to use DELi after install make sure to use `deli` and that you have no other packages named `deli`

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:** DELi is built using poetry. You can use `poetry build` to build from source after
cloning the repo. Be on the lookout for contribution docs in the near future!

