def translate_protein(sequence):
codonTable = {
'AUA': 'I', 'AUC': 'I', 'AUU': 'I', 'AUG': 'M',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T',
'AAC': 'N', 'AAU': 'N', 'AAA': 'K', 'AAG': 'K',
'AGC': 'S', 'AGU': 'S', 'AGA': 'R', 'AGG': 'R',
'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P',
'CAC': 'H', 'CAU': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R',
'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A',
'GAC': 'D', 'GAU': 'D', 'GAA': 'E', 'GAG': 'E',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G',
'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S',
'UUC': 'F', 'UUU': 'F', 'UUA': 'L', 'UUG': 'L',
'UAC': 'Y', 'UAU': 'Y', 'UAA': '', 'UAG': '',
'UGC': 'C', 'UGU': 'C', 'UGA': '', 'UGG': 'W',
}
dnasequence = ''
for key, val in codonTable.items():
for n in range(len(sequence)):
if val == se[n]:
dnasequence += codonTable[sequence[n]]
return dnasequence
se="MVSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEELNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDMSPFQAAMVDGSGYQVHRTMQFEDGASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIISTFKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQKAFTDVMGMDELYKHHHHHH"
print(translate_protein(se))
uj5u.com熱心網友回復:
1. if val == se[n]:改為 if val == sequence[n]:2. dnasequence += codonTable[sequence[n]] 改為:dnasequence += key
3. return 跟第一個for對齊
4. se ="xxxx" 和print(translate_protein(se))跟def對齊
def translate_protein(sequence):
codonTable = {
'AUA': 'I', 'AUC': 'I', 'AUU': 'I', 'AUG': 'M',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T',
'AAC': 'N', 'AAU': 'N', 'AAA': 'K', 'AAG': 'K',
'AGC': 'S', 'AGU': 'S', 'AGA': 'R', 'AGG': 'R',
'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P',
'CAC': 'H', 'CAU': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R',
'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A',
'GAC': 'D', 'GAU': 'D', 'GAA': 'E', 'GAG': 'E',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G',
'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S',
'UUC': 'F', 'UUU': 'F', 'UUA': 'L', 'UUG': 'L',
'UAC': 'Y', 'UAU': 'Y', 'UAA': '', 'UAG': '',
'UGC': 'C', 'UGU': 'C', 'UGA': '', 'UGG': 'W',
}
dnasequence = ''
for key, val in codonTable.items():
for n in range(len(sequence)):
if val == sequence[n]:
dnasequence += key #codonTable[sequence[n]]
return dnasequence
se="MVSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEELNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDMSPFQAAMVDGSGYQVHRTMQFEDGASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIISTFKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQKAFTDVMGMDELYKHHHHHH"
print(translate_protein(se))
uj5u.com熱心網友回復:
謝謝大佬,順便請問如果要在值對應的幾個鍵里面隨機輸出一個要怎么寫uj5u.com熱心網友回復:
import random
def translate_protein(sequence):
codonTable = {
'AUA': 'I', 'AUC': 'I', 'AUU': 'I', 'AUG': 'M',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T',
'AAC': 'N', 'AAU': 'N', 'AAA': 'K', 'AAG': 'K',
'AGC': 'S', 'AGU': 'S', 'AGA': 'R', 'AGG': 'R',
'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P',
'CAC': 'H', 'CAU': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R',
'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A',
'GAC': 'D', 'GAU': 'D', 'GAA': 'E', 'GAG': 'E',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G',
'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S',
'UUC': 'F', 'UUU': 'F', 'UUA': 'L', 'UUG': 'L',
'UAC': 'Y', 'UAU': 'Y', 'UAA': '', 'UAG': '',
'UGC': 'C', 'UGU': 'C', 'UGA': '', 'UGG': 'W',
}
dnasequence = ''
temp = []
for n in range(len(sequence)):
for key, val in codonTable.items():
if val == sequence[n]:
temp.append(key)
#dnasequence += key #codonTable[sequence[n]]
dnasequence += temp[random.randint(0,len(temp)-1)]
temp.clear()
return dnasequence
se="MVSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEELNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDMSPFQAAMVDGSGYQVHRTMQFEDGASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIISTFKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQKAFTDVMGMDELYKHHHHHH"
print(translate_protein(se))
uj5u.com熱心網友回復:
這是在搞生物工程嗎?
uj5u.com熱心網友回復:
請問怎么將所有可能的編碼基因輸出呢?現在只是隨機輸出一個。謝謝了!
import random
def translate_protein(sequence):
codonTable = {
'AUA': 'I', 'AUC': 'I', 'AUU': 'I', 'AUG': 'M',
'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T',
'AAC': 'N', 'AAU': 'N', 'AAA': 'K', 'AAG': 'K',
'AGC': 'S', 'AGU': 'S', 'AGA': 'R', 'AGG': 'R',
'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L',
'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P',
'CAC': 'H', 'CAU': 'H', 'CAA': 'Q', 'CAG': 'Q',
'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R',
'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V',
'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A',
'GAC': 'D', 'GAU': 'D', 'GAA': 'E', 'GAG': 'E',
'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G',
'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S',
'UUC': 'F', 'UUU': 'F', 'UUA': 'L', 'UUG': 'L',
'UAC': 'Y', 'UAU': 'Y', 'UAA': '', 'UAG': '',
'UGC': 'C', 'UGU': 'C', 'UGA': '', 'UGG': 'W',
}
dnasequence = ''
temp = []
for n in range(len(sequence)):
for key, val in codonTable.items():
if val == sequence[n]:
temp.append(key)
#dnasequence += key #codonTable[sequence[n]]
dnasequence += temp[random.randint(0,len(temp)-1)]
temp.clear()
return dnasequence
se="MVSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEELNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDMSPFQAAMVDGSGYQVHRTMQFEDGASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIISTFKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQKAFTDVMGMDELYKHHHHHH"
print(translate_protein(se))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237770.html
上一篇:運行model.fit()出現 TypeError: float() argument must be a string or a number
