美文网首页生物信息Python
使用python处理生物信息数据(十)

使用python处理生物信息数据(十)

作者: 你猜我菜不菜 | 来源:发表于2020-04-08 17:07 被阅读0次

    Python学习的第十天,好些天没有学习python了。4月6号下午回武汉了,从汉口火车站下车,车站弥漫着消毒水的味道,有些疫情防控人员全副武装,有些工作人员引导我们扫码入地铁站,安静而肃杀的氛围,从没见过如此安静的武汉,回想过去的两个月武汉真是英雄的城市,进了地铁发现人不多,公交车转乘到住的小区,扫码登记进去了。今天主要学习如何使用类class管理复杂程序。


    写一个程序去计算孟德尔的豌豆实验中的表型不一个简单的事情。你需要定义每个豌豆的基因型,基因型对应的变性以及下一代如何产生等事件。尽管包含的科学是琐碎的,但它需要的程序代码却是复杂的。类class是一种编程结构,它有助于描述现实世界中事物的工作方式,并能控制复杂性。

    1. 演示和计算孟德尔遗传定律
    class Pea:
    
        def __init__(self, genotype):
            self.genotype = genotype
    
        def get_phenotype(self):
            if "G" in self.genotype:
                return "yellow"
            else:
                return "green"
        
        def creat_offspring(self, other):        
            offspring = []
            new_genotype = ""
            for haplo1 in self.genotype:
                for haplo2 in other.genotype:
                    new_genotype = haplo1 + haplo2
                    offspring.append(Pea(new_genotype))
            return offspring 
                   
        def get_tab_separated_text(self):
            return '%s\t%s' % (self.genotype, self.get_phenotype())   
            
        def __repr__(self):
            return '(%s)' % self.genotype + '-----' + self.get_phenotype()
    
    
    yellow = Pea("GG")
    
    print(yellow.genotype)
    GG
    
    print(yellow.get_phenotype())
    yellow
    
    print(yellow)
    (GG)-----yellow
    
    # GG * gg
    f1 = yellow.create_offspring(green)
    
    print(f1[0])
    (Gg)-----yellow
    
    print(f1[1])
    (Gg)-----yellow
    
    # Gg * Gg
    f2 = f1[0].create_offspring(f1[1])
    print(f1)
    print(f2)
    [(Gg)-----yellow, (Gg)-----yellow, (Gg)-----yellow, (Gg)-----yellow]
    [(GG)-----yellow, (Gg)-----yellow, (gG)-----yellow, (gg)-----green]
    
    for pea in f2:
        print(pea.get_tab_separated_text())
    GG      yellow
    Gg      yellow
    gG      yellow
    gg      green
    

    相关文章

      网友评论

        本文标题:使用python处理生物信息数据(十)

        本文链接:https://www.haomeiwen.com/subject/hhlaphtx.html