国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?

這篇具有很好參考價值的文章主要介紹了壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

壓縮算法的本質(zhì)

最近碰到一個神奇的現(xiàn)象,一份大小為16GBxx.vcf.gz文件,解壓之后體積變?yōu)?strong style="font-weight: bold; color: black;">600GB的vcf文件,為什么一份文件經(jīng)過壓縮后體積縮小了這么多?

(work)?[bio?@?notes??21:29:40?~/work/20230726/data]
$?ls?-lh
總用量?620GB
-rw-rw-r--.?bio??16G?7月??26?21:23?xx.vcf.gz
-rw-r--r--.?bio?604G?7月??19?14:16?xx.vcf
壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

壓縮這個詞聯(lián)想到壓縮機(jī),就是把空氣進(jìn)行物理加壓,減小占用的體積,這種方法利用的是單個分子之間的可變間隙,像擠海綿一樣把一個大東西壓縮成小東西。很顯然,計算機(jī)中的數(shù)據(jù)肯定不是這種方式。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

另外一種方式,通過字典來壓縮,比較抽象了,筆者舉一個例子:有一本新華字典,理論上每個字都能找到唯一對應(yīng)的頁數(shù)+行數(shù)+列數(shù),將這個數(shù)字用來替代實際的漢字。

接下來,我想壓縮一本三國演義全篇小說,只需要用數(shù)字替換漢字,就能降低篇幅大小,這樣謄抄(類似于復(fù)制傳輸)時就方便很多。這也算是變相的對文字信息進(jìn)行了壓縮,計算機(jī)主要是通過這種方式進(jìn)行壓縮。


問題: 為什么vcf文件經(jīng)過gzip壓縮為vcf.gz后文件體積能極大程度的縮小?


原理概述

因為gzip是一種有效的壓縮算法,它可以利用重復(fù)出現(xiàn)的模式和冗余信息,將數(shù)據(jù)進(jìn)行編碼和壓縮,從而減少數(shù)據(jù)的存儲空間。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生
重復(fù)模式:

在VCF文件中,可能存在大量的重復(fù)信息,比如在多個位點上的質(zhì)量分?jǐn)?shù)或者過濾標(biāo)記可能會重復(fù)出現(xiàn),gzip能夠識別這些重復(fù)模式,并使用更短的編碼方式來表示它們,從而減少存儲空間。

字典壓縮:

gzip使用了Lempel-Ziv編碼來構(gòu)建一個字典,用于存儲出現(xiàn)過的字符序列。每當(dāng)發(fā)現(xiàn)與字典中的序列匹配時,gzip只需記錄一個指向字典中的索引,而不是實際存儲相同的字符序列,這進(jìn)一步減小了數(shù)據(jù)的體積。

基因組數(shù)據(jù)特點:

基因組數(shù)據(jù)中通常包含大量的連續(xù)性和相關(guān)性,這使得gzip等壓縮算法能夠更好地發(fā)揮壓縮效果?;蚪M的染色體序列以及突變位點等數(shù)據(jù)具有較高的相似性,使得gzip能夠更好地識別并壓縮這些信息。

綜上所述,gzip能夠高效地將VCF文件中的數(shù)據(jù)進(jìn)行壓縮,從而將文件的體積顯著縮小。這對于基因組學(xué)研究和大規(guī)模數(shù)據(jù)存儲非常有用,節(jié)省了存儲空間,減少了數(shù)據(jù)傳輸時間,并且使數(shù)據(jù)的備份和傳輸更加高效。

VCF文件補(bǔ)充介紹

本文中提到的vcf文件是存儲基因型變異數(shù)據(jù)的常用格式,VCF(Variant Call Format)通常用于存儲個體或群體的基因組數(shù)據(jù),其中包含了多個基因突變位點的信息。VCF文件常見于基因組學(xué)研究和生物信息學(xué)分析中,特別是在單核苷酸多態(tài)性(SNP)、插入/缺失(InDel)等變異的分析中。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

基本格式和信息

文件頭(Header):

VCF文件以文件頭開始,以"#"開頭的行為注釋行,包含了關(guān)于VCF文件本身和數(shù)據(jù)來源的信息。文件頭通常包括樣本信息、參考基因組版本、標(biāo)記信息等。

元數(shù)據(jù)信息(Metadata):

文件頭中可能包含多個元數(shù)據(jù)信息,用于描述VCF文件的屬性、來源和其他相關(guān)信息。一些常見的元數(shù)據(jù)標(biāo)記包括"fileformat"(指定VCF文件的版本)、"INFO"(用于描述位點的信息)、"FORMAT"(用于描述樣本的信息格式)等。

數(shù)據(jù)區(qū)域(Data):

VCF文件的數(shù)據(jù)區(qū)域包含了每個基因突變位點的具體信息,每行對應(yīng)一個位點。數(shù)據(jù)區(qū)域中的每個字段以制表符(Tab)分隔,字段的順序和含義由文件頭中的元數(shù)據(jù)定義。

-?CHROM:染色體名稱或編號。
-?POS:位點在染色體上的位置。
-?ID:位點的唯一標(biāo)識符,可以是rs號(對應(yīng)dbSNP數(shù)據(jù)庫的標(biāo)識符)或其他獨立標(biāo)識符。
-?REF:參考基因組上的堿基。
-?ALT:變異的堿基或堿基序列。如果存在多個變異(如多態(tài)性位點),則用逗號分隔。
-?QUAL:質(zhì)量分?jǐn)?shù),表示位點的可靠性或置信度。
-?FILTER:過濾標(biāo)記,表示該位點是否通過了質(zhì)量控制過濾。
-?INFO:包含更多關(guān)于位點的附加信息,通常以鍵值對的形式表示。例如,可能包含關(guān)于突變類型、突變功能、頻率等信息。
-?FORMAT:描述樣本數(shù)據(jù)的格式,通常由一系列字段組成。
-?Sample1,?Sample2,?...:每個樣本的基因型數(shù)據(jù),根據(jù)FORMAT字段指定的格式進(jìn)行描述。

以下為一個vcf文件示例:

##fileformat=VCFv4.3
##INFO=<ID=DP,Number=1,Type=Integer,Description="Total?Depth">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
#CHROM??POS?????ID??????REF?????ALT?????QUAL????FILTER??INFO????FORMAT??Sample1??Sample2
chr1????1001????rs123???A???????G???????50.0????PASS????DP=30???GT??????0/1??????1/1
chr1????2034????.???????T???????C,G?????60.0????PASS????DP=40???GT??????1/2??????2/2

在上述示例中,第一個位點在染色體1的位置1001處,具有rs號為rs123,參考堿基為A,變異堿基為G,質(zhì)量分?jǐn)?shù)為50.0,通過了質(zhì)量控制過濾。

INFO字段包含了一個鍵值對"DP=30",表示總深度為30。FORMAT字段指定了樣本數(shù)據(jù)的格式,這里是"GT"(基因型)。接下來的兩列分別是兩個樣本的基因型數(shù)據(jù)。

常見壓縮方法補(bǔ)充介紹

當(dāng)我們需要傳輸或存儲大量的文件或數(shù)據(jù)時,壓縮算法可以幫助我們將文件體積縮小,從而節(jié)省存儲空間和傳輸時間。以下是zip、tar和rar這幾種常見壓縮算法的通俗介紹以及它們之間的區(qū)別:

zip:

原理:zip是一種常見的歸檔和壓縮算法。它將多個文件和目錄打包成一個壓縮包,并對其中的每個文件進(jìn)行獨立壓縮。zip使用Deflate算法,這是一種結(jié)合了LZ77和Huffman編碼的壓縮算法,類似于gzip,但zip支持多個文件的壓縮和歸檔。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

特點:zip是跨平臺的,幾乎在所有操作系統(tǒng)上都可以使用。它是Windows系統(tǒng)上常用的壓縮格式。

tar:

原理:tar是一種歸檔工具,它可以將多個文件和目錄打包成一個單一的文件,但并不壓縮數(shù)據(jù)。tar采用順序地將所有文件和目錄串聯(lián)在一起的方式創(chuàng)建歸檔文件。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

特點:tar通常與其他壓縮算法(如gzip或bzip2)結(jié)合使用,先用tar打包成一個大的歸檔文件,然后再使用其他算法對該歸檔文件進(jìn)行壓縮。

rar:

原理:rar是一種專有的壓縮算法,由WinRAR軟件開發(fā)。它使用了類似于zip的算法,但采用了更加復(fù)雜的壓縮策略,可以在某些情況下實現(xiàn)更高的壓縮率。

壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?,程序人生

特點:rar格式在某些情況下可能比zip格式具有更好的壓縮效果,特別是對于大型壓縮文件。然而,由于它是專有格式,可能在某些平臺或系統(tǒng)上不支持或需要額外的軟件。

總結(jié)

  • gzip:單個文件壓縮,常用于Unix/Linux系統(tǒng)。
  • zip:多個文件壓縮和歸檔,跨平臺支持,常用于Windows系統(tǒng)。
  • tar:打包多個文件,但不壓縮數(shù)據(jù),通常結(jié)合其他壓縮算法使用。
  • rar:類似于zip,但使用了專有算法,有時可以獲得更好的壓縮效果。

本文由 mdnice 多平臺發(fā)布文章來源地址http://www.zghlxwxcb.cn/news/detail-614326.html

到了這里,關(guān)于壓縮算法的原理丨基因型vcf文件為什么壓縮后發(fā)生了什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【PDF密碼】PDF文件為什么無法修改?為什么PDF文檔不支持編輯?

    【PDF密碼】PDF文件為什么無法修改?為什么PDF文檔不支持編輯?

    pdf文件大家應(yīng)該都經(jīng)常接觸,但是不知道大家會遇到這種情況:有些PDF文件打開之后無法編輯?是什么原因呢?今天我們來分析一下都是那些原因?qū)е碌摹?首先我們可以考慮一下,PDF文件中的內(nèi)容是否是圖片,如果確認(rèn)是圖片文件,那么我們想要編輯,就可以先使用PDF編輯器

    2024年01月22日
    瀏覽(30)
  • 五分鐘了解GPT 模型背后的原理是什么?為什么 GPT 模型能生成有意義的文本?為什么 GPT 模型不會做簡單的數(shù)學(xué)題?為什么有人擔(dān)心 GPT 模型可能會危害人類?

    五分鐘了解GPT 模型背后的原理是什么?為什么 GPT 模型能生成有意義的文本?為什么 GPT 模型不會做簡單的數(shù)學(xué)題?為什么有人擔(dān)心 GPT 模型可能會危害人類?

    由于 GPT 模型的相關(guān)內(nèi)容非常豐富,所以我計劃對它進(jìn)行更加深入的學(xué)習(xí)和研究,并把它應(yīng)用到自己的工作、生活和學(xué)習(xí)中,用來提高工作效能,改善生活質(zhì)量,提升學(xué)習(xí)效果。 按照第一性原理,在開始實戰(zhàn)演練之前,我認(rèn)為有必要先了解一下 GPT 模型背后的原理,這樣才能

    2024年02月07日
    瀏覽(33)
  • Sentinel為什么這么強(qiáng),我扒了扒背后的實現(xiàn)原理

    大家好,我是三友~~ 最近我在整理代碼倉庫的時候突然發(fā)現(xiàn)了被塵封了接近兩年之久的Sentinel源碼庫 兩年前我出于好奇心扒了一下Sentinel的源碼,但是由于Sentinel本身源碼并不復(fù)雜,在簡單扒了扒之后幾乎就再沒扒過了 那么既然現(xiàn)在又讓我看到了,所以我準(zhǔn)備再來好好地扒一

    2023年04月25日
    瀏覽(19)
  • K8s為什么需要calico? calico 原理深入理解.

    K8s為什么需要calico? calico 原理深入理解.

    Status: Not Started Tags: 網(wǎng)絡(luò), 面試 Calico作為容器網(wǎng)絡(luò)方案和我們前面介紹的那些方案最大的不同是它沒有采用overlay網(wǎng)絡(luò)做報文的轉(zhuǎn)發(fā),而是提供了 純3層的網(wǎng)絡(luò)模型. 三層通信模型表示每個容器都通過IP直接通信,中間通過路由轉(zhuǎn)發(fā)找到對方。在這個過程中,容器所在的節(jié)點類似

    2024年02月16日
    瀏覽(27)
  • 一文看懂什么是歐幾里得算法!多圖演示輾轉(zhuǎn)相除算法究竟是什么!為什么要這樣開展!多圖預(yù)警!

    一文看懂什么是歐幾里得算法!多圖演示輾轉(zhuǎn)相除算法究竟是什么!為什么要這樣開展!多圖預(yù)警!

    ps:全文圖片均為手繪,如果有不標(biāo)準(zhǔn)的地方還望諒解,之后會慢慢熟悉畫圖工具的,感謝感謝?。?! 歐幾里得算法 又稱為 輾轉(zhuǎn)相除法 ,是指用于計算兩個非負(fù)整數(shù)a,b的最大 公約數(shù) 。 兩個整數(shù)的最大公約數(shù)是指能夠同時整除它們的最大的正整數(shù)。 輾轉(zhuǎn)相除法能夠?qū)崿F(xiàn)效

    2024年02月02日
    瀏覽(41)
  • 【PDF密碼】PDF文件不能打印,為什么?

    【PDF密碼】PDF文件不能打印,為什么?

    正常的PDF文件是可以打印的,如果PDF文件打開之后發(fā)現(xiàn)文件不能打印,我們需要先查看一下自己的打印機(jī)是否能夠正常運行,如果打印機(jī)是正常的,我們再查看一下,文件中的打印功能按鈕是否是灰色的狀態(tài)。 如果PDF中的大多數(shù)功能按鈕以及打印按鈕都是灰色的狀態(tài),那就證

    2024年02月13日
    瀏覽(29)
  • 數(shù)據(jù)結(jié)構(gòu)與算法這么難,為什么我們還要學(xué)習(xí)?

    提到數(shù)據(jù)結(jié)構(gòu)與算法,就一定會伴隨著諸多所謂的堅持和抱怨。同時,還有兩個詞總是出現(xiàn),一個是內(nèi)功,是對知識的定位,一個是吃透,是對自己

    2024年01月19日
    瀏覽(29)
  • 【從JVM看Java,三問繼承和多態(tài),是什么?為什么?怎么做?深度剖析JVM的工作原理】

    《計算機(jī)底層原理專欄》:歡迎大家訂閱學(xué)習(xí),能夠幫助到各位就是對我最大的鼓勵! 文章目錄 系列文章目錄 前言 一、JVM是什么 二、 什么是繼承 三、 什么是多態(tài) 總結(jié) ? ? ? ? 這篇文章聚焦JVM的實現(xiàn)原理,我更專注于從一個語言的底層原理,去剖析他的語法所實現(xiàn)的意義

    2024年02月05日
    瀏覽(22)
  • 深度剖析SpringBoot自動配置原理,為什么SpringBoot能為我們做那么多東西

    深度剖析SpringBoot自動配置原理,為什么SpringBoot能為我們做那么多東西

    本文基于 spring-boot-2.2.6.RELEASE 版本的源碼進(jìn)行說明,不同版本的源碼可能會有一些區(qū)別。 要清楚SpringBoot自動配置原理,就要明白 @SpringBootApplication 注解的組成,此注解主要是這三個注解組成: @SpringBootConfiguration , @EnableAutoConfiguration , @ComponentScan 。 下面是源碼: @SpringBo

    2024年02月13日
    瀏覽(23)
  • 為什么SQL日志文件很大,該如何處理?

    為什么SQL日志文件很大,該如何處理?

    SQL Server 日志文件是記錄所有數(shù)據(jù)庫事務(wù)和修改的事務(wù)日志文件。用 SQL 術(shù)語來說,此日志文件記錄對數(shù)據(jù)庫執(zhí)行的所有 INSERT 、 UPDATE 和 DELETE查詢操作。 如果數(shù)據(jù)庫聯(lián)機(jī)或恢復(fù)時日志已滿,SQL Server 通常會發(fā)出 9002 錯誤。在這種情況下,數(shù)據(jù)庫只能讀取而不能更新。此篇文章

    2024年02月06日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包