Высокопроизводительные технологии секвенирования привели к резкому снижению затрат на секвенирование генома и к удивительно быстрому накоплению геномных данных. Эти технологии позволяют проводить амбициозные проекты по секвенированию генома, такие как 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%). Однако такое сжатие не является показателем типичного коэффициента сжатия для разных геномов (особей) одного и того же организма. Наиболее распространенной схемой кодирования среди этих инструментов является кодирование Хаффмана , которое используется для сжатия данных без потерь .