【基于R語言群體遺傳學】-1-哈代溫伯格基因型比例

前言

群體遺傳學是研究生物群體中基因的分布、基因頻率和基因型頻率的維持和變化的學科。它不僅探討遺傳病的發病頻率和遺傳方式,還研究基因頻率和變化的規律,為預防、監測和治療遺傳病提供重要信息。R語言作為一種強大的統計分析工具,在群體遺傳學研究中扮演著不可或缺的角色。它提供了多種包和函數,使得復雜的遺傳數據分析變得簡單高效。本教程參考《Population genetics with R》

對于R語言的基礎,我寫過一些博客,可以先看R語言入門的教學

【R語言從0到精通】-1-下載R語言與R最基礎內容-CSDN博客

R語言Matrix快速review

矩陣運算對于計算生物學的計算或者生物的計算來說是非常重要的。

現在你應該已經有配置好的Rstudio,然后熟悉基本的指令,那么現在我們學習一些學習本教程所需要的R語言小知識:對于Matrix操作及計算

1.Matrix建立

與數據框不同,R中的矩陣只接受相同類別的元素。因此,你不能擁有一個同時包含數字和因子(分類變量)的單一矩陣,只能包含其中一種。

# 創建一個3x3的矩陣,元素為1到9
mat <- matrix(1:9, nrow = 3, ncol = 3)# 打印矩陣
print(mat)

得到3*3矩陣:

如果我們使用byrow這個參數,會得到一個不一樣的矩陣,因為是按x填充的:

mat2 <- matrix(1:9, nrow = 3, ncol = 3, byrow = T)
print(mat2)

2.R語言matrix簡單乘法

我們創立一個小矩陣,進行自乘的矩陣運算

矩陣乘法的公式是:

使用R語言得到:

而我們通過數學計算得到的是:

不一樣的原因是R語言的矩陣乘法并不是簡單的*,而是A %*% B

那我們在R語言中Matrix的*是描述什么運算呢?是對應位置的乘法,因此要求兩個矩陣的行列數量是一樣的,也就是:

好了,主要是為了講一下矩陣的乘法在R語言中怎么用,接下來我們正式開始。

Hardy–Weinberg genotype proportions

1.一些名詞

Allele: 等位基因:一種遺傳變異(位于一對同源染色體相同位置上控制同一性狀不同形態的基因)

Diploid: 二倍體:具有所有(大部分)遺傳物質的兩個副本的個體。

Haploid: 單倍體:具有所有遺傳物質的一個副本的個體。

Heterozygote: 雜合子:具有不同等位基因副本的個體。

Homozygote: 純合子:具有相同等位基因副本的個體。

Genotype: 基因型:個體中等位基因的組合。

Locus: 基因座:等位基因的物理位置,復數形式為 loci

Phenotype: 表型:基因型(和非遺傳影響)的結果

2.群體遺傳學簡介

我將以通俗的語言講述我對于群體遺傳學的理解,希望大家能喜歡。

群體遺傳學是一門研究群體中遺傳信息傳遞和變化的科學。主要關注種群中遺傳變異的模式,以及這些變異是如何隨時間演變的。通俗地說,群體遺傳學家就像是在玩一個大型的拼圖游戲,我們試圖弄清楚每個拼圖片(即遺傳變異或等位基因)在整個種群中的分布情況。

(1)首先,讓我們來談談“預計有多少個體攜帶某一特定等位基因”的問題。想象一下,我們有一盒五顏六色的積木,每種顏色的積木代表一種特定的等位基因。如果我們隨機從盒子里拿出一塊積木,我們可能會想知道拿出某種特定顏色積木的概率是多少。在群體遺傳學中,這個概率可以通過查看該等位基因在種群中的頻率來估計。如果一個等位基因在種群中很常見,那么攜帶它的個體數量就會相對較多;相反,如果它是罕見的,那么攜帶它的個體就會較少。

(2)“找到罕見突變兩個副本的可能性有多大”這個問題,可以比作是從積木盒子里連續拿出兩塊相同稀有顏色的積木的概率。因為罕見突變的等位基因在種群中出現的頻率很低,所以同時拿到兩個這樣的副本的幾率會非常小。這個概率可以通過計算該等位基因頻率的平方來估計,因為每次復制事件都是獨立的。

(3)“某一特定基因型來自一個人群或另一個人群的可能性有多大”這個問題,可以想象成我們有一堆分別來自不同人群的積木每堆積木中各種顏色(即基因型)的比例可能不同。當我們看到一個特定顏色的積木時,我們可能會好奇它最有可能來自哪一堆。這個可能性可以通過比較不同人群中該基因型的頻率來確定。 有了這些基本的頻率和概率預期之后,群體遺傳學家就可以開始尋找實際觀察到的遺傳模式與預期之間的偏差。這些偏差可以提供有關種群歷史、遷移事件、自然選擇作用以及其他影響遺傳變異分布的因素的重要線索。通過分析這些偏差,科學家們可以對種群的過去、現在和未來做出更加有根據的預測,就像是通過拼圖的碎片逐漸揭示出整個畫面的過程。

3.等位基因與SNP

等位基因在經典遺傳學中被定義為導致不同表型的基因變體,可以是雜合子或純合子。然而,在現代遺傳學的語境中,等位基因的概念被擴展到包括基因組內特定位點或位置的任何遺傳變異,不論這種變異是否對基因功能或生物體的表型產生影響。 一種特別普遍的遺傳變異類型是單核苷酸多態性(SNP)。SNP發生在DNA序列中單個核苷酸的位置上,其中一個核苷酸在不同的個體中存在差異。例如,如果某個DNA序列的一部分原本是...GTAG[C]TAGAC...,而在另一個個體中這一部分變成了...GTAG[T]TAGAC...這就構成了一個SNP。 當我們在多個個體間比較這段DNA序列時,會發現括號內的位置存在兩種可能的核苷酸(C或T),這表明這個位點是一個多態性位點,擁有兩個相關的等位基因。 在二倍體生物中,每個細胞包含兩組染色體,因此每個基因位點上有兩個等位基因。這意味著在考慮一個具有兩個等位基因的位點時,可能存在三種不同的基因型:純合子CC、雜合子CT和另一種純合子TT。這種分類對于理解遺傳變異如何在種群中分布以及它們如何可能影響生物體的性狀至關重要。

4.等位基因頻率

假設T等位基因在某個群體中頻率為p(0-1)。當我們從這個群體中隨機抽取一個等位基因時,抽到T等位基因的概率就是p。 如果T等位基因的頻率是1/2,那么在一個沒有額外親本基因型信息的隨機情況下,一個個體從一個親本那里繼承到這個T等位基因副本的概率也是1/2。這是因為每個親本都有相等的機會傳遞T或非T等位基因。 進一步考慮到新一代的個體,預計其中一半會從他們的一個親本那里繼承到T等位基因。由于每個親本傳遞特定等位基因的概率獨立,新一代中的某些個體還有可能從另一個親本那里也繼承到T等位基因,這個概率同樣是1/2。 因此,在新一代的所有個體中,預計有一半的一半,即1/4的個體將會是兩個T等位基因的純合子。這些純合子的頻率可以用數學表達式p × p = p^2來表示。 這里隱含的假設是,這些遺傳變異是按照隨機的方式傳遞的。 在模擬隨時間推移的群體遺傳學時,我們需要做出許多這樣的假設,以便簡化模型并使問題可解。

5.Hardy–Weinberg genotype proportions

我們可以從觀察到的基因型頻率反推預期的等位基因頻率。一些遺傳變異在純合子時會產生隱性表型。假設我們在一個人群中觀察到具有新的突變等位基因的純合子,其頻率為1/1000,也就是p方

f <- 1/1000
sqrt(f)

接下來我們考慮雜合子的情況:

如果繼承一個等位基因的概率是p,那么不繼承它的概率就是1-p。因為我們在這里只關注雜合子的情況,這些個體要么從母親那里繼承了一個等位基因副本,但沒有從父親那里繼承,概率為p(1-p),要么沒有從母親那里繼承副本,但從父親那里繼承了,概率也為(1-p)p。這兩個事件是互斥的:為了使個體成為攜帶者,突變等位基因要么來自母親,要么來自父親。因此,我們使用概率的“或”(加法)規則,將不同的結果相加:p(1-p) + (1-p)p = 2p(1-p)

這些關于p2純合子頻率和2p(1-p)雜合子頻率的預期被稱為哈代-溫伯格基因型比例。

我們可以通過R語言curve函數來可視化純合子情況

curve(x^2, 0, 1, xlab = "Allele Frequency", ylab = "Genotype Frequency", lwd = 3,col = "green")
text(0.6, 0.2, "Homozygotes",col = "green")

我們再加入雜合子的情況:

curve(2*x*(1-x), 0, 1, add=TRUE, xlab="Allele frequencies",ylab="Genotype frequencies", col="blue", lwd=2)
text(0.25, 0.5, "Heterozygotes", col="blue")

我們看到隨著等位基因頻率增加,雜合子和純合子的頻率預期不同。隨等位基因頻率的增加,雜合子的數量最初比純合子的數量增長得更快。但是,當你的等位基因頻率接近50%時,雜合子的數量趨于穩定,一旦大部分人口(超過50%)攜帶這個等位基因,更多的個體開始以純合子的形式攜帶兩份拷貝,而不是以雜合子的形式只攜帶一份拷貝。當一個等位基因頻率達到1.0(100%)時,這個等位基因被認為在種群中“固定”了。一旦發生這種情況,它只能存在于純合子個體中,因為沒有其他變異等位基因存在。當一個等位基因頻率達到0%時,這個等位基因被認為是“丟失”了。

在圖中我們可以看到一個兩曲線相交的點,也就是:

可以解得p=2/3。我們在圖上標記:

p <- 2/3
points(p,p^2,lwd=2,cex=2)

本次內容先寫這么多,下一章講simulateing genotype內容,歡迎大家在評論區討論。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37734.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37734.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37734.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatis實現多表查詢

mybatis高級查詢【掌握】 1、準備工作 【1】包結構 創建java項目&#xff0c;導入jar包和log4j日志配置文件以及連接數據庫的配置文件&#xff1b; 【2】導入SQL腳本 運行資料中的sql腳本&#xff1a;mybatis.sql 【3】創建實體來包&#xff0c;導入資料中的pojo 【4】User…

TypeScript Project References npm 包構建小實踐

npm 包輸出 es/cjs 產物 在開發一個 npm 包時&#xff0c;通常需要同時輸出 ES 模塊和 CommonJS 模塊的產物供不同的構建進行使用。在只使用tsc進行產物編譯的情況下&#xff0c;我們通常可以通過配置兩個獨立的 tsconfig.json 配置文件&#xff0c;并在一個 npm script 中 執…

kubesphere自定義流水線基礎鏡像

背景 需求&#xff1a;在流水線基礎pod中使用python和jinja2模塊來動態渲染部署文件 由于ks提供的基礎鏡像無法滿足以上需求&#xff0c;在ks提供的maven鏡像的基礎上實現 實施 制作鏡像&并推送到private image repo FROM kubesphere/builder-maven:v3.2.0 RUN sed -i…

7.1作業

1.思維導圖 2.在堆區申請兩個長度為32的空間&#xff0c;實現兩個字符串的比較【非庫函數實現】 (1)定義函數&#xff0c;在對區申請空間 兩個申請&#xff0c;主函數需要調用2次 (2)定義函數&#xff0c;實現字符串的輸入 void input(char *p) (3)調用函數實現字符串比較…

BUT000增強字段BAPI結構激活出錯(BUPA_CENTRAL_CI_CHANGE)

導語&#xff1a;BP主數據增強字段&#xff0c;需要使用BAPI&#xff1a;BUPA_CENTRAL_CI_CHANGE進行值寫入&#xff0c;但是在SAP 2023以后的版本&#xff0c;激活會出錯&#xff0c;原因是因為SAP的一個結構同時包含了BUS00_EEW以及BUS00_EEWX兩個結構&#xff0c;導致結構字…

Spring Security 認證流程

Spring Scurity是spring生態下用于認證和授權的框架&#xff0c;具有高度的靈活性和可擴展行&#xff0c;本節主要對Spring Security的認證過程中進行概括性的介紹&#xff0c;主要介紹在該過程中&#xff0c;會涉及到哪些組件以及每個組件所承擔的職責&#xff0c;希望大家可以…

Elasticsearch 配置說明

# ---------------------------------- Cluster ----------------------------------- cluster.name: yh-es # es名稱 # ------------------------------------ Node ------------------------------------ node.name: xibo-es node.master: true node.da…

電腦錄音軟件哪個好?7款錄制音頻工具大盤點,趕快學起來!(2024)

也許你渴望提取你最喜歡的節目的背景音樂&#xff0c;或者你希望錄制自己的聲音制作教程。如果是這樣&#xff0c;你就需要一款優秀的電腦錄音軟件&#xff0c;來幫助你捕捉任何你想要的聲音&#xff0c;而且不會損失音質。目前市場上存在著大量的錄制音頻工具&#xff0c;面對…

鎖相環相位噪聲仿真代碼-匯總

24小時自動發貨 所設計的壓控振蕩器輸入電壓為0.625V時&#xff0c;輸出大致為500Mhz&#xff1b;輸入電壓為1.559時&#xff0c;輸出電壓大致為1Ghz 1.文件夾里面各個文件作用&#xff08;包括參考書PLL PHASE NOISE ANALYSIS、lee的射頻微電子、以及前人留下的matlab文件還有…

ModStart:開源免費的PHP企業網站開發建設管理系統

大家好&#xff01;今天我要給大家介紹一款超級強大的開源工具——ModStart&#xff0c;它基于Laravel框架&#xff0c;是PHP企業網站開發建設的絕佳選擇&#xff01; 為什么選擇ModStart&#xff1f; 模塊化設計&#xff1a;ModStart采用模塊化設計&#xff0c;內置了眾多基…

Ubuntu(通用)—網絡加固—防DNS污染和ARP欺騙

1. 防DNS污染 DNS協議&#xff0c;把域名解析成ip地址&#xff0c;udp&#xff0c;這個過程會暴露訪問的域名&#xff0c; 對這一傳輸過程加密&#xff08;傳輸層用tcp&#xff09;即為DoH(DNS over HTTPS)。 Browser(firefox)加固 由于Cloudflare、Quad8的DoH服務器不能用&…

三維重建基礎【知識點總結】

三維重建基礎【知識點總結】 rasterizationvolumetric ray-marchingSfM&#xff08;Structure from Motion&#xff09;Spherical Harmonics多視圖立體&#xff08;Multiple View Stereo, MVS&#xff09;動畫制作專業術語 rasterization Rasterization&#xff0c;中文通常譯…

雅思詞匯及發音積累 2024.7.1

旅游場景 1.credit card 信用卡 2.driving license/licence 駕照 3.expire /?k?spa??(r)/ 駕照/護照等過期 4.platform 站臺 5.Currency 貨幣 6.Pound 英鎊 7.Deserts /d??z??ts/ 沙漠 8. hilly areas 丘陵地帶 9.wetlands 沼澤地 10.bushlands 灌木叢 11.tropi…

Dns被莫名篡改的問題定位(筆記)

引言&#xff1a;最近發現用戶的多臺機器上出現了Dns被莫名修改的問題&#xff0c;從系統事件上看并未能正常確定到是那個具體軟件所為&#xff0c;現在的需求就是確定和定位哪個軟件具體所為。 解決思路&#xff1a; 首先到IPv4設置頁面對Dns進行設置&#xff1a;通過ProcExp…

缺失d3dx9_43.dll是怎么回事?教你幾種靠譜的解決方法

在日常生活和工作中&#xff0c;電腦已經成為我們不可或缺的工具。然而&#xff0c;在使用電腦的過程中&#xff0c;我們常常會遇到一些問題&#xff0c;其中之一就是軟件運行時提示d3dx9_43.dll丟失。這個問題會導致軟件游戲無法啟動運行&#xff0c;但只要我們了解其原因和解…

LinkedHashMap、TreeMap

LinkedHashMap&#xff1a; 有序、不重復、無索引&#xff0c;底層是雙鏈表 TreeMap&#xff1a;底層基于紅黑樹&#xff0c;可以對鍵進行排序 默認排序&#xff1a;integer和string都是從小到大排序 例題&#xff1a;

git合并分支的疑問

今天遇到一個奇怪的問題&#xff1a; 1、后端從master拉了三個分支。分別為dev、test、和stage。 2、研發1從dev拉了分支feature1,然后commit、commit、commit……。最后request merge到dev、test和stage。成功了。 3、研發2從dev拉了分支feature2,注意&#xff0c;feature2…

Dataweave2 語法教程

DataWeave 是 MuleSoft 的數據語言&#xff0c;專門用于數據轉換和映射。在 MuleSoft 的 Anypoint Platform 中&#xff0c;它是數據集成的一部分。下面是一個 DataWeave 語法教程&#xff0c;涵蓋基本的語法和用法。 基本語法 DataWeave 腳本分為三個部分&#xff1a;%dw 聲…

SpringBoot整合WebClient進行Http遠程調用

使用WebClient進行Http遠程調用 文章目錄 使用WebClient進行Http遠程調用1.WebClient對象創建2.WebClient對象抽取config配置3.Get請求url參數設置4.獲取ResponseEntity對象5.Post請求測試示例代碼 WebClient 一旦創建&#xff0c;就是不可修改的&#xff0c;如果需要設置默認值…

DP:子數組問題

文章目錄 引言子數組問題介紹動態規劃的基本概念具體問題的解決方法動態規劃解法&#xff1a;關于子數組問題的幾個題1.最大子數組和2.環形子數組的最大和3.乘積最大子數組4.乘積為正數的最長子數組長度5.等差數列劃分 總結 引言 介紹動態規劃&#xff08;DP&#xff09;在解決…