python文本处理---计算fasta文件中不同氨基酸的数目

#::!/usr/bin/python3
#-*- coding:utf-8 -*-
#计算fasta文件中各个氨基酸的含量

import sys
args=sys.argv

f=open(args[1], 'r')
fw=open('out.txt', 'w')

line=f.read()
txt=''.join(line.split('\n')[1:])       #可以得到氨基酸序列


#构建了各个氨基酸和含量的字典
##注意collections模块中Counter的用法
from collections import Counter
dict=Counter(txt)       #Counter直接返回字典


#文件的write方法只能写入字符串,
#因此要先将字典转变为字符串模式;json模块
import json
strdict=json.dumps(dict)
fw.writelines(strdict)
fw.writelines('\n')
fw.writelines(str(sum(dict.values())))
fw.writelines('\n')


#计算指定氨基酸的百分比
'''
for index  in dict.keys():
    if index==args[2]:
        rate=str(dict[index]/sum(dict.values()))
        fw.writelines('\n')
        fw.writelines(rate)
        fw.writelines('\n')
'''

f.close()
fw.close()

 

posted @ 2017-12-13 20:12  遗世独立的愚公  阅读(1262)  评论(0)    收藏  举报