作爲初學者,我可能有一個愚蠢的問題,但我有幾個壓縮的不同個人的VCF文件(.vcf.gz)。我想通過使用vcf-merge將這些文件合併到一個包含所有個人的VCF文件中。我可以在vcf.gz文件上使用tabix嗎?
但是,這需要將文件實際上用bgzip壓縮並用tabix索引。有誰知道我是否可以從一個.vcf.gz文件去tabix索引和bgzip文件,而不先解壓縮(它需要大量的存儲空間,文件真的很大)。
謝謝!
作爲初學者,我可能有一個愚蠢的問題,但我有幾個壓縮的不同個人的VCF文件(.vcf.gz)。我想通過使用vcf-merge將這些文件合併到一個包含所有個人的VCF文件中。我可以在vcf.gz文件上使用tabix嗎?
但是,這需要將文件實際上用bgzip壓縮並用tabix索引。有誰知道我是否可以從一個.vcf.gz文件去tabix索引和bgzip文件,而不先解壓縮(它需要大量的存儲空間,文件真的很大)。
謝謝!
如果我理解正確的話,你必須:
file.vcf.gz
這是一個gzip壓縮VCF文件(不塊gzip壓縮),你想:
file.vcf.bgz
這是一個block-gzip壓縮的VCF文件,其內容與file.vcf.gz
和file.vcf.bgz.tbi
這是file.vcf.bgz
一個TABIX指數,你會喜歡做這種轉換沒有解壓它。
不幸的是,我還是不知道要避免解壓縮數據以重新壓縮它。您可以保持您的內存成本通過流數據常量:
gzip --decompress --to-stdout file.vcf.gz \
| bgzip --index --index-name file.vcf.bgz.tbi [email protected] \
> file.vcf.bgz
第一行解壓縮file.vcf.gz
,寫解壓後的輸出到標準輸出流。第二行block-gzip壓縮標準輸入流(將壓縮數據寫入標準輸出流)並生成一個名爲file.vcf.bgz.tbi
的索引文件。 [email protected]
告訴bgzip
使用四個線程。如果您的機器具有更多內核,則可以增加此項。最後一行將block-gzip壓縮輸出指向一個名爲file.vcf.bgz
的文件。
在我的MacBook Pro上,這個過程花了一分鐘時間來重新壓縮一個214MB的文件。
注意:這不會刪除file.vcf.gz
,如果你不再需要,你需要自己刪除它。
謝謝,我想這樣的事情會工作!非常有幫助:) – visse226
因此,如果我們將file.vcf.bgz重命名爲file.vcf.gz,它會100%好嗎,因爲它們是相同的文件? – bapors
我不完全理解你的問題@bapors。更改文件的名稱將永遠不會更改其內容。確實,block-gzip壓縮文件也是一個有效的gzip壓縮文件(相反是_not_ true)。 –