rtCorrection {MetNet}R Documentation

Correct connections in the structural adjacency matrix by retention time

Description

The function rtCorrection corrects the adjacency matrix infered from structural data based on shifts in the retention time. For known chemical modifications (e.g. addition of glycosyl groups) molecules with the moiety should elue at a different time (in the case of glycosyl groups the metabolite should elute earlier in a reverse-phase liquid chromatography system). If the connection for the metabolite does not fit the expected behaviour, the connection will be removed (otherwise sustained).

Usage

rtCorrection(struct_adj, x, transformation)

Arguments

struct_adj

list returned by the function createStructuralAdjacency, in the first list entry the matrix with edges inferred mass differences is stored, in the second list entry the matrix with the type (corresponding to the 'group' column in transformation) is stored

x

matrix, where columns are the samples and the rows are features (metabolites), cell entries are intensity values, x contains the column 'rt' that has the rt information (numerical values) for the correction of retention time shifts between features that have a putative connection assigned based on m/z value difference

transformation

data.frame, containing the columns "group", and 'rt' that will be used for correction of transformation of (functional) groups based on retention time shifts derived from x

Details

rtCorrection is used to correct the adjacency matrix returned by createStructuralAdjacency when information is available about the retention time and shifts when certain transformation occur (it is meant to filter out connections that were created by m/z differences that have by chance the same m/z difference but different/unexpected retention time behaviour). #' rtCorrection accesses the second list element of struct_adj and matches the elements in the 'group' column against the character matrix. In case of matches, rtCorrection accesses the 'rt' column of x and calculates the retention time difference between the features. rtCorrection then checks if the observed retention time difference matches the expected behaviour (indicated by '+' for a higher retention time of the feature with the putative group, '-' for a lower retention time of the feature with the putative group or '?' when there is no information available or features with that group should not be checked). In case several transformation were assigned to a feature/feature pair connections will always be removed if there is an inconsistency with any of the given transformation.

Value

list containing two matrices, in the first list entry the matrix with edges inferred mass differences corrected by retention time shifts is stored, in the second list entry the matrix with the type (corresponding to the 'group' column in transformation) is stored

Author(s)

Thomas Naake, thomasnaake@googlemail.com

Examples

data("x_test", package="MetNet")
transformation <- rbind(
    c("Hydroxylation (-H)", "O", "15.9949146221", "-"),
    c("Malonyl group (-H2O)", "C3H2O3", "86.0003939305", "?"),
    c("C6H10O6", "C6H10O6", "178.0477380536", "-"),
    c("D-ribose (-H2O) (ribosylation)", "C5H8O4", "132.0422587452", "-"),
    c("Disaccharide (-H2O)", "C12H20O11", "340.1005614851", "-"),
    c("Glucuronic acid (-H2O)", "C6H8O6", "176.0320879894", "?"),
    c("Monosaccharide (-H2O)", "C6H10O5", "162.0528234315", "-"),
    c("Trisaccharide (-H2O)", "C18H30O15", "486.1584702945", "-"))
transformation <- data.frame(group=transformation[,1],
                                formula=transformation[,2],
                                mass=as.numeric(transformation[,3]),
                                rt=transformation[,4])
struct_adj <- createStructuralAdjacency(x_test, transformation, ppm=5)
struct_adj_rt <- rtCorrection(struct_adj, x_test, transformation)

[Package MetNet version 1.0.1 Index]