mirror of https://github.com/msberends/AMR.git
37 lines
1.9 KiB
R
37 lines
1.9 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/mo_matching_score.R
|
|
\name{mo_matching_score}
|
|
\alias{mo_matching_score}
|
|
\title{Calculate the matching score for microorganisms}
|
|
\usage{
|
|
mo_matching_score(x, fullname, uncertainty = 1)
|
|
}
|
|
\arguments{
|
|
\item{x}{Any user input value(s)}
|
|
|
|
\item{fullname}{A full taxonomic name, that exists in \code{\link[=microorganisms]{microorganisms$fullname}}}
|
|
|
|
\item{uncertainty}{The level of uncertainty set in \code{\link[=as.mo]{as.mo()}}, see \code{allow_uncertain} in that function (here, it defaults to 1, but is automatically determined in \code{\link[=as.mo]{as.mo()}} based on the number of transformations needed to get to a result)}
|
|
}
|
|
\description{
|
|
This helper function is used by \code{\link[=as.mo]{as.mo()}} to determine the most probable match of taxonomic records, based on user input.
|
|
}
|
|
\details{
|
|
The matching score is based on four parameters:
|
|
\enumerate{
|
|
\item A human pathogenic prevalence \eqn{P}, that is categorised into group 1, 2 and 3 (see \code{\link[=as.mo]{as.mo()}});
|
|
\item A kingdom index \eqn{K} is set as follows: Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, and all others = 5;
|
|
\item The level of uncertainty \eqn{U} that is needed to get to a result (1 to 3, see \code{\link[=as.mo]{as.mo()}});
|
|
\item The \href{https://en.wikipedia.org/wiki/Levenshtein_distance}{Levenshtein distance} \eqn{L} is the distance between the user input and all taxonomic full names, with the text length of the user input being the maximum distance. A modified version of the Levenshtein distance \eqn{L'} based on the text length of the full name \eqn{F} is calculated as:
|
|
}
|
|
|
|
\deqn{L' = F - \frac{0.5 \times L}{F}}{L' = F - (0.5 * L) / F}
|
|
|
|
The final matching score \eqn{M} is calculated as:
|
|
\deqn{M = L' \times \frac{1}{P \times K} * \frac{1}{U}}{M = L' * (1 / (P * K)) * (1 / U)}
|
|
}
|
|
\examples{
|
|
as.mo("E. coli")
|
|
mo_uncertainties()
|
|
}
|