python 中统计一段序列中ATCG碱基各自的数目

 

001、

复制代码
[root@pc1 test2]# ls
a.txt  test.py
[root@pc1 test2]# cat a.txt        ## 测试序列
AGCTTCCCC
[root@pc1 test2]# cat test.py      ## 测试程序
#!/usr/bin/python

in_file = open("a.txt", "r")
out_file = open("result.txt", "w")

a = 0; t = 0; c = 0; g = 0

for i in in_file:
        i = i.strip()
        for j in i:
                if j == "a" or j == "A":
                        a += 1
                if j == "c" or j == "C":
                        c += 1
                if j == "t" or j == "T":
                        t += 1
                if j == "g" or j == "G":
                        g += 1
print("A:" + str(a), "C:" + str(c), "T:" + str(t),  "G:" + str(g), file = out_file)

in_file.close()
out_file.close()
[root@pc1 test2]# python test.py     ## 执行程序
[root@pc1 test2]# ls
a.txt  result.txt  test.py
[root@pc1 test2]# cat result.txt     ## 程序运行结果
A:1 C:5 T:2 G:1
复制代码

 

002、

复制代码
[root@pc1 test2]# ls
a.txt  test.py
[root@pc1 test2]# cat a.txt         ## 测试数据
AGCTTCCCC
[root@pc1 test2]# cat test.py       ## 测试程序
#!/usr/bin/python

in_file = open("a.txt", "r")
out_file = open("result.txt", "w")

dict1 = {}

for i in in_file:
        i = i.strip()
        for j in i:
                if j in dict1:
                        dict1[j] += 1
                else:
                        dict1[j] = 1

for i,j in dict1.items():
        out_file.write(i + ": ")
        print(j, file = out_file)

in_file.close()
out_file.close()
[root@pc1 test2]# python test.py         ## 执行程序
[root@pc1 test2]# ls
a.txt  result.txt  test.py
[root@pc1 test2]# cat result.txt          ## 程序执行结果
A: 1
G: 1
C: 5
T: 2
复制代码

 

 

003、

复制代码
[root@pc1 test2]# ls
a.txt  test.py
[root@pc1 test2]# cat a.txt         ## 测试序列
AGCTTCCCC
[root@pc1 test2]# cat test.py       ## 测试程序
#!/usr/bin/python

in_file = open("a.txt", "r")
out_file = open("result.txt", "w")

from collections import defaultdict
dict1 = defaultdict(int)

for i in in_file:
        i = i.strip()
        for j in i:
                dict1[j] += 1

for i,j in dict1.items():
        out_file.write(i + ": ")
        print(j, file = out_file)

in_file.close()
out_file.close()
[root@pc1 test2]# python test.py       ## 执行程序
[root@pc1 test2]# ls
a.txt  result.txt  test.py
[root@pc1 test2]# cat result.txt       ## 程序运行结果
A: 1
G: 1
C: 5
T: 2
复制代码

 

posted @   小鲨鱼2018  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-11-16 linux 系统中wget实现并行下载
2021-11-16 R语言中实现将多行数据合并为一行
2021-11-16 R语言中如何将多列数据合并为一列
2020-11-16 linux系统中创建用户组
点击右上角即可分享
微信分享提示