% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/structure-level.R
\name{get_structure_level}
\alias{get_structure_level}
\title{Get the Structure Resolution Levels}
\usage{
get_structure_level(x)
}
\arguments{
\item{x}{A \code{\link[=glycan_structure]{glycan_structure()}} vector.}
}
\value{
A character scalar containing the structure level for \code{x}.
If \code{x} is empty or all structures in \code{x} are NA, returns NA_character_.
}
\description{
Glycan structures can have four possible levels of resolution:
\itemize{
\item "intact": All monosaccharides are concrete (e.g. "Man", "GlcNAc"),
and no linkage or anomer contains "?".
\item "partial": All monosaccharides are concrete (e.g. "Man", "GlcNAc"),
at least one linkage or anomer contains "?",
and at least one linkage or anomer has a non-"?" annotation.
\item "topological": All monosaccharides are concrete (e.g. "Man", "GlcNAc"),
and all linkages and anomers are completely unknown ("??-?"/"??").
\item "basic": All monosaccharides are generic (e.g. "Hex", "HexNAc").
}

Note that in theory you can have a glycan with generic monosaccharides with all linkages determined.
For example, "Hex(b1-3)HexNAc(a1-" is a valid glycan structure.
But in reality, this is almost impossible,
because linkage information is far more difficult to acquire than monosaccharide information.
This kind of glycan structure is also assigned to "basic" level.
}
\examples{
glycan <- as_glycan_structure("Gal(b1-3)GalNAc(a1-")
get_structure_level(glycan)

}
\seealso{
\code{\link[=has_linkages]{has_linkages()}}, \code{\link[=get_mono_type]{get_mono_type()}}
}
