A pattern-driven Huffman encoding and positional encoding for DNA compression
Keywords:
Compression Ratio, Deoxyribonucleic Acid, Huffman Coding, Positional Encoding TechniqueAbstract
Researchers from bioinformatics, biology, biotechnology, and medical sciences who are engaged in genetic data analysis face significant challenges in the manipulation and storage of large datasets. Compression algorithms are essential for increasing storage capacity and reducing the number of bits required to represent nucleotide bases. The Pattern-driven Huffman Encoding and Positional Encoding for DNA Compression (P2DNAComp) algorithm is designed to compress both non-repetitive and repetitive pattern bases within DNA sequences. This demonstrates the algorithm’s adaptability across various pattern types in genomic data. P2DNAComp employs a systematic approach to efficiently compress DNA sequences. It reads the sequences and constructs a symbol table to maintain the positional values of repeated patterns. Using Huffman coding, the algorithm determines the optimal bit representation for each repeated pattern to maximize storage efficiency. For non-repetitive patterns, a coded table is created to store positional values. Subsequently, a positional encoding technique is applied to minimize the number of bits needed for efficient representation. The maximum positional value is set as the upper limit, and the minimum number of bits required is computed using a binary logarithm function. The final compressed sequence is generated by encoding both repetitive and non-repetitive patterns. Using standard datasets from the GenBank database, the performance of the P2DNAComp algorithm was evaluated based on compression ratio, compression/decompression time, and compression gain. The algorithm achieved an average compression ratio of 1.09 bits per base (bpb), an average compression gain of 86.279%, and average compression and decompression times of 0.547 and 0.563 seconds, respectively.
Downloads
Downloads
Published
Deprecated: Carbon\Traits\Date::getDaysFromStartOfWeek(): Implicitly marking parameter $weekStartsAt as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php on line 1394
Deprecated: Carbon\Traits\Date::setDaysFromStartOfWeek(): Implicitly marking parameter $weekStartsAt as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php on line 1412
Deprecated: Carbon\Traits\Date::utcOffset(): Implicitly marking parameter $minuteOffset as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Date.php on line 1481
Deprecated: Carbon\Traits\Localization::locale(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php on line 447
Deprecated: Symfony\Contracts\Translation\TranslatorInterface::trans(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation-contracts/TranslatorInterface.php on line 62
Deprecated: Symfony\Contracts\Translation\TranslatorInterface::trans(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation-contracts/TranslatorInterface.php on line 62
Deprecated: Carbon\Traits\Test::setDefaultTimezone(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Test.php on line 203
Deprecated: Return type of Carbon\Traits\Date::createFromTimestamp($timestamp, $tz = null) should either be compatible with DateTime::createFromTimestamp(int|float $timestamp): static, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/Traits/Timestamp.php on line 29
Deprecated: Carbon\CarbonTimeZone::toOffsetName(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php on line 158
Deprecated: Carbon\CarbonTimeZone::toOffsetTimeZone(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php on line 172
Deprecated: Carbon\CarbonTimeZone::toRegionName(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php on line 188
Deprecated: Carbon\CarbonTimeZone::toRegionTimeZone(): Implicitly marking parameter $date as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/CarbonTimeZone.php on line 230
Deprecated: Symfony\Component\Translation\Translator::__construct(): Implicitly marking parameter $formatter as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 71
Deprecated: Symfony\Component\Translation\Translator::__construct(): Implicitly marking parameter $cacheDir as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 71
Deprecated: Symfony\Component\Translation\Translator::addResource(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 109
Deprecated: Symfony\Component\Translation\Translator::trans(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 176
Deprecated: Symfony\Component\Translation\Translator::trans(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 176
Deprecated: Symfony\Component\Translation\Translator::getCatalogue(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Translator.php on line 211
Deprecated: Symfony\Component\Translation\MessageCatalogue::all(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/MessageCatalogue.php on line 66
Deprecated: Symfony\Component\Translation\MessageCatalogueInterface::all(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/MessageCatalogueInterface.php on line 42
Deprecated: Symfony\Component\Translation\TranslatorBagInterface::getCatalogue(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/TranslatorBagInterface.php on line 28
Deprecated: Carbon\AbstractTranslator::__construct(): Implicitly marking parameter $formatter as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/nesbot/carbon/src/Carbon/AbstractTranslator.php on line 81
Deprecated: Symfony\Component\Translation\Formatter\MessageFormatter::__construct(): Implicitly marking parameter $translator as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Formatter/MessageFormatter.php on line 31
Deprecated: Symfony\Component\Translation\Formatter\MessageFormatter::__construct(): Implicitly marking parameter $intlFormatter as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation/Formatter/MessageFormatter.php on line 31
Deprecated: Symfony\Contracts\Translation\TranslatorTrait::trans(): Implicitly marking parameter $domain as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation-contracts/TranslatorTrait.php on line 44
Deprecated: Symfony\Contracts\Translation\TranslatorTrait::trans(): Implicitly marking parameter $locale as nullable is deprecated, the explicit nullable type must be used instead in /home/me0q8pmuecdl/scientifictemper.com/ojs-3.4/lib/pkp/lib/vendor/symfony/translation-contracts/TranslatorTrait.php on line 44
30-06-2025
Issue
Section
License
Copyright (c) 2025 The Scientific Temper

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
