Title: | Tools for Chromatographic Column Characterization and Modelling Chromatographic Peak |
---|---|
Description: | The quantitative measurement and detection of molecules in HPLC should be carried out by an accurate description of chromatographic peaks. In this package non-linear fitting using a modified Gaussian model with a parabolic variance (PVMG) has been implemented to obtain the retention time and height at the peak maximum. This package also includes the traditional Van Deemter approach and two alternatives approaches to characterize chromatographic column. |
Authors: | Manuel David Peris Diaz, Maria Isabel Alcoriza Balaguer |
Maintainer: | Manuel David Peris Diaz <[email protected]> |
License: | GPL-2 |
Version: | 1.1.0 |
Built: | 2024-11-13 03:28:28 UTC |
Source: | https://github.com/cran/RpeakChrom |
Data frame containing the parameters calculated with processPeak function for columnar measurements of several compounds.
data("col")
data("col")
A data frame with 50 observations on the following 9 variables.
compound
a factor with levels sulfi
cloro
dimeti
Mera
flow
a numeric vector
tr
a numeric vector
Hmax
a numeric vector
A60
a numeric vector
B60
a numeric vector
A10
a numeric vector
B10
a numeric vector
area
a numeric vector
Data frame containing the parameters calculated with processPeak function for columnar measurements of sulphadimetoxine.
data("parameters_col_metoxi")
data("parameters_col_metoxi")
A data frame with 12 observations on the following 9 variables.
compound
a factor with levels metoxi
flow
a numeric vector
tr
a numeric vector
Hmax
a numeric vector
A60
a numeric vector
B60
a numeric vector
A10
a numeric vector
B10
a numeric vector
area
a numeric vector
Data frame containing the parameters calculated with processPeak function for dead marker measurements.
data("parameters_dead")
data("parameters_dead")
A data frame with 13 observations on the following 9 variables.
compound
a factor with levels Kbr
flow
a numeric vector
tr
a numeric vector
Hmax
a numeric vector
A60
a numeric vector
B60
a numeric vector
A10
a numeric vector
B10
a numeric vector
area
a numeric vector
Data frame containing the parameters calculated with processPeak function for extracolumnar measurements of kbr.
data("parameters_ext")
data("parameters_ext")
A data frame with 13 observations on the following 9 variables.
compound
a factor with levels Kbre
flow
a numeric vector
tr
a numeric vector
Hmax
a numeric vector
A60
a numeric vector
B60
a numeric vector
A10
a numeric vector
B10
a numeric vector
area
a numeric vector
Data frame with 2 columns (x, y) corresponding to a chromatographic peak that has been read and extracted using readChrom function.
data("peak")
data("peak")
A data frame with 12000 observations on the following 2 variables.
V1
a numeric vector
V2
a numeric vector
Function processPeak uses peak data to calculate the main parameters of the peak: retention time, maximum high, A60, B60, A10, B10 and area.
processPeak(peak, baseline=FALSE, method, flow=FALSE, compound=FALSE, area=FALSE)
processPeak(peak, baseline=FALSE, method, flow=FALSE, compound=FALSE, area=FALSE)
peak |
data frame. The input is a peak selected by the readChrom function. |
baseline |
if TRUE, the function estimates a baseline using asymmetric least squares and subtracts it from the data. By default, FALSE. |
flow |
numeric. This value will be written in the output data frame. |
method |
string indicating the method used to process the peak. "pvmg": the upper part of the peak is filtered and fitted by the PVMG model by non-linear fitting obtaining the time and height at the peak maximum. Then cubic splines is applied obtaining the half-widths measured at 60.65% and 10% peak height. "splines": interpolation by cubic splines to obtain both half-widths left and right either at 60.65% and 10% peak height from the signal of the peak. "direct": Interpolation of the signal of the peak to estimate the half-widths. |
compound |
string. The name of the compound will be written in the output data frame. |
area |
if TRUE, the peak area is estimated using by trapezoidal numerical integration (pracma package). By default, FALSE. |
The PVMG model peak (Parabolic Variance Modified Gaussian) is a simplification of the PLMG model (Parabolic Lorentzian Modified Gaussian) removing the Lorentzian function in the PLMG model and using a Gaussian model with a variance showing only a parabolic change with time. This simplified model gives good performance in relatively narrow ranges along the peak elution. It fits accurately the upper region of the peak. The estimation of the time and height at the peak maximum is carried out by non-linear fittings of the chromatographic data to the PVMG equation.
The difference between "pvmg" and "splines" is that the height and time at the peak maximum are calculated either by the PVGM model or by interpolation using the natural signal without being modelled. Then interpolation by cubic splines is applied for obtaining the half-widths at 60.65% and 10% of peak height. The method "direct" obtain the half-widths directly from the natural signal by interpolation.
If an error "singular gradient matrix at initial parameter estimates" occurs, the retention times used to subset the peak by the readChrom function need to be fitted again. See examples.
This function returns a data frame with the following items: compound (if supplied), flow(if supplied), retention time (tr), maximum high (Hmax), A60, B60, A10, B10, area, RSE (square root of the estimated variance of the random error, MeanError (prediction error) and correlation (R).
To get compounds and flows in the output data frame, they need to be witten by the user when using this function.
Manuel David Peris, Maria Isabel Alcoriza Balaguer
J. Baeza-Baeza, J. Torres-Lapasio, and M. Garcia-Alvarez-Coque. Approaches to estimate the time and height at the peak maximum in liquid chromatography based on a modified gaussian model. J.Chromatography A, 1218(10):1385-1392, 2011.
R. Caballero, M. Garcia-Alvarez-Coque, and J. Baeza-Baeza. Parabolic-lorentzian modified gaussian model for describing and deconvolving chromatographic peaks. J. Chromatography A, 954:59-76, 2002.
J. Foley and J. Dorsey. Equations for calculation of chromatographic figures of merit for ideal and skewed peaks. Analytical Chemistry, 55:730-737, 1983.
E. Grushka, M. Meyers, and J. Giddings. Moment analysis for the discernment of overlapping chromatographic peaks. Analytical Chemistry, 42:21-26, 1970.
L. He, S. Wang, and X. Geng. Coating and fusing cell membranes onto a silica surface and their chromatographic characteristics. Chromatographia, 54:71-76, 2001.
T. Pap and Z. Papai. Application of a new mathematical function for describing chromatographic peaks. J. Chromatography A, 930:53-60, 2001.
J. van Deemter, F. Zuiderweg, and A. Klinkenberg. Longitudinal diffusion and resistance to mass transfer as causes of nonideality in chromatography. Chemical Engineering Science, 5(6):271-289, 1956.
V.B. Di Marco and G.G. Bombi. Mathematical functions for the representation of chromatographic peaks. Journal of Chromatography A, 931:1-30, 2001.
readChrom
,
vanDeemterAlternative
,
vanDeemter
## Reading the file to get the peak # peak <- readChrom("file.csv", do.plot = T, # t1=28, t2=29.5) # parameters <- processPeak(peak, baseline=FALSE, flow=0.1, # method="pvmg", compound="alanine", area=TRUE) ## If when using processPeak it gives an error "singular gradient matrix ## at initial parameter estimates", the peak needs to be read again to fit ## retention times. For example: # peak <- readChrom("file.csv", do.plot = T, # t1=28.5, t2=31) parameters <- processPeak(peak, baseline = FALSE, flow = 0.1, method = "pvmg", compound = "alanine", area = TRUE)
## Reading the file to get the peak # peak <- readChrom("file.csv", do.plot = T, # t1=28, t2=29.5) # parameters <- processPeak(peak, baseline=FALSE, flow=0.1, # method="pvmg", compound="alanine", area=TRUE) ## If when using processPeak it gives an error "singular gradient matrix ## at initial parameter estimates", the peak needs to be read again to fit ## retention times. For example: # peak <- readChrom("file.csv", do.plot = T, # t1=28.5, t2=31) parameters <- processPeak(peak, baseline = FALSE, flow = 0.1, method = "pvmg", compound = "alanine", area = TRUE)
Function readChrom allows to read a chromatogram from a csv or txt file with two columns (x, y) and subset the peak of interest if the user gives the limiting retention times. Also, this function can draw the peak to check if the given retention times are correct.
readChrom(filepath, do.plot=TRUE, t1=0, t2=0)
readChrom(filepath, do.plot=TRUE, t1=0, t2=0)
filepath |
string indicating the path to the file. The first column represent the retention times and the second one the intensities. |
do.plot |
if TRUE, the function prints the chromatogram in the interval selected by t1 and t2. By default, it is TRUE. |
t1 |
numeric. Filter for measurements with retention time >= t1. |
t2 |
numeric. Filter for measurements with retention time <= t2. |
Setting t1 and t2 allows you to filter your peak in the chromatogram. To insurance the correct selection of the peak, the argument "do.plot" should be used.
The return value is a data frame containing two columns, the retention time and intensity.
Manuel David Peris, Maria Isabel Alcoriza Balaguer
J. Baeza-Baeza, J. Torres-Lapasio, and M. Garcia-Alvarez-Coque. Approaches to estimate the time and height at the peak maximum in liquid chromatography based on a modified gaussian model. J.Chromatography A, 1218(10):1385-1392, 2011.
R. Caballero, M. Garcia-Alvarez-Coque, and J. Baeza-Baeza. Parabolic-lorentzian modified gaussian model for describing and deconvolving chromatographic peaks. J. Chromatography A, 954:59-76, 2002.
J. Foley and J. Dorsey. Equations for calculation of chromatographic figures of merit for ideal and skewed peaks. Analytical Chemistry, 55:730-737, 1983.
E. Grushka, M. Meyers, and J. Giddings. Moment analysis for the discernment of overlapping chromatographic peaks. Analytical Chemistry, 42:21-26, 1970.
L. He, S. Wang, and X. Geng. Coating and fusing cell membranes onto a silica surface and their chromatographic characteristics. Chromatographia, 54:71-76, 2001.
T. Pap and Z. Papai. Application of a new mathematical function for describing chromatographic peaks. J. Chromatography A, 930:53-60, 2001.
J. van Deemter, F. Zuiderweg, and A. Klinkenberg. Longitudinal diffusion and resistance to mass transfer as causes of nonideality in chromatography. Chemical Engineering Science, 5(6):271-289, 1956.
V.B. Di Marco and G.G. Bombi. Mathematical functions for the representation of chromatographic peaks. Journal of Chromatography A, 931:1-30, 2001.
processPeak
,
vanDeemterAlternative
,
vanDeemter
# Substitute the file path argument for a csv or txt file # To see the whole chromatogram # peak <- readChrom("example_file.csv", do.plot = TRUE) # To subset the peak make use of t1 and t2 arguments, for example: # peak <- readChrom("example_file.csv", do.plot = TRUE, t1 = 2, t2 = 2.5)
# Substitute the file path argument for a csv or txt file # To see the whole chromatogram # peak <- readChrom("example_file.csv", do.plot = TRUE) # To subset the peak make use of t1 and t2 arguments, for example: # peak <- readChrom("example_file.csv", do.plot = TRUE, t1 = 2, t2 = 2.5)
Characterization of chromatographic columns using Van Deemter equations.
vanDeemter(col, ext, dead, length, A, B, C, Foley=FALSE, GG=FALSE, do.plot=TRUE)
vanDeemter(col, ext, dead, length, A, B, C, Foley=FALSE, GG=FALSE, do.plot=TRUE)
col |
data frame of the columnar measurements obtained using processPeak function. |
ext |
data frame of the extracolumnar measurements obtained using processPeak function. |
dead |
data frame of the dead marker measurements obtained using processPeak function. |
length |
numeric value indicating the column length in mm. |
A |
numeric value indicating the initial value of the parameter A from the van Deemter equation. |
B |
numeric value indicating the initial value of the parameter B from the van Deemter equation. |
C |
numeric value indicating the initial value of the parameter C from the Van Deemter equation. |
Foley |
if TRUE, Foley and Dorsey approach is used to estimate the variance from the half-widths measured at 10% peak height. |
GG |
if TRUE the variance and retention time are calculated by using the Grushka and Giddings approach. |
do.plot |
logical |
The Van Deemter approach has been widely used in column performance in HPLC from the information obtained in the elution of probe compounds at different flow rates, which relate the column plate height to the linear mobile phase velocity given solute, column and mobile phase composition. In this function the approaches for obtaining the retention time and variance are based on Grushka and Giddings, or Foley and Dorsey. The Grushka and Giddings approach make use of the half-widths measured at 60.65% peak height whereas Foley and Dorsey approach is based on the measurements at 10% peak height where the peak asymmetry is higher. The theoretical plate heigh (H) is determined according to the Martin and Synge plate model taking into account the measurement of the extra-column contribution.
List containing 5 items. Coefficients: A, B and C coefficients of vanDeemter equation already fitted. Summary: summary of the non-linear fitting. Correlation. Mean error. RSE: square root of the estimated variance of the random error.
Manuel David Peris, Maria Isabel Alcoriza Balaguer
J. Baeza-Baeza, J. Torres-Lapasio, and M. Garcia-Alvarez-Coque. Approaches to estimate the time and height at the peak maximum in liquid chromatography based on a modified gaussian model. J.Chromatography A, 1218(10):1385-1392, 2011.
R. Caballero, M. Garcia-Alvarez-Coque, and J. Baeza-Baeza. Parabolic-lorentzian modified gaussian model for describing and deconvolving chromatographic peaks. J. Chromatography A, 954:59-76, 2002.
J. Foley and J. Dorsey. Equations for calculation of chromatographic figures of merit for ideal and skewed peaks. Analytical Chemistry, 55:730-737, 1983.
E. Grushka, M. Meyers, and J. Giddings. Moment analysis for the discernment of overlapping chromatographic peaks. Analytical Chemistry, 42:21-26, 1970.
L. He, S. Wang, and X. Geng. Coating and fusing cell membranes onto a silica surface and their chromatographic characteristics. Chromatographia, 54:71-76, 2001.
T. Pap and Z. Papai. Application of a new mathematical function for describing chromatographic peaks. J. Chromatography A, 930:53-60, 2001.
J. van Deemter, F. Zuiderweg, and A. Klinkenberg. Longitudinal diffusion and resistance to mass transfer as causes of nonideality in chromatography. Chemical Engineering Science, 5(6):271-289, 1956.
V.B. Di Marco and G.G. Bombi. Mathematical functions for the representation of chromatographic peaks. Journal of Chromatography A, 931:1-30, 2001.
readChrom
,
processPeak
,
vanDeemterAlternative
ggmetoxi <- vanDeemter(col = parameters_col_metoxi, ext = parameters_ext, dead = parameters_dead, length = 150, A = 6, B = 200, C = 0.04, GG = TRUE, Foley = FALSE, do.plot = TRUE) foleymetoxi <- vanDeemter(col = parameters_col_metoxi, ext = parameters_ext, dead = parameters_dead, length = 150, A = 6, B = 200, C = 0.04, GG = FALSE, Foley = TRUE, do.plot = TRUE)
ggmetoxi <- vanDeemter(col = parameters_col_metoxi, ext = parameters_ext, dead = parameters_dead, length = 150, A = 6, B = 200, C = 0.04, GG = TRUE, Foley = FALSE, do.plot = TRUE) foleymetoxi <- vanDeemter(col = parameters_col_metoxi, ext = parameters_ext, dead = parameters_dead, length = 150, A = 6, B = 200, C = 0.04, GG = FALSE, Foley = TRUE, do.plot = TRUE)
Characterization of chromatographic columns using a new aproximation to vanDeemter equations.
vanDeemterAlternative(col, ext, dead, length, approachI=FALSE, A, B, C, approachII=FALSE)
vanDeemterAlternative(col, ext, dead, length, approachI=FALSE, A, B, C, approachII=FALSE)
col |
data frame of the columnar measurements obtained using processPeak function. |
ext |
data frame of the extracolumnar measurements obtained using processPeak function. |
dead |
data frame of the dead marker measurements obtained using processPeak function. |
length |
numeric value indicating the column length in mm. |
approachI |
If TRUE approach I is performed. |
A |
numeric value indicating the initial value of the parameter A from the van Deemter equation. |
B |
numeric value indicating the initial value of the parameter B from the van Deemter equation. |
C |
numeric value indicating the initial value of the parameter C from the van Deemter equation. |
approachII |
If TRUE approachII is performed. |
In the ApproachI the parameters A, B and C from the Van Deemter equation are obtained in two steps. First the variance in volume for a set of compounds eluted a several flows are linearly fitted versus the retention volume to obtain the plate height. In the second step, the obtained slopes at several flow rates are non-linearly correlated with the linear mobile phase velocity. In the ApproachII in the first step the parabolic behavior for the variance in volume units for each compound in the set is fitted against the flow rate. In the second step, the A, B and C coefficients for the different compounds are linearly correlated with their retention volume. The slopes in the straight-lines are the model parameters A, B and C in the Van Deemter equation.
For Approach I: list containing 6 items. Table: a summary of slope estimated values at several flows. Coefficients: A, B and C coefficients already fitted. Step I: coefficient of the linear fitting for the first step (R2). Correlation: R for the second step of the graphic approach (H vs u, non-linear fitting). Mean error: for the graphic (H vs u). RSE: square root of the estimated variance of the random error for the nls graphic.
For Approach II: list containing 8 items Table: a summary of slope estimated values at several flows. Coefficients: A, B and C coefficients already fitted. r2A: R2 for the coefficient A. r2B: R2 for the coefficient B. r2C: R2 for the coefficient C. MREA: mean relative prediction error for the coefficient A. MREB: mean relative prediction error for the coefficient B. MREC: mean relative prediction error for the coefficient C.
Manuel David Peris, Maria Isabel Alcoriza Balaguer
J. Baeza-Baeza, J. Torres-Lapasio, and M. Garcia-Alvarez-Coque. Approaches to estimate the time and height at the peak maximum in liquid chromatography based on a modified gaussian model. J.Chromatography A, 1218(10):1385-1392, 2011.
R. Caballero, M. Garcia-Alvarez-Coque, and J. Baeza-Baeza. Parabolic-lorentzian modified gaussian model for describing and deconvolving chromatographic peaks. J. Chromatography A, 954:59-76, 2002.
J. Foley and J. Dorsey. Equations for calculation of chromatographic figures of merit for ideal and skewed peaks. Analytical Chemistry, 55:730-737, 1983.
E. Grushka, M. Meyers, and J. Giddings. Moment analysis for the discernment of overlapping chromatographic peaks. Analytical Chemistry, 42:21-26, 1970.
L. He, S. Wang, and X. Geng. Coating and fusing cell membranes onto a silica surface and their chromatographic characteristics. Chromatographia, 54:71-76, 2001.
T. Pap and Z. Papai. Application of a new mathematical function for describing chromatographic peaks. J. Chromatography A, 930:53-60, 2001.
J. van Deemter, F. Zuiderweg, and A. Klinkenberg. Longitudinal diffusion and resistance to mass transfer as causes of nonideality in chromatography. Chemical Engineering Science, 5(6):271-289, 1956.
V.B. Di Marco and G.G. Bombi. Mathematical functions for the representation of chromatographic peaks. Journal of Chromatography A, 931:1-30, 2001.
readChrom
,
processPeak
,
vanDeemter
coeff1 <- vanDeemterAlternative(col = col, ext = parameters_ext, dead = parameters_dead, length = 150, approachI = TRUE, A = 6, B = 200, C = 0.04, approachII = FALSE) coeff2 <- vanDeemterAlternative(col = col, ext = parameters_ext, dead = parameters_dead, length = 150, approachI = FALSE, A = 6, B = 200, C = 0.04, approachII = TRUE)
coeff1 <- vanDeemterAlternative(col = col, ext = parameters_ext, dead = parameters_dead, length = 150, approachI = TRUE, A = 6, B = 200, C = 0.04, approachII = FALSE) coeff2 <- vanDeemterAlternative(col = col, ext = parameters_ext, dead = parameters_dead, length = 150, approachI = FALSE, A = 6, B = 200, C = 0.04, approachII = TRUE)