Repository navigation
Releases
SeqForge v0.6.0
SeqForge v0.6.0
SeqForge 0.6.0 expands sequence analysis with motif searching, advanced k-mer analysis, sequence distances, reverse transcription, and sequence alignment, together with corresponding CLI support and FASTQ handling.
✨ New features
Motif analysis
- Motif searching with
find_motif() - Case-insensitive motif matching
- Overlapping motif detection
- User-facing motif positions are reported using 1-based coordinates
- CLI support for literal, FASTA, and FASTQ input
🧬 Reverse transcription
- RNA → complementary DNA reverse transcription
- Supported through the Python API with
Sequence.reverse_transcribe() - Preserves the sequence identifier
- CLI support for literal, FASTA, and FASTQ input
🧪 Advanced k-mer analysis
- Sliding-window k-mer generation
- K-mer counting
- K-mer frequency calculation
- Searching for multiple k-mers with
find_kmers() - 1-based positions for k-mer searches
- CLI support for k-mer counts, frequencies, and searches
- DNA, RNA, and protein molecule-type support
📏 Sequence distances
- Hamming distance calculation with
Sequence.distance() - Pairwise distance analysis for collections of sequences
- Support for DNA, RNA, and protein sequences
- CLI commands for individual and pairwise distance analysis
🧬 Sequence alignment
- Global pairwise sequence alignment
- Configurable match, mismatch, and gap scores
- Progressive multiple sequence alignment
- Support for DNA, RNA, and protein sequences
- CLI alignment command with literal, FASTA, and FASTQ input
💻 CLI improvements
New commands and capabilities include:
aligndistancedistanceskmeradvanced modesmotifreverse-transcribe
Existing commands were also extended with broader FASTQ and molecule-type support where applicable.
🧪 Testing and quality
The 0.6.0 release continues SeqForge's test-driven development approach with automated coverage for the new API and CLI functionality, including FASTA and FASTQ multi-record workflows.
📦 Installation
uv syncSeqForge v0.5.0
SeqForge v0.5.0
SeqForge v0.5.0 introduces sequence filtering and windowed GC analysis, with full CLI integration.
Added
- Sequence filtering by minimum and maximum length
- Sequence filtering by motif
- FASTQ read filtering by minimum mean quality
- New
filterCLI command - Combined filtering criteria using AND semantics
- GC content analysis using sliding windows
- Windowed GC analysis for literal, FASTA, and FASTQ input
- 1-based positions in windowed GC output
CLI examples
seqforge filter sequences.fasta --min-length 100
seqforge filter sequences.fasta --motif ATG
seqforge filter reads.fastq --min-quality 30
seqforge gc sequence.fasta --window-size 100Quality
- 311 tests passing
- Python 3.12+ supported
SeqForge v0.4.0
🧬 SeqForge v0.4.0
SeqForge v0.4.0 introduces explicit molecule-type support, extending the toolkit beyond DNA-focused analysis.
✨ What's new
- DNA, RNA, and protein molecule types
- Molecule-aware sequence validation
- RNA reverse-complement support
- RNA translation and ORF detection
- Protein amino acid statistics
- Molecule-aware CLI commands
- DNA/RNA/protein support across literal, FASTA, and FASTQ workflows
- Expanded documentation and docstrings
🧪 Testing
- 264 tests passing
🐍 Requirements
- Python 3.12+
SeqForge 0.3.0
SeqForge 0.3.0
SeqForge 0.3.0 expands the toolkit beyond its initial FASTA and CLI foundations, adding biological reading-frame conventions, strand-aware transcription, FASTQ support, read-quality analysis, and k-mer analysis.
Highlights
- Migrated user-facing reading frames from
0/1/2to biological1/2/3. - Added coding and template strand semantics to DNA transcription.
- Added
seqforge transcribewith support for:- literal sequences
- FASTA files
- multi-record FASTA files
- coding, template, and both-strand transcription
- Added FASTQ parsing with multi-record support.
- Added
FastqReadwith Phred+33 quality analysis. - Added per-read quality metrics:
- mean quality
- minimum quality
- maximum quality
- Expanded
statsfor FASTQ input with:- read count
- mean read length
- overall mean quality
- mean GC content
- minimum read length
- maximum read length
- Added FASTQ support to GC-content analysis.
- Added k-mer generation and counting to the Python API.
- Added
seqforge kmerwith:- literal sequence input
- FASTA input
- FASTQ input
- multi-record processing
--counts
- Improved input resolution with FASTA and FASTQ record handling.
- Expanded automated test coverage to 182 tests.
- Updated documentation for FASTQ, k-mers, reading frames, and strand-aware transcription.
Examples
seqforge transcribe gene.fasta --strand template
seqforge stats reads.fastq
seqforge kmer genome.fasta --k 3
seqforge kmer reads.fastq --k 31 --counts
seqforge orf genome.fasta --strand both --frame 2Notes
SeqForge 0.3.0 continues to focus on clear APIs, predictable behaviour, automated testing, and an intuitive command-line experience.
This release establishes FASTQ as a supported format for read-oriented analysis while keeping reference-sequence operations such as translation, transcription, and ORF detection focused on literal sequences and FASTA input.
Testing
The release was built and verified with:
uv run pytest
uv buildTest suite: 182 passed.
SeqForge v0.2.0
SeqForge 0.2.0
SeqForge 0.2.0 expands the project from a core DNA sequence analysis library into a more practical command-line toolkit.
Highlights
- Added a functional CLI with:
seqforge gcseqforge statsseqforge translateseqforge orfseqforge version
- Added direct FASTA file input from the CLI.
- Added multi-record FASTA processing.
- Added explicit reading-frame selection for translation and ORF detection.
- Added forward, reverse, and both-strand ORF searches.
- Added strand-aware ORF output for the CLI.
- Added consistent CLI input resolution for literal sequences and FASTA files.
- Improved error handling for missing and invalid FASTA files.
- Centralized codon interpretation for translation and ORF detection.
- Expanded the automated test suite to 118 tests.
- Updated the documentation for the new CLI and FASTA workflows.
Examples
seqforge stats sequence.fasta
seqforge translate gene.fasta --frame 1
seqforge orf genome.fasta --strand bothNotes
SeqForge 0.2.0 continues to focus on a clear Python API, predictable behaviour, automated testing, and an intuitive command-line experience.
SeqForge v0.1.0
SeqForge v0.1.0
Initial release of SeqForge, a Python toolkit for biological sequence analysis.
Highlights
- FASTA parsing
- Sequence statistics
- GC content
- Reverse complement
- DNA → RNA transcription
- DNA → protein translation
- IUPAC ambiguity-code support
- Motif searching
- ORF detection
- Python API
- Command-line interface
- Python 3.12+ support
Quality
- 68 automated tests
- GitHub Actions CI
- Source distribution and wheel builds
- Clean installation verified from the built wheel
Installation
Download the wheel or source distribution from the assets below.