Skip to main content

Genomic data analysis utilities from Zavolan Lab

Project description

zavolab_pyutils

Genomic data analysis utilities from the Zavolan Lab. A collection of Python utilities for common bioinformatics tasks including library size normalization, annotation conversion, and other genomic data analysis operations.

Features

  • Library Size Normalization: Multiple normalization methods (TMM, TPM, quantile, median)
  • Annotation Conversion: Convert between GTF and GFF3 formats
  • Genomic Data Processing: Utilities for working with genomic annotation files

Installation

From source

git clone https://github.com/zavolab/zavolab_pyutils.git
cd zavolab_pyutils
pip install -e .

From conda (after bioconda release)

conda install -c bioconda zavolab_pyutils

Development installation

git clone https://github.com/zavolab/zavolab_pyutils.git
cd zavolab_pyutils
pip install -e ".[dev]"

Quick Start

Library Size Normalization

import numpy as np
from genomic_utils import normalize_by_library_size

# Sample count matrix (genes × samples)
counts = np.array([
    [100, 200, 150],
    [50, 100, 80],
    [200, 400, 300],
])

# Normalize by library size (TMM method)
normalized = normalize_by_library_size(counts, method="tmm")

Annotation Conversion

from genomic_utils import convert_gff_to_gtf

# Convert GFF3 to GTF format
convert_gff_to_gtf("input.gff3", "output.gtf")

Documentation

For detailed documentation, see the docs directory.

Testing

Run the test suite with pytest:

pytest tests/

Run with coverage:

pytest tests/ --cov=src/genomic_utils

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure all tests pass and add new tests for new functionality.

Citation

If you use zavolab_pyutils in your research, please cite:

TODO: Add citation information

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For issues, questions, or suggestions, please open an issue on GitHub.

Acknowledgments

Developed by the Zavolan Lab at the University of Basel.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zavolab_pyutils-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zavolab_pyutils-0.1.1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file zavolab_pyutils-0.1.1.tar.gz.

File metadata

  • Download URL: zavolab_pyutils-0.1.1.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for zavolab_pyutils-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8737ccdc6ac40917127309d0cb8687b2086b926ca9f06f4ee494df5e88438ea7
MD5 f6afde6ff28d291b306f6183cf4895af
BLAKE2b-256 50d71d51fe6f995d5d49c9ee3460a9ce4af25c1b85863729d75c5fa5890c5096

See more details on using hashes here.

File details

Details for the file zavolab_pyutils-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for zavolab_pyutils-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f620ced10a5d9742d0fc5a8a031e529396891d41ecee410c30414c39c4c2529
MD5 9ccde122f8b46eb691c7e5e347b6847e
BLAKE2b-256 edc9bb5ea7412a99f793530560c6e60b5e15d17bc5a578cb147ea3d0ab9eebdc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page