🧬 Bioutils Collection
Production-ready bioinformatics toolkit - 77+ optimized functions for sequence analysis, alignment, annotation, and molecular biology workflows.
✨ Highlights
- 🚀 77+ specialized functions across 13 bioinformatics domains
- 🔒 Fully typed with complete type hints (mypy strict)
- 📊 Research-grade algorithms - Needleman-Wunsch, Smith-Waterman, and more
- ⚡ Performance optimized for large-scale genomic data
- ✅ Extensively tested with comprehensive test coverage
- 📝 Self-documenting - NumPy-style docstrings with examples
📦 Installation
pip install bioutils-collection
Requirements: Python 3.10+ with numpy, scipy, and scikit-learn
🎯 Quick Start
from bioutils_collection import (
reverse_complement,
gc_content,
needleman_wunsch,
parse_fasta,
translate_dna_to_protein,
)
# Sequence manipulation
seq = "ATCGATCG"
rev_comp = reverse_complement(seq) # "CGATCGAT"
# Calculate GC content
gc = gc_content("ATCGATCG") # 0.5
# Global sequence alignment
seq1, seq2 = "GATTACA", "GCATGCU"
aligned1, aligned2, score = needleman_wunsch(seq1, seq2)
# Parse FASTA files
for header, sequence in parse_fasta("genome.fasta"):
print(f"{header}: {len(sequence)} bp")
# Translate DNA to protein
protein = translate_dna_to_protein("ATGGCCTAA") # "MA*"
🧬 Modules
Core Sequence Operations
alignment_functions- Pairwise & multiple sequence alignment (Needleman-Wunsch, Smith-Waterman, BLAST score ratio)sequence_operations- Reverse complement, ORF finding, CpG islands, low-complexity filteringtranslation_functions- DNA↔RNA transcription, translation with custom codon tables
Sequence Analysis & Statistics
gc_functions- GC content, GC skew, windowed GC profilingsequence_statistics- Codon usage (CAI, ENC, RSCU), melting temp, isoelectric point, amino acid compositiondata_validation- DNA/RNA/protein sequence validation
File I/O & Parsing
fasta_misc- FASTA parsing, writing, filtering, splitting, concatenation, primer generationannotation_functions- BED/GFF/GTF/VCF parsing and conversion, annotation statistics
Pattern & Motif Discovery
motif_functions- Motif search, consensus generation, pattern matchingrepeat_functions- Tandem repeat finder, palindrome detectionrestriction_functions- Restriction enzyme site identificationclustering_functions- Motif clustering and grouping
�🔬 Use Cases
Genomic Analysis
from bioutils_collection import find_orfs, gc_content_windows, find_cpg_islands
# Find all ORFs in a sequence
orfs = find_orfs(dna_sequence, min_length=300)
# Sliding window GC analysis
gc_proDevelopment
```bash
# Clone repository
git clone https://github.com/MForofontov/bioutils-collection.git
cd bioutils-collection
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run specific test categories
pytest -m alignment
pytest -m fasta
pytest -m translation
# Type checking
mypy bioutils_collection
# Linting
ruff check .
# Coverage report
pytest --cov=bioutils_collection --cov-report=html
📚 API Documentation
All functions include:
- ✅ Complete type hints for static analysis
- 📖 NumPy-style docstrings with parameter descriptions
- 💡 Usage examples in docstrings
- ⚠️ Complexity notes for performance-critical code
- 📎 Algorithm references where applicable
Example:
from bioutils_collection import needleman_wunsch
help(needleman_wunsch) # Comprehensive documentation
🤝 Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Add comprehensive tests
- Ensure all tests pass (
pytest) - Add type hints and docstrings
- Submit a pull request
Development Guidelines:
- Follow existing code style (ruff formatting)
- Add tests for all new functions
- Update documentation
- Keep functions focused and single-purpose
🔗 Related Projects
- BioPython - Comprehensive biological computation library
- scikit-bio - Scientific Python library for bioinformatics
- pyutils-collection - General Python utilities (sister project)
Protein properties
pi = calculate_isoelectric_point(protein_seq) composition = amino_acid_composition(protein_seq)
Primer design
tm = melting_temperature("ATCGATCGATCG")
## 🧪 Testing
```bash
# Run all tests
pytest
# Run specific module tests
pytest -m alignment
pytest -m fasta
pytest -m translation
# Run with coverage
pytest --cov=bioutils_collection --cov-report=html
📖 Documentation
Each function includes:
- Complete type hints for static analysis
- NumPy-style docstrings with parameter descriptions
- Usage examples in docstrings
- Complexity notes for performance-critical code
- Algorithm references where applicable
📊 Project Stats
- 77+ Functions across 13 specialized modules
- 670+ Tests with comprehensive coverage
- Type-safe with mypy strict mode
- Python 3.10+ with modern type hints
📮 Contact & Support
- Author: Mykyta Forofontov
- Repository: github.com/MForofontov/bioutils-collection
- Issues: Report bugs or request features
- PyPI: pypi.org/project/bioutils-collection
Star this repo if you find it useful!
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
📄 License
MIT © 2026 Mykyta Forofontov
See LICENSE for the full license text.
🔗 Related Projects
- BioPython - Comprehensive bioinformatics toolkit
- scikit-bio - Scientific Python library for bioinformatics
📮 Contact
Author: Mykyta Forofontov
Repository: https://github.com/MForofontov/bioutils-collection
Issues: https://github.com/MForofontov/bioutils-collection/issues
Metadata
Release files for bioutils-collection 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bioutils_collection-0.3.0.tar.gz | 60.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bioutils_collection-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 171.8 kB
Release files / bioutils_collection-0.3.0.tar.gz
| Download URL | bioutils_collection-0.3.0.tar.gz |
|---|---|
| Size | 60.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21897b5142413b2d1397c27e38bf1a33dd922d48f8dc7b689d3ba79046ad735c
|
|
BLAKE2b-256 checksum How to use checksums |
a2415c332b156e332d6b67a23add210ae61ddd428bc85cccf3ad2bed1d13b4e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency logRelease files / bioutils_collection-0.3.0-py3-none-any.whl
| Download URL | bioutils_collection-0.3.0-py3-none-any.whl |
|---|---|
| Size | 110.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acca177e46a35c13b2a7f2794473afd4a3c1cdd13b610885141b72b33cd4459b
|
|
BLAKE2b-256 checksum How to use checksums |
bfe6f4a1f59329b7e318216c96e6c1bb3a5338ba1d3687e3e40f8124746222eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 4, 2026.
Transparency log