A lightweight Python package for bioinformatics tasks, designed for educational purposes. The project demonstrates clean Python code, object-oriented programming, and practical usage of third-party bioinformatics libraries.
- Object-oriented representation of biological sequences
- Abstract base class
BiologicalSequencedefining a common interface - DNA and RNA sequences implemented via inheritance and polymorphism
- Protein (amino acid) sequences with domain-specific methods
Supported operations:
- Length calculation (
len(sequence)) - Indexing and slicing
- Pretty string representation
- Alphabet validation
- DNA/RNA complement, reverse, and reverse-complement
- DNA transcription into RNA
- FASTQ filtering using Biopython (
SeqIO,SeqRecord,SeqUtils) - Filtering by:
- Sequence length
- GC content (fraction)
- Mean Phred quality score
- Convert multiline FASTA files into single-line FASTA format
- Parse BLAST text output
- Extract unique top-hit protein names
- Sort results alphabetically
- Python 3.9+
- Biopython
Install dependencies with:
pip install -r requirements.txt