python - 如何使用python编程将一组DNA序列转换成蛋白质序列?

标签 python python-3.x bioinformatics biopython dna-sequence

我正在使用 Python 创建一个程序,将一组 DNA 序列转换为氨基酸(蛋白质)序列。然后我需要找到一个特定的子序列,并计算出现这个特定子序列的序列数。这是我到目前为止的代码:

#Open cDNA_sequences file and read in line by line
with open('cDNA_sequences.csv', 'r') as results:

    for line in results:

        columns = line.rstrip("\n").split(",") #remove end of line characters and split commas to produce a list
        ensemblID = columns[0] #ensemblID is first element in our list
        dna_seq = columns[1] #dna_seq is second element in our list
        genetic code = {


        "UUU":"F", "UUC":"F", "UUA":"L", "UUG":"L",
        "UCU":"S", "UCC":"s", "UCA":"S", "UCG":"S",
        "UAU":"Y", "UAC":"Y", "UAA":"STOP", "UAG":"STOP",
        "UGU":"C", "UGC":"C", "UGA":"STOP", "UGG":"W",
        "CUU":"L", "CUC":"L", "CUA":"L", "CUG":"L",
        "CCU":"P", "CCC":"P", "CCA":"P", "CCG":"P",
        "CAU":"H", "CAC":"H", "CAA":"Q", "CAG":"Q",
        "CGU":"R", "CGC":"R", "CGA":"R", "CGG":"R",
        "AUU":"I", "AUC":"I", "AUA":"I", "AUG":"M",
        "ACU":"T", "ACC":"T", "ACA":"T", "ACG":"T",
        "AAU":"N", "AAC":"N", "AAA":"K", "AAG":"K",
        "AGU":"S", "AGC":"S", "AGA":"R", "AGG":"R",
        "GUU":"V", "GUC":"V", "GUA":"V", "GUG":"V",
        "GCU":"A", "GCC":"A", "GCA":"A", "GCG":"A",
        "GAU":"D", "GAC":"D", "GAA":"E", "GAG":"E",
        "GGU":"G", "GGC":"G", "GGA":"G", "GGG":"G",} #genetic code, telling into which amino acids the DNA triplets translate

        for i in range (0, len(dna_seq), 3):
            codon = dna_seq[i:i+3]
            protein += genetic_code [codon]
        print (protein)                    

    enterokinase_motif = "DDDDK"
    proline_motif = "DDDDKP"
    motif_number = 0
    if enterokinase_motif in line:
        motif_number = motif_number + 1;
    elif proline_number in line:
        motif_number = motif_number;
    else: 
        motif_number = motif_number
    print ("The number of sequences containing one or more enterokinase motifs is []".format(motif_number))

我在编写将 DNA 序列转换为蛋白质序列的代码时遇到了问题。

最佳答案

你应该阅读 Biopython .它带有与生物学和生物信息学相关的便利函数和类。

它有一个功能可以满足您的需求:Bio.Seq.translate

这里有代码示例:

>>> coding_dna = "GTGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG"
>>> translate(coding_dna)
'VAIVMGR*KGAR*'
>>> translate(coding_dna, stop_symbol="@")
'VAIVMGR@KGAR@'
>>> translate(coding_dna, to_stop=True)
'VAIVMGR'

关于python - 如何使用python编程将一组DNA序列转换成蛋白质序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40834338/

相关文章:

python - Unittest : How to ensure type equality, 不只是值相等?

python - Gensim Word2Vec 'you must first build vocabulary before training the model'

python - 有没有办法用 Python 控制窗口?

python - 在其他列表项中查找列表项的列表索引

python - Biopython SeqIO : how to write modified SeqRecord header

python - 使用 python/selenium 保存完整的网页(包括 css,图像)

python - 类型错误 : expected a character buffer object using . 翻译

python-3.x - 使用 10000 张图像训练 vgg 网络期间验证准确性停滞不前

python-3.x - 用于 3d 数组的 Numpy dstack

r - 根据截断将区域分成更小的区域