Escopo
- O teste de antibiograma é muito importante para a análise e estudo da resistência bacteriana para um antibiótico pesquisado, porém, a consulta de tabelas para encontrar os valores de halo de resistência para uma dada colônia de bactérias demanda tempo que poderia ser utilizado em outras atividades.
- Visando facilitar essa análise, o programa "Bacterial resistance" visa analisar se uma bactéria do gênero Enterobacteriaceae é resistente ao antibiótico ampicilina, de acordo com os valores de halo fornecidos pelo usuário.
Funcionalidades
- Adicionar tabela com: Data do experimento, meio utilizado, laboratório, valor do Halo, Bactéria utilizada.
- Excluir a tabela
- Analisar a Resistência
- Ler a resistência
- Novas funcionalidades:
- Forma
- Teste de Gram
- Habitat
- Principal doença
- Pessoa que realizou o experimento
Entradas
- Data do experimento
- Nome ou código do Laboratório
- Valor do halo
- Antibiótico
- Meio de Cultura
- Espécie da bactéria
Saídas
- O que será gerado de resultado?
- Nome da bactéria
- Sua resistência
Armazenamento
- O que será gravado em arquivo?
- Data do experimento
- Laboratório
- Valor do halo
- Antibiótico
- Meio de Cultura
- Espécie da bactéria
- Sua respectiva resistência
Cálculos
- O que será processado?
- Serão analisados os valores de halo apresentados comparando-os
com os valores tabelados de resistência a ampicilina, resultando na
conclusão se a bactéria é susceptível ou resistente
Referência de tabela
http://www.interlabdist.com.br/dados/noticias/pdf_190.pdf [1] [1]
Código
<syntaxhighlight lang="python3"> arquivo = ('Tabela.txt') Arquivo = ("Experimentos.txt") print("Resistência Bacteriana") print("-------------------") def digite_tabela (texto):
try:
arq = open(arquivo,'a+')
arq.writelines(texto)
arq.close()
print('Bactéria gravada com sucesso!')
except IOError:
print('Erro ao abrir arquivo.')
def ler_tabela ():
try:
arq = open(arquivo,'r+')
print('\n'+arq.read())
arq.close()
except IOError:
print('Tabela não encontrada.')
def alterar_tabela (texto):
try:
arq = open(arquivo, 'w')
arq.writelines(texto)
arq.close()
print("Alteração realizada com sucesso!")
except IOError:
print("Erro ao realizar alteração.")
def excluir_tabela ():
try:
arq = open(arquivo,'w')
arq.writelines(" ")
arq.close()
print("Tabela deletada com sucesso!")
except IOError:
print("Erro ao deletar tabela.")
def analisar_resistência(texto):
try:
arq = open(Arquivo,'a+')
arq.writelines(texto)
arq.close()
print("Esperimento arquivado com sucesso!")
except IOError:
print("Erro ao arquivar experimento.")
def ler_resistencia ():
try:
arq = open(Arquivo,'r+')
print('\n'+arq.read())
arq.close()
except IOError:
print('Experimento não encontrado.')
def alterar_resistencia (texto):
try:
arq = open(Arquivo, 'w')
arq.writelines(texto)
arq.close()
print("Alteração realizada com sucesso!")
except IOError:
print("Erro ao realizar alteração.")
def excluir_resistencia ():
try:
arq = open(Arquivo,'w')
arq.writelines(" ")
arq.close()
print("Experimento deletado com sucesso!")
except IOError:
print("Erro ao deletar experimento.")
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
while(acao != "0"):
if(acao == "1"):
texto = []
num = input("Digite o número correspondente à essa linha: ")
bact = input("Digite o nome da bactéria: ")
antib = input("Digite o antibiótico utilizado: ")
minimo = input("Digite o mínimo de halo: ")
maximo = input("Digite o máximo de halo: ")
texto.append(num+' - Bactéria: '+bact+' - Antibiótico: '+antib+' - Minimo: '+minimo+' - Maximo: '+maximo+'\n')
digite_tabela(texto)
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
elif(acao == "2"):
tab = int(input('Quantas vezes deseja ler a tabela? '))
for i in range(tab):
ler_tabela()
i-=i
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
elif(acao == "3"):
texto = []
num = input("Digite o número correspondente à essa linha: ")
bact = input("Digite o nome da bactéria: ")
antib = input("Digite o antibiótico utilizado: ")
minimo = input("Digite o mínimo de halo: ")
maximo = input("Digite o máximo de halo: ")
texto.append(num+' - Bactéria: '+bact+' - Antibiótico: '+antib+' - Minimo: '+minimo+' - Maximo: '+maximo+'\n')
alterar_tabela (texto)
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
elif (acao == "4"):
excluir_tabela()
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
elif (acao == "5"):
arquivo = ('Tabela.txt')
print("Informe-nos a data e o laboratório do experimento.")
dia = int(input("Dia:"))
mes = int(input("Mês:"))
ano = int(input("Ano:"))
validade = "true"
i = 0
if (ano%4 == 0 and ano%100!= 0) or ano%400 == 0:
bissexto = "sim"
else:
bissexto = "nao"
if mes < 1 or mes > 12:
validade = "false"
if dia > 31 or ((mes == 4 or mes == 6 or mes == 9 or mes == 11) and dia > 30):
validade = "false"
if (mes == 2 and bissexto == "nao" and dia > 28) or ( mes == 2 and bissexto == "sim" and dia > 29):
validade = "false"
i = i + 1
if validade == "true":
print("Data Válida")
else:
print("Data Inválida")
while validade == "false":
print("Informe-nos a data novamente.")
dia = int(input("Dia:"))
mes = int(input("Mês:"))
ano = int(input("Ano:"))
validade = "true"
i = 0
while validade == "true" and i == 0:
if (ano%4 == 0 and ano%100!= 0) or ano%400 == 0:
bissexto = "sim"
else:
bissexto = "nao"
if mes < 1 or mes > 12:
validade = "false"
if dia > 31 or ((mes == 4 or mes == 6 or mes == 9 or mes == 11) and dia > 30):
validade = "false"
if (mes == 2 and bissexto == "nao" and dia > 28) or ( mes == 2 and bissexto == "sim" and dia > 29):
validade = "false"
i = i + 1
if validade == "true":
print("Data Válida")
else:
print("Data Inválida")
Laboratorio=str(input('Laboratório:'))
texto = []
bac=input('Qual a bactéria utilizada: ')
antibe=input('Qual o antibiótico utilizado: ')
meio=input('Qual o meio utilizado: ')
with open("Tabela.txt", "r") as arq:
for f in arq.readlines():
if(f.find('%s'%(bac))>-1) and(f.find('%s'%(antibe))>-1):
print (f)
else:
print("Arquivo não encontrado!")
min1 = int(input("Digite o valor de halo mínimo apresentado acima: "))
max1 = int(input("Digite o valor de halo máximo apreentado acima: "))
halo=int(input('Qual o valor do halo de seu experimento: '))
if halo <= min1:
resist="positiva."
if min1 < halo < max1:
resist="indeterminada."
if halo >= max1:
resist="negativa."
texto.append('Experimento realizado na data %d/%d/%d, no laboratótio %s, com a bactéria %s, antibiótico %s, meio %s e resistência %s \n' %(dia, mes, ano, Laboratorio, bac, antibe, meio, resist))
analisar_resistência(texto)
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
elif (acao == "6"):
opcao = input("Digite por qual parâmetro deseja filtrar a leitura:"+
"\n 1 - Data"+
"\n 2 - Laboratório "+
"\n 3 - Bactéria "+
"\n 4 - Antibiótico"+
"\n 5 - Meio"+
"\n 6 - Leia tudo: ")
if (opcao == "1"):
dat = input("Digite a data que deseja filtrar (D/M/AAAA): ")
with open("Experimentos.txt", "r") as arq:
for a in arq.readlines():
if(a.find('%s'%(dat))>-1):
print (a)
if (opcao == "2"):
labe = input("Digite o Laboratório que deseja filtrar: ")
with open("Experimentos.txt", "r") as arq:
for a in arq.readlines():
if(a.find('%s'%(labe))>-1):
print(a)
if (opcao == "3"):
bacte = input("Digite a Bactéria que deseja filtrar: ")
with open("Experimentos.txt", "r") as arq:
for a in arq.readlines():
if(a.find('%s'%(bacte))>-1):
print (a)
if (opcao == "4"):
antib1 = input("Digite o antibiótico que deseja filtrar: ")
with open("Experimentos.txt", "r") as arq:
for a in arq.readlines():
if(a.find('%s'%(anitb1))>-1):
print (a)
if (opcao == "5"):
meio1 = input("Digite o meio que deseja filtrar: ")
with open("Experimentos.txt", "r") as arq:
for a in arq.readlines():
if(a.find('%s'%(meio1))>-1):
print (a)
if (opcao == "6"):
tab = int(input('Quantas vezes deseja ler os experimentos? '))
for i in range(tab):
ler_resistencia()
i-=i
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
if (acao == "7"):
print("Informe-nos a data e o laboratório do experimento.")
dia = int(input("Dia:"))
mes = int(input("Mês:"))
ano = int(input("Ano:"))
validade = "true"
i = 0
if (ano%4 == 0 and ano%100!= 0) or ano%400 == 0:
bissexto = "sim"
else:
bissexto = "nao"
if mes < 1 or mes > 12:
validade = "false"
if dia > 31 or ((mes == 4 or mes == 6 or mes == 9 or mes == 11) and dia > 30):
validade = "false"
if (mes == 2 and bissexto == "nao" and dia > 28) or ( mes == 2 and bissexto == "sim" and dia > 29):
validade = "false"
i = i + 1
if validade == "true":
print("Data Válida")
else:
print("Data Inválida")
while validade == "false":
print("Informe-nos a data novamente.")
dia = int(input("Dia:"))
mes = int(input("Mês:"))
ano = int(input("Ano:"))
validade = "true"
i = 0
while validade == "true" and i == 0:
if (ano%4 == 0 and ano%100!= 0) or ano%400 == 0:
bissexto = "sim"
else:
bissexto = "nao"
if mes < 1 or mes > 12:
validade = "false"
if dia > 31 or ((mes == 4 or mes == 6 or mes == 9 or mes == 11) and dia > 30):
validade = "false"
if (mes == 2 and bissexto == "nao" and dia > 28) or ( mes == 2 and bissexto == "sim" and dia > 29):
validade = "false"
i = i + 1
if validade == "true":
print("Data Válida")
else:
print("Data Inválida")
Laboratorio=str(input('Laboratório:'))
texto = []
bac=input('Qual a bactéria utilizada: ')
antibe=input('Qual o antibiótico utilizado: ')
meio=input('Qual o meio utilizado: ')
with open("Tabela.txt", "r") as arq:
for f in arq.readlines():
if(f.find('%s'%(bac))>-1) and(f.find('%s'%(antibe))>-1):
print (f)
else:
print("Arquivo não encontrado!")
min1 = int(input("Digite o valor de halo mínimo apresentado acima: "))
max1 = int(input("Digite o valor de halo máximo apreentado acima: "))
halo=int(input('Qual o valor do halo de seu experimento: '))
if halo <= min1:
resist="positiva."
if min1 < halo < max1:
resist="indeterminada."
if halo >= max1:
resist="negativa."
texto.append('Experimento realizado na data %d/%d/%d, no laboratótio %s, com a bactéria %s, antibiótico %s, meio %s e resistência %s \n' %(dia, mes, ano, Laboratorio, bac, antibe, meio, resist))
alterar_resistencia(texto)
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
if (acao == "8"):
excluir_resistencia()
acao = input("Digite o acao que voce deseja realizar"+
"\n 1 - Digitar tabela"+
"\n 2 - Ler Tabela "+
"\n 3 - Editar Tabela "+
"\n 4 - Excluir Tabela"+
"\n 5 - Analisar Resistência"+
"\n 6 - Ler Resistência"+
"\n 7 - Editar Resistência"+
"\n 8 - Excluir Resistência"+
"\n 0 - Sair: ")
if (acao == "0"):
print("Obrigado pela atenção!")
break
</syntaxhighlight>
Apresentação Final
- Mostrar o programa funcionando para o professor
- Implementar a funcionalidade abaixo:
- Aluno 1: Ana Luiza Araújo
- Implementar se o teste de Gram é positivo ou negativo, se o usuário digitar outra coisa que colocar "TESTE INVALIDO"