Metadata-Version: 2.4
Name: genomeblocks
Version: 1.0.1
Summary: Fluent building blocks for regulatory genomics.
Author: Umut Berkay Altintas
License: MIT License
Project-URL: Homepage, https://birkiy.github.io/genomeblocks/
Project-URL: Documentation, https://birkiy.github.io/genomeblocks/
Project-URL: Repository, https://github.com/birkiy/genomeblocks
Project-URL: Issues, https://github.com/birkiy/genomeblocks/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: pybigtools
Requires-Dist: cooler
Requires-Dist: pyranges
Requires-Dist: tqdm
Requires-Dist: lightmotif
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pysam; extra == "test"
Provides-Extra: bam
Requires-Dist: pysam; extra == "bam"
Provides-Extra: viz
Requires-Dist: logomaker; extra == "viz"
Dynamic: license-file

Genomeblocks
============

Fluent building blocks for regulatory genomics.

- `Loci`: craft and manipulate candidate regulatory element (CRE) sets with set algebra.
- `Genes`: parse GTF / UCSC RefSeq and annotate CREs with promoter-anchored gene models.
- `Architecture`: chromatin-contact graphs over CREs — build from BEDPE loops, overlay mcool matrices, normalize, annotate, find hubs.
- `signal`: threaded bigWig extraction, TMM normalization, comparative heatmaps.
- `motifs`: JASPAR motif scanning over a FASTA genome and enrichment.
- `Atlas`: GIGGLE-style enrichment of a region set against a ChIP-Atlas index.
- `browser`: IGV-like, fully-vectorial region viewer.

📖 **Documentation**: [birkiy.github.io/genomeblocks](https://birkiy.github.io/genomeblocks/) — start with the [AR & FOXA1 walkthrough](https://birkiy.github.io/genomeblocks/walkthrough/).

Quick Start
-----------

```python
from genomeblocks import Architecture, Genes, Loci

cre = (Loci.make("atac.narrowPeak")
           .slop(100)
           .sort()
           .merge())

se = cre.intersect(Loci.make("H3K27ac_SE.bed"))

arch = (Architecture.make(cre, "RNAP_loops.bedpe", r=2500)
                    .add_mcool(cre, "RNAP.mcool", resolution=5000)
                    .normalize(cre))

genes  = Genes.make("gencode.v38.annotation.gtf", promoter_r=1000)
counts = genes.annotations(se & cre).groupby("annotation").size()
```

Setup
-----

```bash
conda env create -f environment.yml
conda activate genomeblocks
pip install -e .
```

For a pip-only install (no `graph-tool` → no `Architecture`):

```bash
pip install genomeblocks
```

See [the documentation](https://birkiy.github.io/genomeblocks/) for installation details, a full quickstart, module guides, and an API reference.

License
-------

MIT — see [LICENSE](LICENSE).
