python - 如何计算大型 FASTA 文件中包含的序列的氨基酸组成百分比

标签 python bioinformatics biopython fasta

我想计算 FASTA 文件中单独包含的每个序列的氨基酸组成,但我很难做到这一点。我知道我可以使用下面的代码来完成,但这需要我分别输入每个序列,而不是将 FASTA 文件作为一个整体并以这种方式计算。

from Bio.SeqUtils.ProtParam import ProteinAnalysis 
X = ProteinAnalysis("MAEGEITTFTALTEKFNLPPGNYKKPKLLYCSNGGHFLRILPDGTVDGT" 
                "RDRSDQHIQLQLSAESVGEVYIKSTETGQYLAMDTSGLLYGSQTPSEEC" 
                "LFLERLEENHYNTYTSKKHAEKNWFVGLKKNGSCKRGPRTHYGQKAILF" 
                "LPLPV") 
print(X.count_amino_acids()['A']) 
print(X.count_amino_acids()['E']) 
print("%0.2f" % X.get_amino_acids_percent()['K']) 
print("%0.2f" % X.get_amino_acids_percent()['L']) 
print("%0.2f" % X.molecular_weight()) 
print("%0.2f" % X.aromaticity()) 
print("%0.2f" % X.instability_index()) 
print("%0.2f" % X.isoelectric_point()) 
sec_struc = X.secondary_structure_fraction() 
print("%0.2f" % sec_struc[0]) 
epsilon_prot = X.molar_extinction_coefficient()  
print(epsilon_prot[0])   
print(epsilon_prot[1])  

最佳答案

您只需要使用 SeqIO.parse() 读取序列的 FASTA 文件:

from Bio import SeqIO
from Bio.SeqUtils.ProtParam import ProteinAnalysis

for record in SeqIO.parse('myfasta.fa', 'fasta'):
    X = ProteinAnalysis(str(record.seq))
    print('\n### Results for record: {} ###'.format(record.id))
    print(X.count_amino_acids()['A']) 
    print(X.count_amino_acids()['E']) 
    print("%0.2f" % X.get_amino_acids_percent()['K']) 
    print("%0.2f" % X.get_amino_acids_percent()['L']) 
    print("%0.2f" % X.molecular_weight()) 
    print("%0.2f" % X.aromaticity()) 
    print("%0.2f" % X.instability_index()) 
    print("%0.2f" % X.isoelectric_point()) 
    sec_struc = X.secondary_structure_fraction() 
    print("%0.2f" % sec_struc[0]) 
    epsilon_prot = X.molar_extinction_coefficient()  
    print(epsilon_prot[0])   
    print(epsilon_prot[1]) 

关于python - 如何计算大型 FASTA 文件中包含的序列的氨基酸组成百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274871/

相关文章:

python - 为什么一列即使在被删除后仍保留在 DataFrame 的索引中

python - 从python客户端发送加密消息到nodejs服务器

python - 查找目录下所有文件中的UTF-8字符串

python - AttributeError : 'str' object has no attribute 'id' using BioPython, 解析fasta

python - 使用 biopython 计算对齐中相同站点百分比的更快方法

python - 将 hmmer --tblout 输出转换为 pandas 数据框

python - 如何获取所有行的 QuerySet,每一行都有特定的字段?

r - 是否有任何 R 函数可以从物种分类 ID/物种名称或属名中提取所有分类名称(门、类、目、科...)?

regex - 是否存在用于 enzyme 促切割的正则表达式?

python - 在Python中查找列表和字典之间的共同元素