簡體   English   中英

如何計算大型 FASTA 文件中包含的序列的氨基酸組成百分比

[英]How do I calculate percentage amino acid composition of sequences contained in a large FASTA file

我想計算 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]) 

我想你想從FastaIO模塊中得到一些東西,例如:

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

with open('myfile.fasta') as fd:
  for name, sequence in FastaIO.SimpleFastaParser(fd):
     X = ProteinAnalysis(sequence)
     print(name, X.count_amino_acids()['A']) 

以及任何你想計算的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM