python实现孟德尔第一定律

 

假定显性纯合子、杂合子、隐性纯合子的个数分别为k、m、n个,则随机收取两个个体,后代为显性性状的概率。

001、直接实现

复制代码
[root@pc1 test01]# ls
test.py
[root@pc1 test01]# cat test.py      ## 计算程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

k = 2
m = 2
n = 2
t = k + m + n

# aa * aa
p1 = n/t * ((n - 1)/(t - 1))

# Aa * aa / aa * Aa
p2 = m/t * 0.5 * n/(t - 1) + n/t * m/(t - 1) * 0.5

# Aa * Aa
p3 = m/t * 0.5 * (m - 1)/(t - 1) * 0.5

print( 1 - p1 - p2 - p3)
[root@pc1 test01]# python3 test.py    ## 结算结果
0.7833333333333333
复制代码

 

002、函数结构实现

复制代码
[root@pc1 test01]# ls
test.py
[root@pc1 test01]# cat test.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

def mendel001(x, y, z):                ## 定义函数
        t = x + y + z
        # aa * aa
        p1 = z/t * (z - 1)/(t - 1)
        ## Aa * Aa
        p2 = y/t * 0.5 * (y - 1)/(t - 1) * 0.5
        ## aa * Aa / Aa *aa
        p3 = z/t * y/(t - 1) * 0.5 + y/t * 0.5 * z/(t - 1)
        return (1 - p1 - p2 - p3)

print(mendel001(2, 2, 2))
[root@pc1 test01]# python3 test.py      ## 计算结果
0.7833333333333333
复制代码

 。

 

posted @   小鲨鱼2018  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-08-30 seurat单细胞数据分析实现 DimHeatmap函数
2022-08-30 R语言中seq函数
点击右上角即可分享
微信分享提示