【ROSALIND】【練Python,學生信】64 計算致病基因攜帶者比例

如果第一次閱讀本系列文檔請先移步閱讀【ROSALIND】【練Python,學生信】00 寫在前面 ?謝謝配合~

題目:
計算致病基因攜帶者比例(Counting Disease Carriers)
?
Given: An array A for which A[k] represents the proportion of homozygous recessive individuals for the k-th Mendelian factor in a diploid population. Assume that the population is in genetic equilibrium for all factors.
所給:一個數(shù)組A,其中A[k]代表二倍體群體中第k個孟德爾因子純合隱性個體的比例。我們假設種群所有因子都處于遺傳平衡。
Return: An array B having the same length as A in which B[k] represents the probability that a randomly selected individual carries at least one copy of the recessive allele for the k-th factor.
需得:一個與A長度相同的數(shù)組B,其中B[k]表示隨機個體第k個因子攜帶至少一個隱性等位基因的概率。
?
測試數(shù)據(jù)
0.1 0.25 0.5
測試輸出
0.532 0.75 0.914
?
生物學背景
? ? ? ? 盡管孟德爾的遺傳定律很適合研究個體生物體及其后代,但它們難以用于分析等位基因是如何隨時間在群體中變化的。我們需要一個理論告訴我們:什么時候可以假設一個群體中的等位基因比率(即等位基因頻率)穩(wěn)定的?
? ? ? ??在孟德爾的理論被再發(fā)現(xiàn)后不久的20世紀初,G·H·哈代和威廉·溫伯格思考并得出結(jié)論,當滿足五個條件時,個體群體中的等位基因百分比處于遺傳平衡狀態(tài)。條件如下:
? ? ? ??1.? 種群足夠大,使隨機突變可以忽略不計;
? ? ? ??2.? 被研究的基因不出現(xiàn)新的突變;
? ? ? ??3.? 被研究的基因不影響生存和繁殖,因此不受自然選擇影響;
? ? ? ??4.? 由遷徙導致的基因頻率變化可以忽略不計;
? ? ? ??5.? 個體隨機交配。
? ? ? ??哈代-溫伯格原理(Hardy-Weinberg Law)指出,如果一個群體中某個等位基因處于遺傳平衡狀態(tài),那么它的頻率將保持不變,并在整個群體中均勻分布。哈代-溫伯格原理一般能提供足夠合理的群體遺傳學模型,除非要研究的基因?qū)ι婊蚍敝澈苤匾?。該簡化模型的好處之一是幫助我們預測遺傳疾病的遺傳概率,從而采取適當?shù)念A防措施。
? ? ? ??遺傳病通常是由染色體突變引起的,這些突變會遺傳給后代。最簡單也是最常見的遺傳病是單基因疾病,由單一突變基因引起。目前在人類中已經(jīng)發(fā)現(xiàn)了4000多種此類疾病,如囊性纖維化和鐮狀細胞貧血。在這類疾病中,個體必須同時擁有一個基因的兩個隱性等位基因才會發(fā)生疾病。因此,攜帶者可以自己不知情,而將疾病遺傳給子女。
? ? ? ??通過上述介紹我們可以提出一個基本但非常實際的問題:如果我們知道有多少人患有隱性基因編碼的疾病,我們能預測人群中攜帶者的數(shù)量嗎?
? ? ? ??因此,我們假設有一個由N個二倍體個體組成的種群。如果一個等位基因處于遺傳平衡,假設有m個顯性等位基因,那么所選染色體顯示顯性等位基因的概率就是p=m/2N。又因為遺傳平衡的第一個假設是種群非常大,所以我們可以假設N是無限的,因此我們只需要關心m的值。
??
思路
? ? ? ??該題要求得到攜帶至少一個隱性等位基因的概率,我們可以直接計算不攜帶隱性基因(即顯性純合)的個體比例,再用1減去即可。
? ? ? ??由于給的條件是隱性純合個體的比例,且處于遺傳平衡狀態(tài),因此對隱性純合個體的比例開平方,即得到隱性基因的頻率;用1減去隱性基因頻率即為顯性基因頻率,再平方就算出了顯性純合個體的比例。
?
代碼