美文网首页
rosalind-计算CG占比

rosalind-计算CG占比

作者: heliping_peter | 来源:发表于2019-10-24 17:51 被阅读0次

    输入数据

    >Rosalind_6404
    CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC
    TCCCACTAATAATTCTGAGG
    >Rosalind_5959
    CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT
    ATATCCATTTGTCAGCAGACACGC
    >Rosalind_0808
    CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC
    TGGGAACCTGCGGGCAGTAGGTGGAAT
    

    需要输出CG最大的占比

    Rosalind_0808
    60.919540
    

    代码

    f = open("gg.txt")
    lines = f.readlines()
    dict = {}
    #if ">", get the line to key
    #if not, get the line to value
    for line in lines:
        index = lines.index(line)
        line = line.strip('\n')
        if line[0] == ">" :
            name = line.split(">")[1]
            dict[name] = []
        else:
            dict[name].append(line)
    #join the value to a string, and sum the C and G
    for key in dict.keys():
        value = ''.join(dict[key])
        cg = 0
        for i in value:
            if i == "C" or i == "G":
                cg = cg +1
        value = cg / len(value) * 100
        dict[key] = value
    #max the value
    resultkey = max(dict,key=dict.get)
    print(resultkey)
    print(format(dict[resultkey],'.6f'))      
    

    相关文章

      网友评论

          本文标题:rosalind-计算CG占比

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