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: Deseq2-like normalization
- 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 .
With conda environment
Create a conda environment from the provided environment.yml file:
conda env create --file=environment.yml
conda activate zavolab_pyutils
The environment automatically installs the package and all dependencies including ipykernel for Jupyter notebook support.
From PyPI (TO DO)
pip install zavolab_pyutils
From bioconda (TO DO)
conda install -c bioconda zavolab_pyutils
Quick Start
Library Size Normalization
import pandas as pd
from zavolab_pyutils.read_count_data_analysis import deseq2_normalize
# Create sample count matrix (genes × samples) as a DataFrame
data = {
"Sample_1": [100, 50, 200],
"Sample_2": [200, 100, 400],
"Sample_3": [150, 80, 300],
}
counts_df = pd.DataFrame(data, index=["Gene_1", "Gene_2", "Gene_3"])
# Normalize using DESeq2 method
norm_counts_df, size_factors_df = deseq2_normalize(
counts_df,
sample_list=["Sample_1", "Sample_2", "Sample_3"]
)
print(norm_counts_df)
print(size_factors_df)
Documentation and examples of usage
For detailed documentation, see the docs directory. TO DO
For a working example, see test_module.ipynb which demonstrates the deseq2_normalize function with sample data.
Testing TO DO
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zavolab_pyutils-0.1.3.tar.gz.
File metadata
- Download URL: zavolab_pyutils-0.1.3.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a69d4beb69bc91884456fba51e6889c989665dde550f718e6f4996d21dd4dde8
|
|
| MD5 |
9573640e5316a8f79354d3d0719f4ecd
|
|
| BLAKE2b-256 |
e51df2152991b0fa2818de53b0ba94a26d61a5b61c6ea3ab9cd3bdce62b550eb
|
File details
Details for the file zavolab_pyutils-0.1.3-py3-none-any.whl.
File metadata
- Download URL: zavolab_pyutils-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65ca1fcd4f07d55bc58c5e83b8275d492c365bb26fa9fc121815789567e942ba
|
|
| MD5 |
e49844befdd6b2dead45a08dcb91e9be
|
|
| BLAKE2b-256 |
e2b86a6630fc91cb33028fe35b891300a5f71f24bdbe7629cffcd1a5ae11312d
|