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 @ 2022-11-16 18:21  小鲨鱼2018  阅读(163)  评论(0编辑  收藏  举报