Metadata-Version: 2.4
Name: dark-matter
Version: 7.5.0
Summary: Python library and utility scripts for working with genetic sequence data.
Author: Barbara Mühlemann, Tali Veith, Sophie Mathias, Udo Gieraths, Nikolai Zaki, David Pattinson
Author-email: Terry Jones <tcj25@cam.ac.uk>
License-Expression: MIT
Project-URL: Homepage, https://github.com/acorg/dark-matter
Project-URL: Bug Tracker, https://github.com/acorg/dark-matter/issues
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.16,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bio>=1.8.1
Requires-Dist: biopython>=1.87
Requires-Dist: bz2file>=0.98
Requires-Dist: cachetools>=5.5.2
Requires-Dist: Cython>=0.29.16
Requires-Dist: dendropy>=5.0.1
Requires-Dist: edlib>=1.3.9.post1
Requires-Dist: ete4>=4.4.0
Requires-Dist: gb2seq>=0.3.6
Requires-Dist: ipython>=8.12.3
Requires-Dist: kaleido>=1.2.0
Requires-Dist: matplotlib>=3.7.5
Requires-Dist: mysql-connector-python>=9.0.0
Requires-Dist: numpy>=1.14.2
Requires-Dist: plotly>=6.6.0
Requires-Dist: polars>=1.36.1
Requires-Dist: progressbar>=2.5
Requires-Dist: prseq>=0.0.34
Requires-Dist: pysam>=0.23.0
Requires-Dist: pyzmq>=14.3.1
Requires-Dist: requests>=2.32.3
Requires-Dist: rich>=14.0.0
Requires-Dist: scikit-learn>=1.3.2
Requires-Dist: simplejson>=3.5.3
Requires-Dist: summarize-ranges>=0.1.1
Requires-Dist: types-cachetools>=5.5.0
Requires-Dist: types-requests>=2.32.0
Requires-Dist: xlsxwriter>=3.2.9
Dynamic: license-file

[![PyPI](https://img.shields.io/pypi/v/dark-matter.svg)](https://pypi.org/project/dark-matter/)
[![Python Version](https://img.shields.io/pypi/pyversions/dark-matter.svg)](https://pypi.org/project/dark-matter/)
[![Downloads](https://img.shields.io/pypi/dm/dark-matter.svg)](https://pypi.org/project/dark-matter/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://app.travis-ci.com/acorg/dark-matter.svg?branch=master)](https://app.travis-ci.com/acorg/dark-matter)

# Dark matter

(Pure) Python scripts and libraries for bioinformatics.

## Overview

### Utility scripts

The `bin` directory contains over 100 utility scripts. These fall into
the following categories:

1. FASTA/FASTQ: general sequence inspection, filtering, and manipulation
1. DNA/amino-acid translation and codon tools
1. Pairwise sequence comparison
1. Multiple-sequence-alignment (MSA) and alignment-position analysis
1. Consensus-sequence building
1. Read mapping and SAM/BAM analysis
1. BLAST/DIAMOND hit processing and alignment panels
1. Protein/genome SQLite databases and GenBank data
1. Taxonomy
1. Phylogenetic trees (Newick)

### Library functions

1. Core reads & sequence I/O
1. DNA & amino-acid biology
1. Sequence alignment & comparison
1. Alignment-result containers, filtering & summarization
1. BLAST
1. DIAMOND
1. SAM/BAM, read mapping & consensus building
1. Protein/genome databases, GenBank & taxonomy
1. Phylogenetic trees
1. Visualization: plotting & HTML
1. General utilities

## Installation

```sh
pip install dark-matter
```

or, using [uv](https://docs.astral.sh/uv/):

```sh
uv add dark-matter
```

dark-matter supports Python 3.10 through 3.15.

## Documentation

* [`doc/scripts.md`](doc/scripts.md) — the command-line scripts in `bin`,
  for people who just want to run existing tools.
* [`doc/library.md`](doc/library.md) — the `dark` Python library under
  `src/dark`, for developers who want to write their own code against it.

## Developers

```sh
git clone https://github.com/acorg/dark-matter.git
cd dark-matter
uv sync
```

Run the tests with

```sh
make pytest
```

or directly via

```sh
uv run pytest
```

## License

MIT. See [LICENSE](LICENSE).
