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()
时间: 2024-08-28 23:03:20

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

求fasta文件中互补序列

一个名为read_1.fa 的fasta文件,里面有若干序列,如: >@r1TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG>@r2NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATC

fasta文件中序列的排序

同样的名为read_1.fa 的fasta文件,里面有若干序列,如: >@r1TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG>@r2NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAAT

fasta文件中DNA to RNA

同样的名为read_1.fa 的fasta文件,里面有若干序列,如: >@r1TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG>@r2NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAAT

python 之文本搜索与替换文件中的文本

1 #!/usr/local/env python 2 import os, sys 3 nargs = len(sys.argv) 4 if not 3 <= nargs <= 5: 5 print "usage: %s search_text replace_text [inputfiel [outputfile]] " % os.path.basename(sys.argv[0]) #友好交互性提示 6 else : 7 stext = sys.argv[1] #获取

python学习——通过命令行参数根据fasta文件中染色体id提取染色体序列

提取fasta文件genome_test.fa中第14号染色体的序列,其内容如下: >chr1 ATATATATAT >chr2 ATATATATATCGCGCGCGCG >chr3 ATATATATATCGCGCGCGCGATATATATAT >chr4 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCG >chr5 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCGATATATATAT >chr6 ATCG

python struct.pack() 二进制文件,文件中打包二进制数据的存储与解析

学习Python的过程中,遇到一个问题,在<Python学习手册>(也就是<learning python>)中,元组.文件及其他章节里,关于处理二进制文件里,有这么一段代码的处理: >>>F=open('data.bin','wb') >>>import struct >>>data=struct.pack('i4sh',7,'spam',8) >>>data b'\x00\x00\x00\x07spam\x

java中文件的编码(在建立text文本时,如果文件中只写联通或是联,再次打开的时候就会出现乱码,下面就是原理)

public class EcodeDemo { public static void main(String[] args) throws Exception { String str = "生活ABC"; // 将字符串序列化 byte[] bytes = str.getBytes(); for (byte b : bytes) { /* * Integer.toHexString的参数是int, 如果不进行&0xff,那么当一个byte会转换成int时, * 由于int是

python文本联系--计算字符串中各个字符的数量

1 #!/usr/bin/python3 2 #-*- coding:utf-8 -*- 3 #计算字符串中,各个字符串的含量 4 str='adfadfafdfaafasdfasdcadf' 5 from collections import Counter 6 str1=Counter(str) 7 keys=sorted(str1) #可以返回str中的唯一值,且按照字母排序 8 #keys ['a', 'c', 'd', 'f', 's'] 9 values=str1.values()

mothur summary.seqs 统计fasta文件中每条序列的长度

在介绍summary.seqs的用法之前,我们首先需要搞清楚两个概念: 1)ambiguous bases 中文叫做模糊碱基,对于DNA序列来说,只有ATCG 4种碱基,在IUPAC定义的碱基标准中,出了上述4种碱基之外,还包括其他的碱基,可以代表不同类型的碱基 代码 英文含义 中文含义 G   Guanine 鸟嘌啉 A   Adenine 腺嘌啉 T (U) Thymine (Uracil) 胸腺嘧啶 (尿嘧啶) C   Cytosine 胞嘧啶 R (A or G) PuRine 嘌啉 Y