Title: | Lipid and Oxylipin Biomarker Screening through Adduct Hierarchy Sequences |
---|---|
Description: | LOBSTAHS is a multifunction package for screening, annotation, and putative identification of mass spectral features in large, HPLC-MS lipid datasets. In silico data for a wide range of lipids, oxidized lipids, and oxylipins can be generated from user-supplied structural criteria with a database generation function. LOBSTAHS then applies these databases to assign putative compound identities to features in any high-mass accuracy dataset that has been processed using xcms and CAMERA. Users can then apply a series of orthogonal screening criteria based on adduct ion formation patterns, chromatographic retention time, and other properties, to evaluate and assign confidence scores to this list of preliminary assignments. During the screening routine, LOBSTAHS rejects assignments that do not meet the specified criteria, identifies potential isomers and isobars, and assigns a variety of annotation codes to assist the user in evaluating the accuracy of each assignment. |
Authors: | James Collins [aut, cre], Helen Fredricks [aut], Bethanie Edwards [aut], Henry Holm [aut], Benjamin Van Mooy [aut], Daniel Lowenstein [aut] |
Maintainer: | Henry Holm <[email protected]>, Daniel Lowenstein <[email protected]>, James Collins <[email protected]> |
License: | GPL (>= 3) + file LICENSE |
Version: | 1.33.0 |
Built: | 2024-10-31 03:37:26 UTC |
Source: | https://github.com/bioc/LOBSTAHS |
Primary function of the LOBSTAHS
package. Screen, annotate, and assign
compound identities to peak groups in a CAMERA
xsAnnotate
object containing HPLC-ESI-MS lipid data.
Identify and annotate possible isomers and isobars.
doLOBscreen(xsA, polarity = NULL, database = NULL, remove.iso = TRUE, rt.restrict = TRUE, rt.windows = NULL, exclude.oddFA = TRUE, exclude.oxyrule =TRUE, match.ppm = NULL, retain.unidentified = TRUE)
doLOBscreen(xsA, polarity = NULL, database = NULL, remove.iso = TRUE, rt.restrict = TRUE, rt.windows = NULL, exclude.oddFA = TRUE, exclude.oxyrule =TRUE, match.ppm = NULL, retain.unidentified = TRUE)
xsA |
A CAMERA |
polarity |
Specify polarity mode of data in |
database |
Specify the The database generation function |
remove.iso |
Should secondary isotope peaks be removed? (If |
rt.restrict |
Should lipid class retention time screening criteria be applied to putative compound assignments? |
rt.windows |
File path to a .csv file containing retention time "window" data to be used for
screening by lipid class, if Because the user is advised to provide retention time data specific to his/her
HPLC-MS method, failure to specify a value for |
exclude.oddFA |
Should compound assignments with an odd total number of acyl carbon atoms be excluded? (Applies only to assignments where the parent lipid class is TAG, IP-DAG, PUA, FFA or IP-MAG.) Useful if data are (or are believed to be) of exclusively eukaryotic origin. |
match.ppm |
m/z tolerance (in ppm) used for matching observed data against the calculated m/z's in the database |
exclude.oxyrule |
Should compound assignments include physically unlikey fatty acid molecules in which the total number of double bonds is less than the oxidation state of the molecule? Useful if such rare molecules are likely to be found in sample. Exclusion applies only to assignments where the parent lipid class is TAG, IP-DAG, PUA, FFA or IP-MAG. |
retain.unidentified |
Should data for unidentified or discarded features be retained and appended to user's results? Useful if untargeted follow-on data analysis is anticipated, or when user wants to retain data for all features present in the original dataset, not just those for which a LOBSTAHS identity was found. |
doLOBscreen
draws compound identities from a LOBdbase
database. The function applies various retention time and adduct ion hierarchy
screening criteria to winnow the list of putative compound assignments. It
returns a table of annotated peak data with compound assignments and various
annotation codes to assist the user in interpretation and follow-on data
analysis.
A "LOBSet-class"
object.
James Collins, [email protected]
The LOBSTAHS package is presented in:
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162, doi:10.1021/acs.analchem.6b01260.
Data for lipid classes BLL, PDPT, vGSL, sGSL, hGSL, hapGSL, and hapCER are as described in:
Hunter J. E., M. J. Frada, H. F. Fredricks, A. Vardi, and B. A. S. Van Mooy. 2015. Targeted and untargeted lipidomics of Emiliania huxleyi viral infection and life cycle phases highlights molecular biomarkers of infection, susceptibility, and ploidy. Frontiers in Marine Science 2:81, doi:10.3389/fmars.2015.00081
Fulton, J. M., H. F. Fredricks, K. D. Bidle, A. Vardi, B. J. Kendrick, G. R. DiTullio, and B. A. S. Van Mooy. 2014. Novel molecular determinants of viral susceptibility and resistance in the lipidome of Emiliania huxleyi, Environmental Microbiology 16(4):1137-1149, doi:10.1111/1462-2920.12358.
LOBSet
,
LOBdbase
,
loadLOBdbase
,
getLOBpeaklist
,
generateLOBdbase
,
default.LOBdbase
,
default.rt.windows
,
xcmsSet
,
xsAnnotate
,
findIsotopes
## screen & annotate xsAnnotate object from the PtH2O2lipids dataset using all ## screening options, while retaining unidentified/discarded features library(PtH2O2lipids) myPtH202LOBSet = doLOBscreen(ptH2O2lipids$xsAnnotate, polarity = "positive", database = NULL, remove.iso = TRUE, rt.restrict = TRUE, rt.windows = NULL, exclude.oddFA = TRUE, match.ppm = 2.5, exclude.oxyrule = TRUE, retain.unidentified = TRUE) ## show some diagnostics LOBscreen_diagnostics(myPtH202LOBSet) # screening diagnostics LOBisoID_diagnostics(myPtH202LOBSet) # isomer identification data
## screen & annotate xsAnnotate object from the PtH2O2lipids dataset using all ## screening options, while retaining unidentified/discarded features library(PtH2O2lipids) myPtH202LOBSet = doLOBscreen(ptH2O2lipids$xsAnnotate, polarity = "positive", database = NULL, remove.iso = TRUE, rt.restrict = TRUE, rt.windows = NULL, exclude.oddFA = TRUE, match.ppm = 2.5, exclude.oxyrule = TRUE, retain.unidentified = TRUE) ## show some diagnostics LOBscreen_diagnostics(myPtH202LOBSet) # screening diagnostics LOBisoID_diagnostics(myPtH202LOBSet) # isomer identification data
Collects all elements of a LOBdbase-class
object into a single
table, then writes the table to a .csv file.
exportDBtoCSV(LOBdbase)
exportDBtoCSV(LOBdbase)
LOBdbase |
A LOBSTAHS |
exportDBtoCSV
extracts data from all slots in a given
"LOBdbase"
object and flows it into a data frame. The data frame is then
written to a .csv file with a series of plain-language column headers. The file
name includes the database polarity mode and a timestamp (in user's local time)
indicating the time and date of export.
A .csv file containing data from a LOBdbase-class
object.
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
LOBdbase
,
LOBdbase
,
generateLOBdbase
## export default positive mode database to a text file data("default.LOBdbase") exportDBtoCSV(default.LOBdbase$positive) ## file is written to user's working directory, with filename containing ## polarity and timestamp of generation
## export default positive mode database to a text file data("default.LOBdbase") exportDBtoCSV(default.LOBdbase$positive) ## file is written to user's working directory, with filename containing ## polarity and timestamp of generation
Extracts data from a LOBSTAHS LOBdbase-class
object for a given
molecular species.
extractLOBdbasedata(frag_ID, database)
extractLOBdbasedata(frag_ID, database)
frag_ID |
The LOBdbase fragment ID(s) corresponding to the species for which data should be extracted. |
database |
The |
A data frame containing the extracted data, with field names corresponding to
the slots in database
.
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
LOBdbase
,
LOBdbase
loadLOBdbase
,
generateLOBdbase
,
default.LOBdbase
## extract data from the default database for the [M+H]+ adduct of ## dinitrophenyl-phosphatidylethanolamine (DNPPE), a synthetic lipid used as an ## internal standard data(default.LOBdbase) DNPPE.data = extractLOBdbasedata(frag_ID = 19801, database = default.LOBdbase$positive)
## extract data from the default database for the [M+H]+ adduct of ## dinitrophenyl-phosphatidylethanolamine (DNPPE), a synthetic lipid used as an ## internal standard data(default.LOBdbase) DNPPE.data = extractLOBdbasedata(frag_ID = 19801, database = default.LOBdbase$positive)
Applies an in silico simulation to generate data by ionization mode
(polarity) for a wide range of lipids, oxidized lipids, and oxylipins.
User-supplied structural criteria and empirically-determined adduct ion
abundance rankings for the major lipid classes are used to create entries for a
range of lipid moieties. The database(s) can then be used in
doLOBscreen
to assign compound identities to grouped peakdata.
generateLOBdbase(polarity = c("positive","negative"), gen.csv = FALSE, component.defs = NULL, AIH.defs = NULL, acyl.ranges = NULL, oxy.ranges = NULL)
generateLOBdbase(polarity = c("positive","negative"), gen.csv = FALSE, component.defs = NULL, AIH.defs = NULL, acyl.ranges = NULL, oxy.ranges = NULL)
polarity |
Ionization mode for which database is to be generated. |
gen.csv |
Should results also be written to a .csv file? |
component.defs |
File path to a .csv file containing elemental composition definitions for the
various chemical components needed by A Microsoft Excel spreadsheet template included with the package at
Resources/library/LOBSTAHS/doc/xlsx/LOBSTAHS_componentCompTable.xlsx can be
used to generate a .custom csv file with elemental composition definitions in a
format appropriate for For each lipid class or compound specified in the component definitions table,
the field For compounds of Alternatively, for compounds of Note that regardless of the |
AIH.defs |
File path to a .csv file containing empirical adduct ion hierarchy (AIH) data
for various pigments, lipids, and lipid classes. If nothing is specified,
A Microsoft Excel spreadsheet template included with the package at
Resources/library/LOBSTAHS/doc/xlsx/LOBSTAHS_adductHierarchies.xlsx can be
used to generate a .csv file with additional (or alternative) adduct hierarchy
data in a format appropriate for |
acyl.ranges |
File path to a .csv file containing ranges of values for the total number of
acyl (i.e., fatty acid) carbon atoms to be considered during the
in silico simulation of any lipid classses for which
A Microsoft Excel spreadsheet template included with the package at
Resources/library/LOBSTAHS/doc/xlsx/LOBSTAHS_acylRanges.xlsx can be used
to generate a .csv file with custom acyl carbon range data in a format
appropriate for |
oxy.ranges |
File path to a .csv file containing ranges of values for the number of
additional oxygen atoms to be considered during the in silico simulation
of any lipid classses for which A Microsoft Excel spreadsheet template included with the package at
Resources/library/LOBSTAHS/doc/xlsx/LOBSTAHS_oxyRanges.xlsx can be used to
generate a .csv file with custom oxidation state ranges in a format appropriate
for |
Using the default structural property inputs described here,
generateLOBdbase
can produce databases with entries for a wide range of
intact polar diacylglycerols (IP-DAG), triacylglycerols (TAG), polyunsaturated
aldehydes (PUAs), free fatty acids (FFA), and common photosynthetic pigments.
The default databases (as of January 2017) contain data on 18,067 and 15,404
unique compounds that can be identifed in positive and negative ion mode
spectra, respectively.
Note that the default databases have been pre-generated (see
default.LOBdbase
) and it is therefore unnecessary to call
generateLOBdbase
with the default parameters.
A "LOBdbase-class"
object with the structure:
frag_ID
:Object of class "integer"
, a unique identifier
for this molecular species
mz
:Object of class "numeric"
, the calculated
m/z of this species
exact_parent_neutral_mass
:Object of class "numeric"
,
the calculated (monoisotopic) exact mass of the parent compound of this
species
lipid_class
:Object of class "factor"
, the parent lipid
class of this species
species
:Object of class "character"
, the lipid
subclass
adduct
:Object of class "factor"
, the adduct ion
represented by this entry
adduct_rank
:Object of class "integer"
, the relative
abundance ranking of this adduct relative to the other adducts of the same
parent compound
FA_total_no_C
:Object of class "integer"
, total number
of acyl (fatty acid) carbon atoms in the parent compound; NA
if
lipid_class
is not TAG, IP-DAG, PUA, or FFA
FA_total_no_DB
:Object of class "integer"
, total number
of acyl (fatty acid) carbon-carbon double bonds in the parent compound;
NA
if lipid_class
is not TAG, IP-DAG, PUA, or FFA
degree_oxidation
:Object of class "integer"
, number of
additional oxygen atoms present
parent_elem_formula
:Object of class "character"
,
elemental formula of the parent compound
parent_compound_name
:Object of class "character"
, name
of the parent compound; see the reference for this entry for the naming
convention applied to compounds other than pigments
polarity
:Object of class "factor"
, ionization mode of
data in the database
num_entries
:Object of class "integer"
, number of total
entries (adducts) in the database
num_compounds
:Object of class "integer"
, number of
parent compounds represented in the database (should be <
num_entries
)
James Collins, [email protected]
The LOBSTAHS package is presented in:
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162, doi:10.1021/acs.analchem.6b01260.
Data for lipid classes BLL, PDPT, vGSL, sGSL, hGSL, hapGSL, and hapCER are as described in:
Hunter J. E., M. J. Frada, H. F. Fredricks, A. Vardi, and B. A. S. Van Mooy. 2015. Targeted and untargeted lipidomics of Emiliania huxleyi viral infection and life cycle phases highlights molecular biomarkers of infection, susceptibility, and ploidy. Frontiers in Marine Science 2:81, doi:10.3389/fmars.2015.00081
Fulton, J. M., H. F. Fredricks, K. D. Bidle, A. Vardi, B. J. Kendrick, G. R. DiTullio, and B. A. S. Van Mooy. 2014. Novel molecular determinants of viral susceptibility and resistance in the lipidome of Emiliania huxleyi, Environmental Microbiology 16(4):1137-1149, doi:10.1111/1462-2920.12358.
LOBdbase
,
LOBdbase
,
loadLOBdbase
,
doLOBscreen
,
default.LOBdbase
,
default.componentCompTable
,
default.adductHierarchies
,
default.acylRanges
,
default.oxyRanges
## generate the default positive ionization mode database LOBdbase.pos = generateLOBdbase(polarity = "positive", gen.csv = FALSE, component.defs = NULL, AIH.defs = NULL, acyl.ranges = NULL, oxy.ranges = NULL)
## generate the default positive ionization mode database LOBdbase.pos = generateLOBdbase(polarity = "positive", gen.csv = FALSE, component.defs = NULL, AIH.defs = NULL, acyl.ranges = NULL, oxy.ranges = NULL)
Extracts screened peak data, compound assignments, annotation codes, and
(optionally) isomer data from a LOBSet-class
object. Returns a
table containing the requested data, with option to export to a .csv file.
getLOBpeaklist(LOBSet, include.iso = TRUE, include.unidentified = TRUE, gen.csv = FALSE)
getLOBpeaklist(LOBSet, include.iso = TRUE, include.unidentified = TRUE, gen.csv = FALSE)
LOBSet |
A LOBSTAHS |
include.iso |
Specify whether isomer and isobar identification data should be included in peaklist. |
include.unidentified |
If data for unidentified or discarded features is present in the |
gen.csv |
Should a .csv file be generated in addition to the data frame that is returned? |
getLOBpeaklist
extracts data from all slots in a given
"LOBSet"
object and flows it into a data frame. Annotation codes
indicating compliance with the adduct ion hierarchy screening criteria are
appended to the m/z, retention time, and peak area data for each xcms
peakgroup remaining in the final dataset.
If include.iso = TRUE
, three additional columns containing the
match_IDs
of the possible isomers and isobars for each peakgroup are also
appended. getLOBpeaklist
does not export any of the diagnostic data in
the LOBSet
LOBscreen_diagnostics
or LOBisoID_diagnostics
slots.
When the LOBSet
includes peak data for features that were not identified
during screening or were discarded (i.e., if the user specified
retain.unidentified = TRUE
when calling doLOBscreen
), the
user is given the option to export these data when using
getLOBpeaklist
. This is useful when untargeted follow-on data analysis is
anticipated, or the user simply wants to export data for all features
present in the original dataset, not just those for which a LOBSTAHS identity
was found.
A data frame with the following structure:
match_ID
:Object of class "integer"
, unique identifier
for each assignment of a compound to a peakgroup (multiple match_ID
s
can exist for a peakgroup if the group was assigned multiple compound
identities
compound_name
:Object of class "character"
, name of
compound; see reference for naming convention applied to compounds other
than pigments
elem_formula
:Object of class "character"
, empirical
formula of compound
LOBdbase_mz
:Object of class "numeric"
, calculated
m/z of the adduct for which data in this group are reported; obtained
database
peakgroup_mz
:Object of class "numeric"
, mean observed
m/z of the feature in this peakgroup across all samples in which it
was identified
LOBdbase_ppm_match
:Object of class "numeric"
, ppm
deviation between observed and calculated m/z
peakgroup_rt
:Object of class "numeric"
, mean observed
retention time of the feature in this peakgroup across all samples in which
it was identified
peakgroup_mzmin
:Object of class "numeric"
, minimum
observed m/z of feature across samples
peakgroup_mzmax
:Object of class "numeric"
, maximum
observed m/z of feature across samples
peakgroup_rtmin
:Object of class "numeric"
, minimum
observed retention time of feature across samples
peakgroup_rtmax
:Object of class "numeric"
, maximum
observed retention time of feature across samples
Several objects of class "numeric"
, containing
integrated peak area data for this group by sample (one column for each
sample in the dataset)
xcms_peakgroup
:Object of class "integer"
, the xcms
xcmsSet
peakgroup identifier
CAMERA_pseudospectrum
:Object of class "integer"
, the
CAMERA xsAnnotate
pseudospectrum identifier
LOBdbase_frag_ID
:Object of class "integer"
, the
LOBdbase
fragment ID corresponding to the adduct of this compound for
which data are reported; this is the dominant adduct of the compound
according to the adduct ion hierarchy rules for the parent lipid class
LOBdbase_exact_parent_neutral_mass
:Object of class
"numeric"
, the calculated exact (monoisotopic) mass of the compound;
from database
lipid_class
:Object of class "factor"
, parent lipid
class of this compound
species
:Object of class "character"
, if a pigment or
IP-DAG, the specific compound species
major_adduct
:Object of class "factor"
, adduct of the
compound for which data in this entry is reported
FA_total_no_C
:Object of class "integer"
, total number
of acyl (fatty acid) carbon atoms in this compound; "NA"
if
lipid_class
is not TAG, IP-DAG, PUA, or FFA
FA_total_no_DB
:Object of class "integer"
, total number
of acyl (fatty acid) carbon-carbon double bonds in this compound;
"NA"
if lipid_class
is not TAG, IP-DAG, PUA, or FFA
degree_oxidation
:Object of class "integer"
, number of
additional oxygen atoms present on this compound, compared with its
unoxidized parent
C1
-C6b
:Several objects of class "integer"
,
containing binary indicators for each possible annotation code applied by
doLOBscreen
casecodes
:Object of class "character"
, character
string containing list of all codes applied to this assignment
iso_C3r_match_ID
:Object of class "character"
,
character string of integer containing the match_ID
s of all possible
regioisomers of this compound (if include.iso = TRUE
)
iso_C3f_match_ID
:Object of class "character"
,
character string of integer containing the match_ID
s of all possible
functional structural isomers of this compound (if include.iso = TRUE
)
iso_C3c_match_ID
:Object of class "character"
,
character string of integer containing the match_ID
s of all possible
isobars of this compound (if include.iso = TRUE
)
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
## export peaklist, with isomer data, but without data for unidentified features library(PtH2O2lipids) PtH2O2.peakdata = getLOBpeaklist(ptH2O2lipids$LOBSet, include.iso = TRUE, include.unidentified = FALSE, gen.csv = FALSE)
## export peaklist, with isomer data, but without data for unidentified features library(PtH2O2lipids) PtH2O2.peakdata = getLOBpeaklist(ptH2O2lipids$LOBSet, include.iso = TRUE, include.unidentified = FALSE, gen.csv = FALSE)
Reconstruct a "LOBdbase"
object from properly formatted data in a .csv
file. More robust than the generic constructor function
LOBdbase
.
loadLOBdbase(file, polarity, num_compounds = NULL)
loadLOBdbase(file, polarity, num_compounds = NULL)
file |
Path to a .csv file containing the database to be imported. The file format
should be consistent with the .csv output that is obtained using
|
polarity |
Specify polarity (ionization mode) of the database being imported ("positive" or
"negative"). |
num_compounds |
If known, the number of parent compounds represented in the database being imported. Can be unspecified. |
loadLOBdbase
is a glorified implementation of
read.table
that attempts to determine whether the format of
the data in file
is consistent with that of a saved "LOBdbase"
object. Some leeway is allowed for variation in punctuation and spelling of
column headers in the source file. Special attention should be paid to how
adduct ions are specified (e.g., "[M+H]+"
, "[M+NH4]+"
, or
"[M+Cl]-"
). Most users will find this function more useful than the
generic constructor function LOBdbase
.
A "LOBdbase-class"
object.
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
LOBdbase
,
LOBdbase
,
doLOBscreen
,
generateLOBdbase
,
default.LOBdbase
## save the default negative mode database as a .csv file data(default.LOBdbase) neg.DB = default.LOBdbase$negative fname = paste0("LOBSTAHS_lipid-oxy_DB_", strtrim(as.character(polarity(neg.DB)),3),".csv") exportmat = data.frame(frag_ID(neg.DB), mz(neg.DB), exact_parent_neutral_mass(neg.DB), as.character(lipid_class(neg.DB)), as.character(species(neg.DB)), as.character(adduct(neg.DB)), as.character(adduct_rank(neg.DB)), FA_total_no_C(neg.DB), FA_total_no_DB(neg.DB), degree_oxidation(neg.DB), parent_elem_formula(neg.DB), parent_compound_name(neg.DB), stringsAsFactors = FALSE) colnames(exportmat) = c("frag_ID","mz","exact_parent_neutral_mass", "lipid_class","species","adduct","adduct_rank", "FA_total_no_C","FA_total_no_DB","degree_oxidation", "parent_elem_formula","parent_compound_name") write.csv(exportmat, fname) ## reimport it neg.DB.reimported = loadLOBdbase("LOBSTAHS_lipid-oxy_DB_neg.csv", polarity = "negative", num_compounds = NULL)
## save the default negative mode database as a .csv file data(default.LOBdbase) neg.DB = default.LOBdbase$negative fname = paste0("LOBSTAHS_lipid-oxy_DB_", strtrim(as.character(polarity(neg.DB)),3),".csv") exportmat = data.frame(frag_ID(neg.DB), mz(neg.DB), exact_parent_neutral_mass(neg.DB), as.character(lipid_class(neg.DB)), as.character(species(neg.DB)), as.character(adduct(neg.DB)), as.character(adduct_rank(neg.DB)), FA_total_no_C(neg.DB), FA_total_no_DB(neg.DB), degree_oxidation(neg.DB), parent_elem_formula(neg.DB), parent_compound_name(neg.DB), stringsAsFactors = FALSE) colnames(exportmat) = c("frag_ID","mz","exact_parent_neutral_mass", "lipid_class","species","adduct","adduct_rank", "FA_total_no_C","FA_total_no_DB","degree_oxidation", "parent_elem_formula","parent_compound_name") write.csv(exportmat, fname) ## reimport it neg.DB.reimported = loadLOBdbase("LOBSTAHS_lipid-oxy_DB_neg.csv", polarity = "negative", num_compounds = NULL)
Constructor function for manual assembly or reconstruction of a
LOBdbase
object to be used in screening data with the
LOBSTAHS
function doLOBscreen
.
LOBdbase(frag_ID = NULL, mz = NULL, exact_parent_neutral_mass = NULL, lipid_class = NULL, species = NULL, adduct = NULL, adduct_rank = NULL, FA_total_no_C = NULL, FA_total_no_DB = NULL, degree_oxidation = NULL, parent_elem_formula = NULL, parent_compound_name = NULL, polarity = NULL, num_entries = NULL, num_compounds = NULL)
LOBdbase(frag_ID = NULL, mz = NULL, exact_parent_neutral_mass = NULL, lipid_class = NULL, species = NULL, adduct = NULL, adduct_rank = NULL, FA_total_no_C = NULL, FA_total_no_DB = NULL, degree_oxidation = NULL, parent_elem_formula = NULL, parent_compound_name = NULL, polarity = NULL, num_entries = NULL, num_compounds = NULL)
frag_ID |
An object of class |
mz |
An object of class |
exact_parent_neutral_mass |
An object of class |
lipid_class |
An object of class |
species |
An object of class |
adduct |
An object of class |
adduct_rank |
An object of class |
FA_total_no_C |
An object of class |
FA_total_no_DB |
An object of class |
degree_oxidation |
An object of class |
parent_elem_formula |
An object of class |
parent_compound_name |
An object of class |
polarity |
An object of class |
num_entries |
An object of class |
num_compounds |
An object of class |
Typically, a LOBdbase
will be created using the in silico
simulation function generateLOBdbase
. Formatted database entries
(such as from an external .csv file) can be loaded using
loadLOBdbase
. The rudimentary LOBdbase
constructor
function is therefore provided only for manual object creation; it will not be
needed by most users. All arguments except for those containing metadata
(i.e., polarity
, num_entries
, and num_compounds
) should be
of the same length.
A "LOBdbase-class"
object.
James Collins, [email protected]
The LOBSTAHS package is presented in:
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162, doi:10.1021/acs.analchem.6b01260.
Data for lipid classes BLL, PDPT, vGSL, sGSL, hGSL, hapGSL, and hapCER are as described in:
Hunter J. E., M. J. Frada, H. F. Fredricks, A. Vardi, and B. A. S. Van Mooy. 2015. Targeted and untargeted lipidomics of Emiliania huxleyi viral infection and life cycle phases highlights molecular biomarkers of infection, susceptibility, and ploidy. Frontiers in Marine Science 2:81, doi:10.3389/fmars.2015.00081
Fulton, J. M., H. F. Fredricks, K. D. Bidle, A. Vardi, B. J. Kendrick, G. R. DiTullio, and B. A. S. Van Mooy. 2014. Novel molecular determinants of viral susceptibility and resistance in the lipidome of Emiliania huxleyi, Environmental Microbiology 16(4):1137-1149, doi:10.1111/1462-2920.12358.
generateLOBdbase
,
loadLOBdbase
,
doLOBscreen
,
LOBdbase
## create an empty LOBdbase myLOBdbase = LOBdbase(frag_ID = NULL, mz = NULL, exact_parent_neutral_mass = NULL, lipid_class = NULL, species = NULL, adduct = NULL, adduct_rank = NULL, FA_total_no_C = NULL, FA_total_no_DB = NULL, degree_oxidation = NULL, parent_elem_formula = NULL, parent_compound_name = NULL, polarity = NULL, num_entries = NULL, num_compounds = NULL)
## create an empty LOBdbase myLOBdbase = LOBdbase(frag_ID = NULL, mz = NULL, exact_parent_neutral_mass = NULL, lipid_class = NULL, species = NULL, adduct = NULL, adduct_rank = NULL, FA_total_no_C = NULL, FA_total_no_DB = NULL, degree_oxidation = NULL, parent_elem_formula = NULL, parent_compound_name = NULL, polarity = NULL, num_entries = NULL, num_compounds = NULL)
A class for LOBSTAHS
databases that contain a combination of
in silico and empirical data for a wide range of lipids, oxidized lipids,
and oxylipins.
Objects can be created using the simulation function
generateLOBdbase
(preferred; satisfies the needs of most
users), imported from a .csv file of proper format using
loadLOBdbase
, or created using the rudimentary constructor
LOBdbase
(least preferred). A 'LOBdbase' can also be created by
calls of the form new("LOBdbase", ...)
.
frag_ID
:Object of class "integer"
, a unique identifier
for this molecular species
mz
:Object of class "numeric"
, the calculated
m/z of this species
exact_parent_neutral_mass
:Object of class "numeric"
,
the calculated (monoisotopic) exact mass of the parent compound of this
species
lipid_class
:Object of class "factor"
, the parent lipid
class of this species
species
:Object of class "character"
, the lipid
subclass
adduct
:Object of class "factor"
, the adduct ion
represented by this entry
adduct_rank
:Object of class "integer"
, the relative
abundance ranking of this adduct relative to the other adducts of the same
parent compound
FA_total_no_C
:Object of class "integer"
, total number
of acyl (fatty acid) carbon atoms in the parent compound; NA
if
lipid_class
is not TAG, IP-DAG, PUA, or FFA
FA_total_no_DB
:Object of class "integer"
, total number
of acyl (fatty acid) carbon-carbon double bonds in the parent compound;
NA
if lipid_class
is not TAG, IP-DAG, PUA, or FFA
degree_oxidation
:Object of class "integer"
, number of
additional oxygen atoms present
parent_elem_formula
:Object of class "character"
,
elemental formula of the parent compound
parent_compound_name
:Object of class "character"
, name
of the parent compound; see the reference for this entry for the naming
convention applied to compounds other than pigments
polarity
:Object of class "factor"
, ionization mode of
data in the database
num_entries
:Object of class "integer"
, number of total
entries (adducts) in the database
num_compounds
:Object of class "integer"
, number of
parent compounds represented in the database (should be <
num_entries
)
signature(object = "LOBdbase")
: ...
signature(object = "LOBdbase")
: get polarity
slot
signature(object = "LOBdbase")
: get num_compounds
slot
signature(object = "LOBdbase")
: get num_entries
slot
signature(object = "LOBdbase")
: get frag_ID
slot
signature(object = "LOBdbase")
: get
exact_parent_neutral_mass
slot
signature(object = "LOBdbase")
: get lipid_class
slot
signature(object = "LOBdbase")
: get species
slot
signature(object = "LOBdbase")
: get adduct
slot
signature(object = "LOBdbase")
: get adduct_rank
slot
signature(object = "LOBdbase")
: get FA_total_no_C
slot
signature(object = "LOBdbase")
: get FA_total_no_DB
slot
signature(object = "LOBdbase")
: get degree_oxidation
slot
signature(object = "LOBdbase")
: get parent_elem_formula
slot
signature(object = "LOBdbase")
: get parent_compound_name
slot
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
generateLOBdbase
,
loadLOBdbase
,
doLOBscreen
,
LOBdbase
## return object information showClass("LOBdbase")
## return object information showClass("LOBdbase")
Default databases (in default.LOBdbase
), and the .RData files containing
default ranges of structural properties used by generateLOBdbase
to generate these databases.
Note that the format of these files has changed in LOBSTAHS version 1.1.2 and greater.
Also described is default.rt.windows
, which contains the default
retention time windows (by lipid class) used by doLOBscreen
when
rt.restrict = TRUE
.
data(default.LOBdbase) data(default.adductHierarchies) data(default.acylRanges) data(default.oxyRanges) data(default.componentCompTable) data(default.rt.windows)
data(default.LOBdbase) data(default.adductHierarchies) data(default.acylRanges) data(default.oxyRanges) data(default.componentCompTable) data(default.rt.windows)
default.LOBdbase
A list of two "LOBdbase"
objects, which are the default LOBSTAHS databases for positive and negative
ion mode species, respectively. These were generated using
generateLOBdbase
with the default values defined in
default.adductHierarchies
, default.acylRanges
,
default.oxyRanges
, and default.componentCompTable
.
default.adductHierarchies
A data frame containing empirically-determined adduct ion hierarchy data, by lipid class.
default.acylRanges
A data frame containing ranges of numbers
of acyl carbon atoms for which in silico data are generated for each
lipid class by generateLOBdbase
.
default.oxyRanges
A data frame containing ranges of additional
oxygen atoms to be considered on species of each lipid class when databases
are generated with generateLOBdbase
.
default.componentCompTable
A data frame that defines the
elemental compositions of the various adducts, parent lipid "backbones," and
pigments that are used by generateLOBdbase
.
default.rt.windows
A data frame containing the default
retention time data for various lipids and parent lipid classes that are
used by doLOBscreen
when rt.restrict = TRUE
. These
retention time windows are specific to the HPLC-MS method currently used in
the Van Mooy Lab at Woods Hole Oceanographic Institution, where LOBSTAHS was
developed. As described in doLOBscreen
, users outside the Van
Mooy Lab should supply their own retention time data.
Empirical determination of the retention time window data in
default.rt.windows
and adduct ion hierarchies in
default.adductHierarchies
are described in the references below.
The default ranges for the structural properties given in the other files were
chosen to yield databases that encompass a broad variety of moieites across
lipid types. Microsoft Excel spreadsheet templates are included with the package
in Resources/library/LOBSTAHS/doc for users wishing to modify any of the default
data inputs. Alternatively, the spreadsheet files may be downloaded
from a directory embedded within the package.
These templates can be used to generate .csv files in formats appropriate for
generateLOBdbase
and doLOBscreen
.
Various list and data.frame objects (as indicated above).
http://github.com/vanmooylipidomics/LOBSTAHS/
The LOBSTAHS package is presented in:
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162, doi:10.1021/acs.analchem.6b01260.
Data for lipid classes BLL, PDPT, vGSL, sGSL, hGSL, hapGSL, and hapCER are as described in:
Hunter J. E., M. J. Frada, H. F. Fredricks, A. Vardi, and B. A. S. Van Mooy. 2015. Targeted and untargeted lipidomics of Emiliania huxleyi viral infection and life cycle phases highlights molecular biomarkers of infection, susceptibility, and ploidy. Frontiers in Marine Science 2:81, doi:10.3389/fmars.2015.00081
Fulton, J. M., H. F. Fredricks, K. D. Bidle, A. Vardi, B. J. Kendrick, G. R. DiTullio, and B. A. S. Van Mooy. 2014. Novel molecular determinants of viral susceptibility and resistance in the lipidome of Emiliania huxleyi, Environmental Microbiology 16(4):1137-1149, doi:10.1111/1462-2920.12358.
doLOBscreen
,
generateLOBdbase
,
LOBdbase
LOBdbase
Constructor function for manual creation or reconstruction of a
LOBSet
object for HPLC-MS peak data that have been screened using
LOBSTAHS
.
LOBSet(peakdata = NULL, iso_C3r = NULL, iso_C3f = NULL, iso_C3c = NULL, LOBscreen_diagnostics = NULL, LOBisoID_diagnostics = NULL, LOBscreen_settings = NULL, polarity = c("positive","negative"), sampnames = NULL)
LOBSet(peakdata = NULL, iso_C3r = NULL, iso_C3f = NULL, iso_C3c = NULL, LOBscreen_diagnostics = NULL, LOBisoID_diagnostics = NULL, LOBscreen_settings = NULL, polarity = c("positive","negative"), sampnames = NULL)
peakdata |
An object of class |
iso_C3r |
An object of class |
iso_C3f |
An object of class |
iso_C3c |
An object of class |
LOBscreen_diagnostics |
An object of class |
LOBisoID_diagnostics |
An object of class |
LOBscreen_settings |
An object of class |
polarity |
An object of class |
sampnames |
An object of class |
Typically, a LOBSet
will be created from a CAMERA
xsAnnotate-class
object using the LOBSTAHS
function
doLOBscreen
. The LOBSet
constructor function is therefore
provided only for manual object creation; it will not be needed by most users.
A "LOBSet-class"
object.
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
LOBSet
,
doLOBscreen
,
xsAnnotate
## create an empty LOBSet for positive ion mode data myLOBSet = LOBSet(peakdata = NULL, iso_C3r = NULL, iso_C3f = NULL, iso_C3c = NULL, LOBscreen_diagnostics = NULL, LOBisoID_diagnostics = NULL, LOBscreen_settings = NULL, polarity = "positive", sampnames = NULL)
## create an empty LOBSet for positive ion mode data myLOBSet = LOBSet(peakdata = NULL, iso_C3r = NULL, iso_C3f = NULL, iso_C3c = NULL, LOBscreen_diagnostics = NULL, LOBisoID_diagnostics = NULL, LOBscreen_settings = NULL, polarity = "positive", sampnames = NULL)
A class for HPLC-MS peak data that have been screened and annotated using
LOBSTAHS
function doLOBscreen
.
Objects can be created with the LOBSet
constructor. A 'LOBSet' can
also be created by calls of the form new("LOBSet", ...)
.
peakdata
:Object of class "data.frame"
, containing
peakdata by compound assignment
iso_C3r
:Object of class "list"
, a list of the
match_ID
s of possible regioisomers of each compound
iso_C3f
:Object of class "list"
, a list of the
match_ID
s of possible functional structural isomers of each compound
iso_C3c
:Object of class "list"
, a list of the
match_ID
s of possible isobars of this compound
LOBscreen_diagnostics
:Object of class "data.frame"
,
numbers of peaks, peakgroups, adducts, and unique parent compounds present in
the dataset after application of each screening criterion in
doLOBscreen
LOBisoID_diagnostics
:Object of class "data.frame"
,
numbers of peakgroups and parent compounds to which the various isomer
annotations have been assigned
LOBscreen_settings
:Object of class "list"
, captures
the settings used in doLOBscreen
to generate the "LOBSet"
polarity
:Object of class "factor"
, polarity of data in
the "LOBSet"
sampnames
:Object of class "character"
, the names of
the samples from which the "LOBSet"
was generated
signature(object = "LOBSet")
: ...
signature(object = "LOBSet")
: get LOBisoID_diagnostics
slot
signature(object = "LOBSet")
: get LOBscreen_diagnostics
slot
signature(object = "LOBSet")
: get LOBscreen_settings
slot
signature(object = "LOBSet")
: get sampnames
slot
signature(object = "LOBSet")
: get peakdata
slot
signature(object = "LOBSet")
: get polarity
slot
James Collins, [email protected]
Collins, J.R., B.R. Edwards, H.F. Fredricks, and B.A.S. Van Mooy. 2016. LOBSTAHS: An adduct-based lipidomics strategy for discovery and identification of oxidative stress biomarkers. Analytical Chemistry 88:7154-7162
doLOBscreen
,
getLOBpeaklist
,
LOBSet
,
xsAnnotate
## return object information showClass("LOBSet")
## return object information showClass("LOBSet")