我有一个〜300 GB的压缩vcf文件(.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”
我打算尝试
答案 0 :(得分:3)
再次检查您的命令行中是否有bcftools view
。
当您为-O
指定无效值(大写O)时,bcftools将打印错误消息'无法识别输出类型“某物” 这样的命令行选项-O something
。根据错误消息,您似乎已将文件名放在此处。
检查命令中输入和输出文件的名称是否错误。请注意,-o
(小写o)命令行选项指定了 output 文件名,命令行末尾的文件名是 input 文件名。
此外,您还写道您为输出创建了一个空文件。您不需要这样做,bcftools将创建输出文件。
答案 1 :(得分:1)
我对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
退出视图,将您带到文件顶部。