Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DNA(object):
- def __init__(self):
- pass
- def getSingleTemplate(self, std):
- if std == 'A':
- return 'T'
- elif std == 'T':
- return 'A'
- elif std == 'G':
- return 'C'
- elif std == 'C':
- return 'G'
- def getSingleRNA(self, std):
- if std == 'A':
- return 'U'
- elif std == 'T':
- return 'A'
- elif std == 'G':
- return 'C'
- elif std == 'C':
- return 'G'
- # 6 - Dado uma fita codificante (coding) faça a complementar (template);
- def getFullTemplate(self, _coding):
- template = ''
- for i in _coding:
- template += self.getSingleTemplate(i)
- return template
- # 7 - Dado uma fita complementar(template) encontre a sequência de RNA correspondente;
- def getFullRNA(self, _type, _input):
- template = _input
- rna = ''
- if _type == 'coding':
- template = self.getFullTemplate(_input)
- for i in template:
- rna += self.getSingleRNA(i)
- return rna
- def getCodingFromRNA(self, _rna):
- return _rna.replace('U','T')
- def getTranslation(self, _tree_letters):
- if _tree_letters in ('TTT', 'TTC'):
- return 'Phe'
- elif _tree_letters in ('TTA', 'TTG'):
- return 'Leu'
- elif _tree_letters in ('TCT', 'TCC', 'TCA', 'TCG'):
- return 'Ser'
- elif _tree_letters in ('TAT', 'TAC'):
- return 'Tyr'
- elif _tree_letters in ('TGT', 'TGC'):
- return 'Cys'
- elif _tree_letters in ('TGG'):
- return 'Trp'
- elif _tree_letters in ('CTT', 'CTC', 'CTA', 'CTG'):
- return 'Leu'
- elif _tree_letters in ('CCT', 'CCC', 'CCA', 'CCG'):
- return 'Pro'
- elif _tree_letters in ('CAT', 'CAC'):
- return 'His'
- elif _tree_letters in ('CAA', 'CAG'):
- return 'Gin'
- elif _tree_letters in ('CGT', 'CGC', 'CGA', 'CGG'):
- return 'Arg'
- elif _tree_letters in ('ATT', 'ATC', 'ATA'):
- return 'Ile'
- elif _tree_letters in ('ATG'):
- return 'Met'
- elif _tree_letters in ('ACT', 'ACC', 'ACA', 'ACG'):
- return 'Thr'
- elif _tree_letters in ('AAT', 'AAC'):
- return 'Asn'
- elif _tree_letters in ('AAA', 'AAG'):
- return 'Lys'
- elif _tree_letters in ('AGT', 'AGC'):
- return 'Ser'
- elif _tree_letters in ('AGA', 'AGG'):
- return 'Arg'
- elif _tree_letters in ('GTT', 'GTC', 'GTA', 'GTG'):
- return 'Val'
- elif _tree_letters in ('GCT', 'GCC', 'GCA', 'GCG'):
- return 'Ala'
- elif _tree_letters in ('GAT', 'GAC'):
- return 'Asp'
- elif _tree_letters in ('GAA', 'GAG'):
- return 'Giu'
- elif _tree_letters in ('GGT', 'GGC', 'GGA', 'GGG'):
- return 'Gly'
- else:
- return False
- def getFullTranslation(self, _rna):
- full_translation = []
- aminoacidos = []
- translation = ''
- trinca = ''
- for i in _rna:
- trinca += i
- if len(trinca) == 3:
- single = self.getTranslation(trinca)
- if single:
- aminoacidos.append(single)
- else:
- if len(aminoacidos) > 0:
- full_translation.append(aminoacidos)
- aminoacidos = []
- trinca = ''
- return full_translation
- dna = DNA()
- sequence = 'AAAAGGTCCACGCTTTCGCGCCCCGGT'
- template = dna.getFullTemplate(sequence)
- print('')
- print('----- TEMPLATE -------')
- print(template)
- print('')
- rna = dna.getFullRNA(_type='coding', _input=sequence)
- print('----- RNA -------')
- print(rna)
- print('')
- print('----- CODING FROM RNA -------')
- codingFromRNA = dna.getCodingFromRNA(rna)
- print(codingFromRNA)
- print('')
- print('----- FULL TRANSLATION -------')
- print(dna.getFullTranslation(rna))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement