Высокопроизводительные технологии секвенирования привели к резкому снижению затрат на секвенирование генома и к удивительно быстрому накоплению геномных данных. Эти технологии позволяют проводить амбициозные проекты по секвенированию генома, такие как 1000 Genomes Project и 1001 ( Arabidopsis thaliana ) Genomes Project. Хранение и передача огромного количества геномных данных стали основной проблемой, мотивируя разработку высокопроизводительных инструментов сжатия, специально предназначенных для геномных данных. Недавний всплеск интереса к разработке новых алгоритмов и инструментов для хранения и управления данными геномного повторного секвенирования подчеркивает растущий спрос на эффективные методы сжатия геномных данных.
В то время как стандартные инструменты сжатия данных (например, zip и rar) используются для сжатия данных последовательностей (например, база данных плоских файлов GenBank ), этот подход подвергается критике как экстравагантный, поскольку геномные последовательности часто содержат повторяющийся контент (например, микросателлитные последовательности) или многие последовательности демонстрируют высокий уровень сходства (например, несколько геномных последовательностей одного и того же вида). Кроме того, статистические и информационно-теоретические свойства геномных последовательностей могут потенциально использоваться для сжатия данных секвенирования. [1] [2] [3]
При наличии эталонного шаблона необходимо регистрировать только различия (например, замены и вставки/делеции отдельных нуклеотидов), что значительно сокращает объем хранимой информации. Понятие относительного сжатия очевидно, особенно в проектах по повторному секвенированию генома, где целью является обнаружение вариаций в отдельных геномах. Использование эталонной карты полиморфизма отдельных нуклеотидов ( SNP ), такой как dbSNP , может быть использовано для дальнейшего улучшения количества вариантов для хранения. [4]
Другая полезная идея — хранить относительные геномные координаты вместо абсолютных координат. [4] Например, представляя варианты последовательностей оснований в формате « Position1Base1Position2Base2… », «123C125T130G» можно сократить до «0C2T5G», где целые числа представляют интервалы между вариантами. Стоимость — это скромные арифметические вычисления, необходимые для восстановления абсолютных координат, плюс хранение поправочного коэффициента («123» в этом примере).
Дальнейшее сокращение может быть достигнуто, если все возможные позиции замен в пуле последовательностей генома известны заранее. [4] Например, если известны все местоположения SNP в популяции человека, то нет необходимости регистрировать информацию о координатах вариантов (например, «123C125T130G» можно сократить до «CTG»). Однако этот подход редко бывает целесообразным, поскольку такая информация обычно неполна или недоступна.
Схемы кодирования используются для преобразования целых чисел координат в двоичную форму для обеспечения дополнительного сжатия. Конструкции кодирования, такие как код Голомба и код Хаффмана , были включены в инструменты сжатия геномных данных. [5] [6] [7] [8] [9] [10] Конечно, схемы кодирования влекут за собой сопутствующие алгоритмы декодирования. Выбор схемы декодирования потенциально влияет на эффективность извлечения информации о последовательности.
Универсальный подход к сжатию геномных данных не обязательно может быть оптимальным, поскольку конкретный метод может быть более подходящим для определенных целей и задач. Таким образом, несколько вариантов дизайна, которые потенциально влияют на производительность сжатия, могут быть важны для рассмотрения.
Выбор референсной последовательности для относительного сжатия может повлиять на производительность сжатия. Выбор консенсусной референсной последовательности вместо более конкретной референсной последовательности (например, пересмотренной Кембриджской референсной последовательности ) может привести к более высокому коэффициенту сжатия, поскольку консенсусная референсная последовательность может содержать меньше предвзятости в своих данных. [4] Однако знание об источнике сжимаемой последовательности может быть использовано для достижения большего выигрыша в сжатии. Была предложена идея использования нескольких референсных последовательностей. [4] Брэндон и др. (2009) [4] намекнули на потенциальное использование шаблонов референсных последовательностей, специфичных для этнических групп, используя сжатие данных вариантов митохондриальной ДНК в качестве примера (см. Рисунок 2). Авторы обнаружили смещенное распределение гаплотипов в последовательностях митохондриальной ДНК африканцев, азиатов и евразийцев относительно пересмотренной Кембриджской референсной последовательности . Их результат предполагает, что пересмотренная Кембриджская референсная последовательность не всегда может быть оптимальной, поскольку необходимо хранить большее количество вариантов при ее использовании против данных от этнически далеких людей. Кроме того, эталонная последовательность может быть разработана на основе статистических свойств [1] [4] или спроектирована [11] [12] для улучшения степени сжатия.
Было изучено применение различных типов схем кодирования для кодирования вариантов баз и геномных координат. [4] Фиксированные коды, такие как код Голомба и код Райса , подходят, когда распределение вариантов или координат (представленных как целое число) хорошо определено. Переменные коды, такие как код Хаффмана , обеспечивают более общую схему кодирования энтропии, когда базовое распределение вариантов и/или координат не очень хорошо определено (это обычно имеет место в данных геномной последовательности).
Коэффициент сжатия имеющихся в настоящее время инструментов сжатия геномных данных колеблется от 65 до 1200 раз для человеческих геномов. [4] [5] [6] [7] [8] [9] [10] [13] Очень близкие варианты или ревизии одного и того же генома могут быть сжаты очень эффективно (например, сообщалось о коэффициенте сжатия 18 133 [6] для двух ревизий одного и того же генома A. thaliana, которые идентичны на 99,999%). Однако такое сжатие не является показателем типичного коэффициента сжатия для разных геномов (особей) одного и того же организма. Наиболее распространенной схемой кодирования среди этих инструментов является кодирование Хаффмана , которое используется для сжатия данных без потерь .
Программное обеспечение | Описание | Степень сжатия | Данные, используемые для оценки | Подход/Схема кодирования | Связь | Лицензия на использование | Ссылка |
---|---|---|---|---|---|---|---|
PetaSuite | Инструмент сжатия без потерь для файлов BAM и FASTQ.gz; прозрачное обратное считывание «на лету» через виртуальные файлы BAM и FASTQ.gz | 60% - 90% | Последовательности генома человека из проекта «1000 геномов» | https://petagene.com | Коммерческий | [14] | |
Генозип | Универсальный компрессор для геномных файлов – сжимает файлы FASTQ, SAM/BAM/CRAM, VCF/BCF, FASTA, GFF/GTF/GVF, PHYLIP, BED и 23andMe | [15] [16] | Последовательности генома человека из проекта «1000 геномов» | Расширяемая структура Genozip | http://genozip.com | Коммерческое, но бесплатное для некоммерческого использования | [17] |
Геномное сжатие (G-SQZ) | Инструмент сжатия без потерь, предназначенный для хранения и анализа данных чтения секвенирования | 65% - 76% | Последовательности генома человека из проекта «1000 геномов» | Кодирование Хаффмана | http://public.tgen.org/sqz | -Необъявленный- | [8] |
CRAM (часть SAMtools ) | Высокоэффективное и настраиваемое сжатие данных последовательностей на основе ссылок | [18] | Европейский архив нуклеотидов | дефляция и rANS | http://www.ebi.ac.uk/ena/software/cram-toolkit | Апач-2.0 | [19] |
Геномный компрессор (GeCo) | Инструмент, использующий смесь нескольких моделей Маркова для сжатия референтных и безреферентных последовательностей. | Последовательность ядерного генома человека | Арифметическое кодирование | http://bioinformatics.ua.pt/software/geco/ или https://pratas.github.io/geco/ | GPLv3 | [13] | |
Кодеки GenomSys | Сжатие без потерь файлов BAM и FASTQ в стандартный формат ISO/IEC 23092 [20] (MPEG-G) | 60% - 90% | Последовательности генома человека из проекта «1000 геномов» | Контекстно-адаптивное двоичное арифметическое кодирование (CABAC) | https://www.genomsys.com | Коммерческий | [21] |
фастафы | Сжатие файлов FASTA / UCSC2Bit в сжатые архивы с произвольным доступом. Набор инструментов для виртуального монтирования файлов FASTA, индексов и файлов словарей. Это позволяет аккуратно интегрировать файловую систему (подобную API) без необходимости полной распаковки архивов для произвольного / частичного доступа. | FASTA-файлы | Кодирование Хаффмана, реализованное Zstd | https://github.com/yhoogstrate/fastafs | GPL-v2.0 | [22] |
Программное обеспечение | Описание | Степень сжатия | Данные, используемые для оценки | Подход/Схема кодирования | Связь | Лицензия на использование | Ссылка |
---|---|---|---|---|---|---|---|
Геномный дифференциальный компрессор (GDC) | Инструмент в стиле LZ77 для сжатия нескольких геномов одного вида | 180–250-кратное / 70–100-кратное | Последовательность ядерного генома человека и Saccharomyces cerevisiae | Кодирование Хаффмана | http://sun.aei.polsl.pl/gdc | GPLv2 | [5] |
Повторное секвенирование генома (GRS) | Инструмент на основе референтной последовательности, независимый от референтной карты SNP или информации об вариациях последовательностей | 159-кратный / 18,133-кратный / 82-кратный | Последовательность ядерного генома человека, Arabidopsis thaliana (различные ревизии одного и того же генома) и Oryza sativa | Кодирование Хаффмана | https://web.archive.org/web/20121209070434/http://gmdd.shgmo.org/Computational-Biology/GRS/ | бесплатно для некоммерческого использования | [6] |
Кодирование повторного секвенирования генома (GReEN) | Инструмент на основе вероятностной модели копирования для сжатия данных повторного секвенирования с использованием референтной последовательности | ~100-кратный | Последовательность ядерного генома человека | Арифметическое кодирование | http://bioinformatics.ua.pt/software/green/ | -Необъявленный- | [7] |
DNAzip | Пакет инструментов для сжатия | ~750-кратный | Последовательность ядерного генома человека | Кодирование Хаффмана | http://www.ics.uci.edu/~dnazip/ | -Необъявленный- | [9] |
GenomeZip | Сжатие относительно референтного генома. Опционально использует внешние базы данных геномных вариаций (например, dbSNP) | ~1200-кратный | Последовательность ядерного генома человека (Уотсон) и последовательности из проекта «1000 геномов» | Энтропийное кодирование для аппроксимации эмпирических распределений | https://sourceforge.net/projects/genomezip/ | -Необъявленный- | [10] |