如何从压缩的 vcf 文件中提取尾随垃圾?

问题描述 投票:0回答:1

我无法提取 gzipped vcf 文件的所有内容。该文件是我从 dbGaP 下载的加密 tarball 的一部分。解密后,我可以使用以下命令提取文件目录:

   tar -xvf phg001.tar

当我使用 Plink 将其中一个提取的 vcf 文件转换为 bed 文件时,出现错误消息:

Error: Line 20 of .vcf file has fewer tokens than expected.

我在 zcat 的帮助下统计了文件中的行数。

    zcat chr22-filtered.dose.vcf.gz | wc -l

Output:

    gzip: chr22-filtered.dose.vcf.gz: decompression OK, trailing garbage ignored
    19

如果我尝试解压缩文件,我会收到类似的关于尾随垃圾的消息。

gzip: test22.vcf.gz: decompression OK, trailing garbage ignored

文件太大,只有20行,如果我不使用zcat计算行数,文件确实更多。

    wc -l chr22-filtered.dose.vcf.gz
    3632730 chr22-filtered.dose.vcf.gz

如何提取压缩文件的所有内容。

感谢所有建议。
保罗

更新: 以下是 pigz 的结果:

pigz -ltv chr22-filtered.dose.vcf.gz
method    check    timestamp    compressed   original reduced  name
gzip 8  3388a535  ------ -----       17965      65280   72.5%  chr22-filtere...
gzip 8  50734e24  ------ -----        1356      39654   96.6%  <...>
pigz: warning: chr22-filtered.dose.vcf.gz: trailing junk was ignored

ls-vcf.c1$ pigz -ltv chr13-filtered.dose.vcf.gz
method    check    timestamp    compressed   original reduced  name
gzip 8  15c3d4c1  ------ -----       18431      65280   71.8%  chr13-filtere...
gzip 8  e17a4674  ------ -----        3221      39654   91.9%  <...>
pigz: warning: chr13-filtered.dose.vcf.gz: trailing junk was ignored

pigz -ltv chr2-filtered.dose.vcf.gz
method    check    timestamp    compressed   original reduced  name
gzip 8  f4cfe9f0  ------ -----       18245      65280   72.1%  chr2-filtered...
gzip 8  e8370ff3  ------ -----        2345      39654   94.1%  <...>
pigz: warning: chr2-filtered.dose.vcf.gz: trailing junk was ignored

pigz -ltv chr21-filtered.dose.vcf.gz
method    check    timestamp    compressed   original reduced  name
gzip 8  967d168f  ------ -----       19756      65280   69.7%  chr21-filtere...
gzip 8  9e27cda1  ------ -----        8588      39654   78.3%  <...>
pigz: warning: chr21-filtered.dose.vcf.gz: trailing junk was ignored

所有文件的输出都是相似的。当我尝试使用 gunzip 提取时,所有文件都有相同的错误。

gzip plink vcf-variant-call-format
1个回答
0
投票

我猜

chr22-filtered.dose.vcf.gz
是千兆字节的很大一部分,但是 pigz 只在前 19 K 中找到了好的压缩数据!该文件以某种方式损坏,就在第三个 gzip 成员的标题处。

您应该尝试重新下载文件。如果它看起来完全一样,那么联系制作它的人并让他们知道这些文件的生成存在问题。

© www.soinside.com 2019 - 2024. All rights reserved.