首页 > 编程语言 >python中计算dna序列的GC含量

python中计算dna序列的GC含量

时间:2023-08-28 21:57:43浏览次数:36  
标签:dna dict2 python pc1 Rosalind GC dict1 test01 root

 

001、对G、C计数进行统计

[root@pc1 test01]# ls
a.fa  test.py
[root@pc1 test01]# cat a.fa          ## 测试DNA序列
>Rosalind_6404
CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC
TCCCACTAATAATTCTGAGG
>Rosalind_5959
CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT
ATATCCATTTGTCAGCAGACACGC
>Rosalind_0808
CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC
TGGGAACCTGCGGGCAGTAGGTGGAAT
[root@pc1 test01]# cat test.py      ## 统计程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

in_file = open("a.fa", "r")

dict1 = dict()
for i in in_file:
        i = i.strip()
        if i.startswith(">"):
                temp = i
                dict1[temp] = str()
        else:
                dict1[temp] += i
in_file.close()

dict2 = dict()
for i,j in dict1.items():
        count = 0
        for k in j:
                if k == "C" or k == "G":
                        count += 1
        dict2[i] = count/len(j)

for i,j in dict2.items():
        print("%s %.2f" % (i, j * 100))

max_value = max(dict2.values())
for i,j in dict2.items():
        if j == max_value:
                print(i.replace(">", ""))
                print("%.6f" % (j * 100))
[root@pc1 test01]# python3 test.py       ## 输出结果
>Rosalind_6404 53.75
>Rosalind_5959 53.57
>Rosalind_0808 60.92
Rosalind_0808
60.919540

 

 

标签:dna,dict2,python,pc1,Rosalind,GC,dict1,test01,root
From: https://www.cnblogs.com/liujiaxin2018/p/17663463.html

相关文章

  • python+playwright 学习-79 设置全局导航超时和全局查找元素超时
    前言playwright默认全局的导航时间是30秒,查找元素超时也是30秒,有以下几个方法设置全局超时时间:browser_context.set_default_navigation_timeout()browser_context.set_default_timeout()page.set_default_navigation_timeout()page.set_default_timeout()导航超时设置......
  • python中输出键最大、最小的项
     001、输出键最大的项a、>>>dict1={"c":30,"a":40,"b":80,"d":20,"e":60}>>>dict1{'c':30,'a':40,'b':80,'d':20,'e':60}>>&......
  • Python学习总结:类属性、类方法、self、cls
    转载:Python学习总结(五)类属性、类方法、self、cls_摩霄志在潜修羽的博客-CSDN博客......
  • Python基础
    第1章 Python基础知识一、Python简介1、Python的起源创始人:吉多范罗苏姆,1989年圣诞节前在社交平台发布第一个解释器:1991年使用C语言编写,会自带C语言的异常处理和函数2、python语言的特点(1)简单(2)面向对象(3)开源、免费3、学习的目的Python是基础语法,主要是为了写自动化脚本打基础4、......
  • python中输出字典中值最大或最小的项
     001、输出值最大的项a、>>>dict1={"c":30,"a":40,"b":80,"d":60}##测试字典>>>dict1{'c':30,'a':40,'b':80,'d':60}>>>max_value=max(dict......
  • windows中Python安装
      下载地址:https://www.python.org/downloads/windows/选择需要的版本,我下载的是3.10安装时,注意选择对所有用户安装,否则安装后,运行项目报“CreateProcesserror=5,拒绝访问”错误安装时,选择AddPythontoenvironmentvariables复选框时,会自动帮我们配置环......
  • Python学习日记 2023年8月28日
    importrequestsfromlxmlimportetreeimportreurl='https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8700291432374701138&ipn=rj&ct=201326592&is=&fp=result&fr=ala&word=%E8%A1%A8%E6%83%85%E5%8C%85&query......
  • python逻辑运算符与流程控制
    Python的基础逻辑运算内容概要算数运算符比较运算符赋值运算符逻辑运算符成员运算符身份运算符流程控制ifelse算术运算符代码演示a=21b=10c=0c=a+bprint("1-c的值为:",c)c=a-bprint("2-c的值为:",c)c=a*bprint("3-c的值......
  • python request session
    python request session try:#verify参数来解决ssl报错问题request_result=self.request_sess.post(url,data,verify=False)print(request_result)exceptExceptionase3:print("数据提交失败,异常信息{str(e3)}")     ######......
  • Python Tornado实现WebSocket通讯
    以下实例有点像广播通讯,支持多个客户端连接代码参考别人的,稍微做了一点点修改服务器端websocket_demo.py #-*-coding:utf-8-*-from__future__importunicode_literals,print_functionfromdatetimeimportdatetimeimportosimporttornadofromtornado.opti......