Código
<syntaxhighlight lang="python3">
from datetime import datetime
import os
now = datetime.now()
print("-"*80)
print("\t\t\t\tProjeto POLIMERASE\t\t\t\t\t\t\t")
print("Data:",now.day,"/",now.month,"/",now.year,"\t\t\t\t\t","Hora:",now.hour,":",now.minute)
print("-"*80)
print (50 * '-')
print (" M E N U - P R I N C I P A L ")
print (50 * '-')
print ("1. Inserir código genético manualmente")
print ("2. Análise de DNA em arquivo")
print ("3. Limpar um arquivo")
print ("4. Deletar um arquivo")
print ("5. Créditos")
print ("0. Encerrar o Programa")
print (50* '-')
choice = input('Escolha uma opção: ')
choice = int(choice)
while choice != 0:
if choice == 1:
PESQ=input("Pesquisador:")
ORG=input("Organismo:")
GEN=input("Gene:")
DNA= input("Código genético:")
dna=DNA
rna=""
checker = True
for x in range(len(dna)):
if DNA[x] != 'A' and DNA [x] != 'T' and DNA[x] != 'C' and DNA[x] != 'G':
print("Código genético inválido!")
checker = False
if checker == True:
for x in range(len(dna)):
if DNA[x]=='A':
rna+='U'
continue
if DNA[x]=='T':
rna+='A'
continue
if DNA[x]=='C':
rna+='G'
continue
if DNA[x]=='G':
rna+='C'
continue
rna+=DNA[x]
DNA=rna
tam=str(len(DNA))
print ("RNAm = ",DNA)
pesq=str(PESQ)
org=str(ORG)
file=open("%s.txt" % PESQ,"a+")
file.write('Pesquisador:'+PESQ+'\n')
file.write('Organismo:'+ORG+'\n')
file.write('DNA:'+dna+'\n')
file.write('RNA:'+DNA+'\n')
file.close()
print('Seu arquivo foi gerado e salvo com sucesso!')
elif choice == 2:
filename=input("Nome do arquivo:")
with open("%s.txt" % filename) as f:
texto=f.read()
f.readlines(6)
print (texto)
elif choice == 3:
nome = input("Nome do arquivo:")
open('%s.txt' % nome, 'w').close()
elif choice == 4:
nome = input("Nome do arquivo:")
os.remove("%s.txt" % nome)
elif choice == 5:
print("x"*50)
print ("""O Projeto POLIMERASE foi desenvolvido pelos alunos:
Gabriella Maria Damasceno Shimada
Luisa Rodrigues Benfatti
Luiza Cristina Macedo Silva
Marcos Paulo de Oliveira""")
print("x"*50)
else:
print("Opção errada, escolha novamente.")
choice = input('Escolha uma opção: ')
choice = int(choice)
</syntaxhighlight>
Escopo
- Objetivo da aplicação
- O programa intitulado “Polimerase” tem por objetivo auxiliar profissionais da área biológica e médica através da obtenção de ácidos ribonucleicos transportadores (RNAt) e mensageiros (RNAm) das respectivas sequências de DNA inseridas pelo usuário. Logo, ele resultará em uma minimização de tempo bem como em um resultado mais preciso.
Entradas
- O que o sistemas receberá de dados?
- Ex: quais dados serão digitados via teclado
- Por intermédio de um teclado serão inseridos os arquivos de entrada, como supracitado acima, com sequências genéticas de DNA que contém por obrigatoriedade as letras: “A”, “C”, “G” e “T”.
Saídas
- O que será gerado de resultado impresso?
- Ex: quais dados serão publicados na tela ou no papel
- Esses arquivos serão processados para gerar as saídas, as quais irão conter sequências de RNAs, tanto transportador quanto mensageiro, e que possuem obrigatoriamente os nucleotídeos: “A”, “C”, “G” e “U”;
- A saída será impressa no monitor instantaneamente, após a entrada e o processamento dos dados.
Armazenamento
- O que será gravado em arquivo
- Por fim, os resultados ficarão gravados e armazenados em arquivos denominados RNAsequência.txt.
<bt>
Cálculos
- O que será processado?
Será processado com base na teoria da complementaridade entre as bases nitrogenadas puricas e pirimidicas, que são de cinco tipos: adenina (A), guanina (G), timina (T), citosina (C) e uracila (U). O código possui poucos elementos, mas é necessário que haja conexão química entre as bases que constituem ambos os filamentos, sendo que a adenina se liga apenas à uracila, timina se liga à adenina, citosina se liga à guanina e a guanina se liga à citosina. Lembrando que essa regra é válida apenas para a conversão de DNA em RNA.
Fase II
- Arquivo Relacionado:
- http://www.nature.com/scitable/topicpage/discovery-of-dna-structure-and-function-watson-397
- http://study.com/academy/lesson/complementary-base-pairing-definition-lesson-quiz.html
- Descreva o que vocês fariam numa evolução deste código:
- Uma possível evolução seria a identificação dos códons de inicio ("AUG") e de parada ("TGA", "TAA", "TAG"). Também seria interessante a codificação do RNA mensageiro para a sequencia de aminoácidos da proteína correspondente, além de ser necessário uma atualização do programa para expandir sua capacidade de armazenamento e leitura dos dados em txt, que podem conter milhares de bases nitrogenadas.
Desenvolvedores
- Luiza Cristina Macedo Silva
- Gabriella Maria Damasceno Shimada
- Luisa Rodrigues Benfatti
- Marcos Paulo Oliveira