Determinação e Calibração da Concentração de Inóculo Fúngico
Via suspensão de esporos utilizando hemacitômetro
O hemacitômetro comum consiste em uma lâmina retangular em forma de H, na qual se encontram duas regiões delimitadas, (figura I). Cada região delimitada possui uma superfície de 9 mm² e profundidade de 0,1 mm. Esse compartimento possui 9 divisões/quadrantes, (figura II) que são de três tipos, são eles “A” = “B” = “C”, em que:
- “A” – localizados nos quatro cantos e subdivididos em 15 quadrados “a”
- “B” – localizados entre os compartimentos “A” e subdivididos em 20 quadrados “b”
- “C” – localizado no centro e subdivididos em 25 quadrados “c”

Para utilizar o aplicativo, preencha os campos conforme o indicado e escolha o quadrante no qual foi realizada a contagem de esporos. Insira o volume final de suspensão de esporos e a concentração desejada. A aplicação lhe retornara três valores:
- Esporos por mL da suspensão inicial
- Volume da suspensão inicial para preparo da suspensão de inóculo final em mL
- Volume de veículo para preparo da suspensão de inóculo final em mL
#| '!! shinylive warning !!': |
#| shinylive does not work in self-contained HTML documents.
#| Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 900
webr::install("dplyr")
library(shiny)
library(dplyr)
library(bslib)
# -----------------------------
# Função inoculo (inalterada)
# -----------------------------
inoculo <- function(numero, quadrante, conc, volume) {
fator_correcao <- case_when(
quadrante == "A" ~ 10000,
quadrante == "a" ~ 160000,
quadrante == "b" ~ 200000,
quadrante == "c" ~ 250000,
quadrante == "c'" ~ 4000000,
TRUE ~ 1
)
esporo_mL <- numero * fator_correcao
volume_inoculo <- (conc * volume) / esporo_mL
volume_veiculo <- volume - volume_inoculo
return(list(esporo_mL = esporo_mL, volume_inoculo = volume_inoculo, volume_veiculo = volume_veiculo))
}
# -----------------------------
# UI
# -----------------------------
ui <- navbarPage(
theme = bs_theme(bootswatch = "lumen"),
tabPanel("Calibração de Inóculo",
# CSS para usar largura total da tela
tags$head(
tags$style(HTML("
.container-fluid {
max-width: 100% !important;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
overflow-x: hidden;
}
"))
),
h3("Calibração de Inóculo Fúngico",
style = "text-align:center; margin-bottom:25px;"),
fluidRow(
# Coluna esquerda (inputs)
column(width = 6,
card(
card_header("Parâmetros"),
card_body(
numericInput("numero", "Número MÉDIO de esporos contados:", 0, min = 1),
radioButtons("quadrante", "Quadrante:",
c("A" = "A", "a" = "a", "b" = "b",
"c" = "c", "c'" = "c'")),
numericInput("volume", "Volume final desejado (mL):", 0, min = 0),
radioButtons("conc", "Concentração desejada:",
c("10²" = 100,"10³" = 1000,"10⁴" = 10000,"10⁵" = 100000,
"10⁶" = 1000000,"10⁷" = 10000000,"10⁸" = 100000000,
"10⁹"=1000000000,"10¹⁰"=10000000000))
)
)
),
# Coluna direita (resultados sem scroll, fundo verde)
column(width = 6,
card(
card_header("Resultados"),
card_body(
tags$pre(
textOutput("resultado"),
style = "background-color:#d4edda;
color:#155724;
font-weight:bold;
padding:20px;
border-radius:10px;
font-size:16px;"
)
)
)
)
)
)
)
# -----------------------------
# Server (inalterado)
# -----------------------------
server <- function(input, output, session) {
output$resultado <- renderText({
resultado <- inoculo(input$numero, input$quadrante,
as.numeric(input$conc), input$volume)
paste("Esporos por mL (Ci):", format(resultado$esporo_mL, scientific = TRUE), "\n",
"Volume para Inóculo (Vi):", resultado$volume_inoculo, "\n",
"Volume de Veículo (água):", resultado$volume_veiculo)
})
}
# -----------------------------
# Run the application
# -----------------------------
shinyApp(ui = ui, server = server)
Referência: Alfenas A., Mafia R. Métodos em Fitopatologia. 2ª edição. Editora UFV. 2016.