bgzip - справочное руководство, опции, примеры команд


ИМЯ

bgzip - Утилита сжатия/распаковки блоков

СИНТАКСИС

bgzip [-cdfhikrt] [-b virtualOffset] [-I index_name] [-l compression_level] [-s size] [-@ threads] [file]

ОПИСАНИЕ

Bgzip сжимает файлы аналогично gzip(1) и совместим с ним. Файл сжат в серию небольших (менее 64 КБ) блоков «BGZF». Это позволяет создавать индексы для сжатого файла и использовать их для извлечения частей данных без необходимости распаковывать весь файл.

Если в командной строке файлы не указаны, bgzip сжимает (или распаковывает, если используется опция -d) стандартный ввод в стандартный вывод. Если указан файл, он будет сжат (или распакован с -d). Если используется опция -c, результат будет записан в стандартный вывод, иначе при сжатии bgzip запишет в новый файл с суффиксом .gz и удалит оригинал. При распаковке входной файл должен иметь суффикс .gz, который будет удален, чтобы сделать выходное имя. Опять же, после завершения распаковки входной файл будет удален.

ПАРАМЕТРЫ

--binary

Bgzip попытается гарантировать, что блоки BGZF заканчиваются новой строкой, когда входным файлом является текстовый файл. Исключением является случай, когда одна строка больше, чем блок BGZF (64 КБ). Это может помочь инструментам, которые используют индекс для выполнения произвольного доступа к сжатому потоку, поскольку начало блока, вероятно, также будет началом текстовой записи.

Этот параметр обрабатывает текстовые файлы, как если бы они были двоичным содержимым, игнорируя расположение символов новой строки. Это также восстанавливает поведение текстовых файлов до версии bgzip 1.15 и более ранних версий.

-b, --offset INT

Распаковать в стандартный вывод из позиции виртуального файла (несжатое смещение на основе 0). Подразумевает -c и -d.

-c, --stdout

Запись в стандартный вывод, сохранение исходных файлов без изменений.

-d, --decompress

Распаковать.

-f, --force

Перезаписывайте файлы без запроса или распаковывайте файлы с неизвестным расширением имени файла для сжатия (например, .gz) без запроса. Используйте --force дважды, чтобы сделать и то, и другое без запроса.

-g, --rebgzip

Попробуйте использовать существующий индекс для создания сжатого файла с соответствующими смещениями блоков. Индекс необходимо указать с помощью параметра -I file.gzi. Обратите внимание, что это предполагает использование той же библиотеки сжатия и уровня, что и при создании исходного файла. Не используйте его, если вы не знаете, что делаете.

-h, --help

Отображает справочное сообщение.

-i, --index

Создайте индекс BGZF при сжатии. Если не используется параметр -I, к нему будет добавлено имя сжатого файла с расширением .gzi.

-I, --index-name FILE

Имя файла индекса.

-k, --keep

Не удаляйте входной файл во время работы.

-l, --compress-level INT

Уровень сжатия для использования при сжатии. От 0 до 9 или -1 для уровня по умолчанию, установленного библиотекой сжатия. [-1]

-r, --reindex

Перестройте индекс для существующего сжатого файла.

-s, --size INT

Распаковать байты INT (несжатый размер) в стандартный вывод. Подразумевает -с.

-t, --test

Проверьте целостность сжатого файла.

-@, --threads INT

Количество используемых потоков [1].

ФОРМАТ BGZF

Формат BGZF, написанный bgzip, описан в спецификации формата SAM, доступной по адресу http://samtools.github.io/hts-specs/SAMv1.pdf.

Он использует функцию gzip, которая позволяет объединять сжатые файлы. Входные данные разбиваются на блоки размером не более 64 килобайт как до, так и после сжатия (включая заголовки сжатия). Каждый блок сжимается в файл gzip. Заголовок gzip включает дополнительное подполе с идентификатором «BC» и длиной сжатого блока, включая все заголовки.

ФОРМАТ GZI

Формат индекса представляет собой двоичный файл со списком пар сжатых и несжатых смещений в файле BGZF. Каждое сжатое смещение указывает на начало блока BGZF. Несжатое смещение — это соответствующее местоположение в несжатом потоке данных.

Все значения хранятся как 64-битные целые числа без знака с прямым порядком байтов.

Содержимое файла:

uint64_t number_entries

за которыми следуют пары number_entries:

uint64_t compressed_offset
uint64_t uncompressed_offset

ПРИМЕРЫ

# Compress stdin to stdout
bgzip < /usr/share/dict/words > /tmp/words.gz

# Make a .gzi index
bgzip -r /tmp/words.gz

# Extract part of the data using the index
bgzip -b 367635 -s 4 /tmp/words.gz 

# Uncompress the whole file, removing the compressed copy
bgzip -d /tmp/words.gz

АВТОР

Библиотека BGZF была первоначально реализована Бобом Хэндсакером и модифицирована Хенгом Ли для удаленного доступа к файлам и кэширования в памяти.

СМОТРИТЕ ТАКЖЕ

gzip(1), tabix(1)