-1

给定大量的 FASTA 文件(用于分泌肽的各种生物的肽组),我如何使用 Python(或 Matlab)读取 FASTA 文件(来自 UNIProt),并计算每个氨基酸的频率,和氨基酸“双”配对?

(IE - 输出应该有每个单独氨基酸的百分比(22 个字母/字符中)和氨基酸配对的频率。

实际上,我想计算字母对的二元组(或 n-gram,如果易于实现)频率。

在 FASTA 文件中,这 22 个氨基酸分别由一个唯一的字母表示,每个蛋白质的名称在其行前以 > 开头。(已经解析过了,所以只剩下相关的字符)

文件样本:

FFKA

FLRN

MTTVSYVTILLTVLVQVLTSDAKATNNKRELSSGLKERSLSDDAPQFWKGRFSRSEEDPQ FWKGRFSDPQFWKGRFSDPQFWKGRFSDPQFWKGRFSDPQFWKGRFSDPQFWKGRFSDPQ FWKGRFSDGTKRENDPQYWKGRFSRSFEDQPDSEAQFWKGRFARTSSGEKREPQYWKGRF SRDSVPGRYGRELQGRFGRELQGRFGREAQGRFGRELQGRFGREFQGRFGREDQGRFGRE DQGRFGREDQGRFGREDQGRFGREDQGRFGREDQGRFGRELQGRFGREFQGRFGREDQGR FGREDQGRFGRELQGRFGREDQGRFGREDQGRFGREDLAKEDQGRFGREDLAKEDQGRFG REDIAEADQGRFGRNAAAAAAAAAAAKKRTIDVIDIESDPKPQTRFRDGKDMQEKRKVEK KDKIEKSDDALAKTS

非常感谢!

4

1 回答 1

3

这看起来怎么样?

>>> sequence = "LTSDAKAARFSDPQFWKGRFSDPQFWKGRSAAKGRFARTSSGAAEKREPQAAYWKGRF "
>>> occurrenceAA = str(sequence.count("AA"))   # counting occurence of n-aminos
>>> percent_occurrenceAA = float(occurrenceAA)/len(sequence)*100   # calculate percent total of protein
>>> print occurrenceAA, " Double-alanines in your sequence"
4 Double-alanines in your sequence
>>> print round(percent_occurrenceAA,2), " % of total"   # rounding off % to 2 decimal places
6.78  % of total
于 2012-09-13T01:17:23.183 回答