Можно ли частично разархивировать файл .vcf?

У меня есть заархивированный файл vcf размером ~ 300 ГБ (.vcf.gz), который содержит геномы около 700 собак. Меня интересуют только некоторые из этих собак, и в настоящее время у меня нет достаточно места, чтобы разархивировать весь файл, хотя я нахожусь в процессе получения компьютера для этого. Можно ли распаковать только части файла, чтобы начать тестирование моих скриптов?

Я пытаюсь определить конкретный SNP в позиции подмножества образцов. Я пытался использовать bcftools безрезультатно: (Если кто-нибудь может определить, что с этим пошло не так, я также был бы очень признателен. Я создал пустой файл для вывода (722g.990.SNP.INDEL. chrAll.vcf.bgz), но возвращает следующую ошибку)

bcftools view -f PASS --threads 8 -r chr9:55252802-55252810 -o 722g.990.SNP.INDEL.chrAll.vcf.gz -O z 722g.990.SNP.INDEL.chrAll.vcf.bgz

Тип вывода "722g.990.SNP.INDEL.chrAll.vcf.bgz" не распознан

Я планирую попробовать awk, но сначала нужно разархивировать файл. Можно ли частично разархивировать его, чтобы я мог попробовать это?


person Sean    schedule 08.05.2019    source источник
comment
возможно это просто опечатка .vcf.bgz -> .vcf.bz?   -  person davedwards    schedule 08.05.2019
comment
К сожалению, нет, я пробовал кучу разных типов выходных файлов. Если бы это было так же просто, как опечатка...   -  person Sean    schedule 08.05.2019
comment
Я имею в виду, вы уверены, что "722g.990.SNP.INDEL.chrAll.vcf.bgz" находится в выходном сообщении об ошибке? потому что этого термина нет в предоставленной вами команде.   -  person davedwards    schedule 08.05.2019
comment
@davedwards вы правы, сообщение об ошибке не соответствует команде, но обе не работают. Я исправлю эту опечатку   -  person Sean    schedule 08.05.2019
comment
Каково точное (дословное) сообщение об ошибке от bcftools? Если вы запустите команду file для входного файла, что она напечатает?   -  person Jukka Matilainen    schedule 08.05.2019
comment
@JukkaMatilainen Вот дословное сообщение об ошибке: Тип вывода 722g.990.SNP.INDEL.chrAll.vcf.bgz не распознан, и результат команды файла: 722g.990.SNP.INDEL.chrAll.vcf.gz: данные, сжатые gzip, дополнительное поле   -  person Sean    schedule 08.05.2019
comment
Знаете ли вы, что вы можете использовать bcftools view с флагом -s (перечислить образцы в командной строке) или -S (перечислить образцы в файле), чтобы выбрать всего несколько образцов из вашего файла?   -  person jena    schedule 03.08.2021


Ответы (2)


Дважды проверьте свою командную строку на наличие bcftools view.

  1. Сообщение об ошибке 'Тип вывода "что-то" не распознан" выводится bcftools, когда вы указываете недопустимое значение для параметра командной строки -O (верхний регистр O), например -O something. Судя по сообщению об ошибке, которое вы получаете, кажется, что вы могли поместить туда имя файла.

  2. Убедитесь, что в вашей команде нет ошибок в именах входных и выходных файлов. Обратите внимание, что параметр командной строки -o (о в нижнем регистре) указывает имя выходного файла, а имя файла в конце командной строки — это имя входного файла.

Также вы пишете, что создали пустой файл для вывода. Вам не нужно этого делать, bcftools создаст выходной файл.

person Jukka Matilainen    schedule 08.05.2019
comment
Круто, а я и не знал, что должно быть наоборот. Это сообщение об ошибке, кажется, исчезло. Но теперь он говорит: «[W::hts_idx_load2] Индексный файл старше, чем файл данных: Yadayada.vcf.gz.tbi, вы знаете, что здесь происходит? - person Sean; 09.05.2019
comment
Я думаю, возможно, это была ложноположительная ошибка, потому что я получил выходной файл с данными. Не уверен, как просмотреть эти данные, хотя... - person Sean; 09.05.2019
comment
В этом сообщении просто говорится, что индекс, который у вас есть, был сгенерирован до того, как файл должен быть проиндексирован. Вероятно, индекс не будет соответствовать файлу vcf и при его использовании даст неверные результаты. Используйте tabix для повторного создания индекса, а затем повторите команду vcftools. - person Poshi; 10.05.2019

У меня нет такого большого опыта работы с bcftools, но в целом. Если вы хотите использовать awk для управления файлом, сжатым gzip, вы можете подключиться к нему, чтобы распаковать файл только по мере необходимости, вы также можете передать результат напрямую через gzip, чтобы он слишком сжат, например.

gzip -cd largeFile.vcf.gz | awk '{ <some awk> }' | gzip -c > newfile.txt.gz

Также zcat — это псевдоним для gzip -cd, -c — ввод/вывод на стандартный вывод, -d — распаковка.

В качестве примечания, если вы пытаетесь выполнять операции только с частью большого файла, вы также можете найти отличный инструмент less полезным, его можно использовать для просмотра вашего большого файла, загружая только необходимые части, опция -S особенно полезна для широкие форматы с большим количеством столбцов, поскольку он останавливает перенос строк, как и -N для отображения номеров строк.

less -S largefile.vcf.gz 

выйдите из представления с помощью q, а g перенесет вас в начало файла.

person Richard J. Acton    schedule 09.05.2019