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