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