This step-by-step functionality guide is still in development. Eventually all functions in the package structure flowchart will be covered with detailed examples. All functions below labelled with an
*are required steps of the standard data processing flow. Everything else is optional. Rarely used additional features that are mentioned here but not part of the standard flowchart are labeled asbonus.
First step is reading in your .raw data files.
orbi_find_raw()# path to your data folder
data_folder <- file.path("data")
# finding raw files with "nitrate" in the name in the data folder
file_paths <- data_folder |> orbi_find_raw(pattern = "nitrate")
# show what was found
file_paths[1] "data/nitrate_test_10scans.raw.cache.zip"
[2] "data/nitrate_test_1scan.raw.cache.zip"
orbi_read_raw() *[32mβ[39m [38;5;249m[43ms][39m [1morbi_read_raw()[22m read [34mnitrate_test_10scans.raw[39m from cache
[32mβ[39m [38;5;249m[40ms][39m [1morbi_read_raw()[22m read [34mnitrate_test_1scan.raw[39m from cache
[32mβ[39m [38;5;249m[145ms][39m [1morbi_read_raw()[22m finished reading 2 files
# read files including some raw spectra
raw_files <-
file_paths |>
# load the spectra from scans 1, 10, and 100
orbi_read_raw(include_spectra = c(1, 10, 100)) |>
# you can quiet any call with suppressMessages
# that way it won't print the info message
suppressMessages()
# show summary for the files that were read
raw_filesββββββββββββββββ [1m2 raw files - combine with orbi_aggregate_raw()[22m βββββββββββββββ
1. [34mnitrate_test_10scans.raw[39m has 10 [32mscans[39m with 126 [32mpeaks[39m; + loaded 2 [32mspectra[39m
(618 points)
2. [34mnitrate_test_1scan.raw[39m has 1 [32mscans[39m with 12 [32mpeaks[39m; + loaded 1 [32mspectrum[39m
(325 points)
orbi_aggregate_data() *Combine (aggregate) the data from the raw files.
[32mβ[39m [38;5;249m[495ms][39m [1morbi_aggregate_raw()[22m aggregated [34mfile_info[39m (2), [34mscans[39m (11), [34mpeaks[39m
(138), and [34mspectra[39m (943) from 2 files using the [1m[3mstandard[23m[22m aggregator
βββββββ [1maggregated data from 2 raw files - retrieve with orbi_get_data()[22m βββββββ
β [34mfile_info[39m (2): [32muidx[39m, [32mfilepath[39m, [32mfilename[39m, [32mcreation_date[39m, [32min_aquisition[39m,
[32mOperator[39m, [32mFileDescription[39m, [32mMassResolution[39m, [32mSpectraCount[39m, [32mFirstSpectrum[39m,
[32mLastSpectrum[39m, [32mStartTime[39m, [32mEndTime[39m, [32mLowMass[39m, [32mHighMass[39m, [32mInstrumentCount[39m,
[32mInstrumentModel[39m, [32mInstrumentName[39m, [32mSerialNumber[39m, [32mSoftwareVersion[39m,
[32mHardwareVersion[39m, [32mRawFileVersion[39m, [32mInstrumentUnits[39m, [32mComment[39m, [32mSampleId[39m,
[32mSampleName[39m, [32mSampleType[39m, [32mSampleWeight[39m, [32mSampleVolume[39m, [32mBarcode[39m, [32mRowNumber[39m, [32mVial[39m,
[32mInjectionVolume[39m, [32mDilutionFactor[39m, [32mIstdAmount[39m, [32mCalibrationLevel[39m,
[32mInstrumentMethodFile[39m, [32mCalibrationFile[39m, [32mProcessingMethodFile[39m, [32mUserText0[39m,
[32mUserText1[39m, [32mUserText2[39m, [32mUserText3[39m, [32mUserText4[39m
β [34mscans[39m (11): [32muidx[39m, [32mscan.no[39m, [32mtime.min[39m, [32mtic[39m, [32mit.ms[39m, [32mresolution[39m, [32mmicroscans[39m,
[32mbasePeakMz[39m, [32mbasePeakIntensity[39m, [32mlowMass[39m, [32mhighMass[39m, [32mrawOvFtT[39m, [32mintensCompFactor[39m,
[32magc[39m, [32magcTarget[39m, [32mnumberLockmassesFound[39m, [32manalyzerTemperature[39m; ([3mnot aggregated[23m:
[3m[33mIsCentroidScan[39m[23m, [3m[33mScanType[39m[23m, [3m[33mScan Description[39m[23m, [3m[33mMultiple Injection[39m[23m, [3m[33mMulti Inject[39m[23m
[3m[33mInfo[39m[23m, [3m[33mScan Segment[39m[23m, [3m[33mScan Event[39m[23m, [3m[33mMaster Index[39m[23m, [3m[33mMaster Scan Number[39m[23m, [3m[33mCharge State[39m[23m,
[3m[33mMonoisotopic M/Z[39m[23m, [3m[33mError in isotopic envelope fit[39m[23m, [3m[33mMax. Ion Time (ms)[39m[23m, [3m[33mMS2[39m[23m
[3m[33mIsolation Width[39m[23m, [3m[33mMS2 Isolation Offset[39m[23m, [3m[33mHCD Energy[39m[23m, [3m[33mHCD Energy V[39m[23m, [3m[33m=== Mass[39m[23m
[3m[33mCalibration: ===[39m[23m, [3m[33mConversion Parameter B[39m[23m, [3m[33mConversion Parameter C[39m[23m, [3m[33mTemperature[39m[23m
[3m[33mComp. (ppm)[39m[23m, [3m[33mRF Comp. (ppm)[39m[23m, [3m[33mSpace Charge Comp. (ppm)[39m[23m, [3m[33mResolution Comp. (ppm)[39m[23m,
[3m[33mNumber of Lock Masses[39m[23m, [3m[33mLock Mass #1 (m/z)[39m[23m, [3m[33mLock Mass #2 (m/z)[39m[23m, [3m[33mLock Mass #3[39m[23m
[3m[33m(m/z)[39m[23m, [3m[33mLM Search Window (ppm)[39m[23m, [3m[33mLM Search Window (mmu)[39m[23m, [3m[33mLast Locking (sec)[39m[23m, [3m[33mLM[39m[23m
[3m[33mm/z-Correction (ppm)[39m[23m, [3m[33m=== Ion Optics Settings: ===[39m[23m, [3m[33mS-Lens RF Level[39m[23m, [3m[33m====[39m[23m
[3m[33mDiagnostic Data: ====[39m[23m, [3m[33mApplication Mode[39m[23m, [3m[33mMild Trapping Mode[39m[23m, [3m[33mAPD[39m[23m, [3m[33mRes. Dep.[39m[23m
[3m[33mIntens[39m[23m, [3m[33mQ Trans Comp[39m[23m, [3m[33mPrOSA NumF[39m[23m, [3m[33mPrOSA Comp[39m[23m, [3m[33mPrOSA ScScr[39m[23m, [3m[33mDynamic RT Shift[39m[23m
[3m[33m(min)[39m[23m, [3m[33mAnalytical OT usage (%)[39m[23m, [3m[33mLC FWHM parameter[39m[23m, [3m[33mPS Inj. Time (ms)[39m[23m, [3m[33mAGC PS[39m[23m
[3m[33mMode[39m[23m, [3m[33mAGC PS Diag[39m[23m, [3m[33mAGC Target Adjust[39m[23m, [3m[33mAGC Diag 1[39m[23m, [3m[33mAGC Diag 2[39m[23m, [3m[33mHCD abs. Offset[39m[23m,
[3m[33mSource CID eV[39m[23m, [3m[33mAGC Fill[39m[23m, [3m[33mInjection t0[39m[23m, [3m[33mt0 FLP[39m[23m, [3m[33mIso Para R[39m[23m, [3m[33mInj Para R[39m[23m, [3m[33mAccess[39m[23m
[3m[33mId[39m[23m, [3m[33mAnalog In A (V)[39m[23m, [3m[33mAnalog In B (V)[39m[23m, [3m[33mFAIMS Attached[39m[23m, [3m[33mFAIMS Voltage On[39m[23m, [3m[33mFAIMS[39m[23m
[3m[33mCV[39m[23m)
β [34mpeaks[39m (138): [32muidx[39m, [32mscan.no[39m, [32mmzMeasured[39m, [32mintensity[39m, [32mbaseline[39m, [32mpeakNoise[39m,
[32mpeakResolution[39m, [32misRefPeak[39m, [32misLockPeak[39m
β [34mspectra[39m (943): [32muidx[39m, [32mscan.no[39m, [32mmz[39m, [32mintensity[39m
β [34mproblems[39m: has [32mno issues[39m
orbi_get_aggregator()You can optionally use a different aggregator. The
minimal aggregator contains a smaller set of columns to
aggregate. The extended aggregator is more elaborate,
providing access to additional columns from the raw data files.
ββββββββββββββββββββββββββββββ [1mAggregator [3mminimal[23m[22m ββββββββββββββββββββββββββββββ
[1mDataset[22m [34mfile_info[39m:
β [32mfilename[39m = [3mas.character(sub(FileName, pattern = ".raw", replacement = "",[23m
[3mfixed = TRUE))[23m
β [32mcreation_date[39m = [3mas.POSIXct(CreationDate)[23m
β [32min_aquisition[39m = [3mas.logical(InAquisition)[23m
[1mDataset[22m [34mscans[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mtime.min[39m = [3mas.numeric(StartTime)[23m
β [32mtic[39m = [3mas.numeric(TIC)[23m
β [32mit.ms[39m = [3mas.numeric(`Ion Injection Time (ms)`)[23m
β [32mresolution[39m = [3mas.numeric(one_of(`FT Resolution`, `Orbitrap Resolution`))[23m
β [32mmicroscans[39m = [3mas.integer(`Micro Scan Count`)[23m
[1mDataset[22m [34mpeaks[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmzMeasured[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
β [32mbaseline[39m = [3mas.numeric(baseline)[23m
β [32mpeakNoise[39m = [3mas.numeric(noise)[23m
β [32mpeakResolution[39m = [3mas.numeric(resolution)[23m
β [32misRefPeak[39m = [3mas.logical(is_ref)[23m
β [32misLockPeak[39m = [3mas.logical(is_lock_peak)[23m
[1mDataset[22m [34mspectra[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmz[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
ββββββββββββββββββββββββββββββ [1mAggregator [3mextended[23m[22m βββββββββββββββββββββββββββββ
[1mDataset[22m [34mfile_info[39m:
β [32mfilename[39m = [3mas.character(sub(FileName, pattern = ".raw", replacement = "",[23m
[3mfixed = TRUE))[23m
β [32mcreation_date[39m = [3mas.POSIXct(CreationDate)[23m
β [32min_aquisition[39m = [3mas.logical(InAquisition)[23m
β [35m(.*)[39m = [3mas.character(all_matches("(.*)"))[23m
[1mDataset[22m [34mscans[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mtime.min[39m = [3mas.numeric(StartTime)[23m
β [32mtic[39m = [3mas.numeric(TIC)[23m
β [32mit.ms[39m = [3mas.numeric(`Ion Injection Time (ms)`)[23m
β [32mresolution[39m = [3mas.numeric(one_of(`FT Resolution`, `Orbitrap Resolution`))[23m
β [32mmicroscans[39m = [3mas.integer(`Micro Scan Count`)[23m
β [32mbasePeakMz[39m = [3mas.numeric(BasePeakMass)[23m
β [32mbasePeakIntensity[39m = [3mas.numeric(BasePeakIntensity)[23m
β [32mlowMass[39m = [3mas.numeric(LowMass)[23m
β [32mhighMass[39m = [3mas.numeric(HighMass)[23m
β [32mrawOvFtT[39m = [3mas.numeric(RawOvFtT)[23m
β [32mintensCompFactor[39m = [3mas.numeric(`OT Intens Comp Factor`)[23m
β [32magc[39m = [3mas.character(AGC)[23m
β [32magcTarget[39m = [3mas.integer(`AGC Target`)[23m
β [32mnumberLockmassesFound[39m = [3mas.integer(`Number of LM Found`)[23m
β [32manalyzerTemperature[39m = [3mas.numeric(`Analyzer Temperature`)[23m
β [35m(.*)[39m = [3mas.character(all_matches("(.*)"))[23m
[1mDataset[22m [34mpeaks[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmzMeasured[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
β [32mbaseline[39m = [3mas.numeric(baseline)[23m
β [32mpeakNoise[39m = [3mas.numeric(noise)[23m
β [32mpeakResolution[39m = [3mas.numeric(resolution)[23m
β [32misRefPeak[39m = [3mas.logical(is_ref)[23m
β [32misLockPeak[39m = [3mas.logical(is_lock_peak)[23m
[1mDataset[22m [34mspectra[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmz[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
# using the extended aggregator instead of the default (standard)
raw_files |> orbi_aggregate_raw(aggregator = "extended")[32mβ[39m [38;5;249m[893ms][39m [1morbi_aggregate_raw()[22m aggregated [34mfile_info[39m (2), [34mscans[39m (11), [34mpeaks[39m
(138), and [34mspectra[39m (943) from 2 files using the [1m[3mextended[23m[22m aggregator
βββββββ [1maggregated data from 2 raw files - retrieve with orbi_get_data()[22m βββββββ
β [34mfile_info[39m (2): [32muidx[39m, [32mfilepath[39m, [32mfilename[39m, [32mcreation_date[39m, [32min_aquisition[39m,
[32mOperator[39m, [32mFileDescription[39m, [32mMassResolution[39m, [32mSpectraCount[39m, [32mFirstSpectrum[39m,
[32mLastSpectrum[39m, [32mStartTime[39m, [32mEndTime[39m, [32mLowMass[39m, [32mHighMass[39m, [32mInstrumentCount[39m,
[32mInstrumentModel[39m, [32mInstrumentName[39m, [32mSerialNumber[39m, [32mSoftwareVersion[39m,
[32mHardwareVersion[39m, [32mRawFileVersion[39m, [32mInstrumentUnits[39m, [32mComment[39m, [32mSampleId[39m,
[32mSampleName[39m, [32mSampleType[39m, [32mSampleWeight[39m, [32mSampleVolume[39m, [32mBarcode[39m, [32mRowNumber[39m, [32mVial[39m,
[32mInjectionVolume[39m, [32mDilutionFactor[39m, [32mIstdAmount[39m, [32mCalibrationLevel[39m,
[32mInstrumentMethodFile[39m, [32mCalibrationFile[39m, [32mProcessingMethodFile[39m, [32mUserText0[39m,
[32mUserText1[39m, [32mUserText2[39m, [32mUserText3[39m, [32mUserText4[39m
β [34mscans[39m (11): [32muidx[39m, [32mscan.no[39m, [32mtime.min[39m, [32mtic[39m, [32mit.ms[39m, [32mresolution[39m, [32mmicroscans[39m,
[32mbasePeakMz[39m, [32mbasePeakIntensity[39m, [32mlowMass[39m, [32mhighMass[39m, [32mrawOvFtT[39m, [32mintensCompFactor[39m,
[32magc[39m, [32magcTarget[39m, [32mnumberLockmassesFound[39m, [32manalyzerTemperature[39m, [32mIsCentroidScan[39m,
[32mScanType[39m, [32mScan Description[39m, [32mMultiple Injection[39m, [32mMulti Inject Info[39m, [32mScan[39m
[32mSegment[39m, [32mScan Event[39m, [32mMaster Index[39m, [32mMaster Scan Number[39m, [32mCharge State[39m,
[32mMonoisotopic M/Z[39m, [32mError in isotopic envelope fit[39m, [32mMax. Ion Time (ms)[39m, [32mMS2[39m
[32mIsolation Width[39m, [32mMS2 Isolation Offset[39m, [32mHCD Energy[39m, [32mHCD Energy V[39m, [32m=== Mass[39m
[32mCalibration: ===[39m, [32mConversion Parameter B[39m, [32mConversion Parameter C[39m, [32mTemperature[39m
[32mComp. (ppm)[39m, [32mRF Comp. (ppm)[39m, [32mSpace Charge Comp. (ppm)[39m, [32mResolution Comp. (ppm)[39m,
[32mNumber of Lock Masses[39m, [32mLock Mass #1 (m/z)[39m, [32mLock Mass #2 (m/z)[39m, [32mLock Mass #3[39m
[32m(m/z)[39m, [32mLM Search Window (ppm)[39m, [32mLM Search Window (mmu)[39m, [32mLast Locking (sec)[39m, [32mLM[39m
[32mm/z-Correction (ppm)[39m, [32m=== Ion Optics Settings: ===[39m, [32mS-Lens RF Level[39m, [32m====[39m
[32mDiagnostic Data: ====[39m, [32mApplication Mode[39m, [32mMild Trapping Mode[39m, [32mAPD[39m, [32mRes. Dep.[39m
[32mIntens[39m, [32mQ Trans Comp[39m, [32mPrOSA NumF[39m, [32mPrOSA Comp[39m, [32mPrOSA ScScr[39m, [32mDynamic RT Shift[39m
[32m(min)[39m, [32mAnalytical OT usage (%)[39m, [32mLC FWHM parameter[39m, [32mPS Inj. Time (ms)[39m, [32mAGC PS[39m
[32mMode[39m, [32mAGC PS Diag[39m, [32mAGC Target Adjust[39m, [32mAGC Diag 1[39m, [32mAGC Diag 2[39m, [32mHCD abs. Offset[39m,
[32mSource CID eV[39m, [32mAGC Fill[39m, [32mInjection t0[39m, [32mt0 FLP[39m, [32mIso Para R[39m, [32mInj Para R[39m, [32mAccess[39m
[32mId[39m, [32mAnalog In A (V)[39m, [32mAnalog In B (V)[39m, [32mFAIMS Attached[39m, [32mFAIMS Voltage On[39m, [32mFAIMS[39m
[32mCV[39m
β [34mpeaks[39m (138): [32muidx[39m, [32mscan.no[39m, [32mmzMeasured[39m, [32mintensity[39m, [32mbaseline[39m, [32mpeakNoise[39m,
[32mpeakResolution[39m, [32misRefPeak[39m, [32misLockPeak[39m
β [34mspectra[39m (943): [32muidx[39m, [32mscan.no[39m, [32mmz[39m, [32mintensity[39m
β [34mproblems[39m: has [32mno issues[39m
orbi_register_aggregator()Or even build your own aggregator with
orbi_start_aggregator() and/or expand an existing one with
orgi_add_to_aggregator() and then register it via
orbi_register_aggregator(). This funnctionality is rarely
needed and thus not part of the package structure flowchart.
my_agg <-
orbi_get_aggregator("minimal") |>
# pull out the S-Lens RF Level information from the scans and store it as a number
orbi_add_to_aggregator("scans", "slens_rf", source = "S-Lens RF Level", cast = "as.numeric") |>
orbi_register_aggregator(name = "test")
# show my agg summary
my_aggββββββββββββββββββββββββββββββ [1mAggregator [3mminimal[23m[22m ββββββββββββββββββββββββββββββ
[1mDataset[22m [34mfile_info[39m:
β [32mfilename[39m = [3mas.character(sub(FileName, pattern = ".raw", replacement = "",[23m
[3mfixed = TRUE))[23m
β [32mcreation_date[39m = [3mas.POSIXct(CreationDate)[23m
β [32min_aquisition[39m = [3mas.logical(InAquisition)[23m
[1mDataset[22m [34mscans[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mtime.min[39m = [3mas.numeric(StartTime)[23m
β [32mtic[39m = [3mas.numeric(TIC)[23m
β [32mit.ms[39m = [3mas.numeric(`Ion Injection Time (ms)`)[23m
β [32mresolution[39m = [3mas.numeric(one_of(`FT Resolution`, `Orbitrap Resolution`))[23m
β [32mmicroscans[39m = [3mas.integer(`Micro Scan Count`)[23m
β [32mslens_rf[39m = [3mas.numeric(`S-Lens RF Level`)[23m
[1mDataset[22m [34mpeaks[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmzMeasured[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
β [32mbaseline[39m = [3mas.numeric(baseline)[23m
β [32mpeakNoise[39m = [3mas.numeric(noise)[23m
β [32mpeakResolution[39m = [3mas.numeric(resolution)[23m
β [32misRefPeak[39m = [3mas.logical(is_ref)[23m
β [32misLockPeak[39m = [3mas.logical(is_lock_peak)[23m
[1mDataset[22m [34mspectra[39m:
β [32mscan.no[39m = [3mas.integer(scan.no)[23m
β [32mmz[39m = [3mas.numeric(mass)[23m
β [32mintensity[39m = [3mas.numeric(intensity)[23m
[32mβ[39m [38;5;249m[224ms][39m [1morbi_aggregate_raw()[22m aggregated [34mfile_info[39m (2), [34mscans[39m (11), [34mpeaks[39m
(138), and [34mspectra[39m (943) from 2 files using the [1m[3mtest[23m[22m aggregator
βββββββ [1maggregated data from 2 raw files - retrieve with orbi_get_data()[22m βββββββ
β [34mfile_info[39m (2): [32muidx[39m, [32mfilepath[39m, [32mfilename[39m, [32mcreation_date[39m, [32min_aquisition[39m; ([3mnot[23m
[3maggregated[23m: [3m[33mOperator[39m[23m, [3m[33mFileDescription[39m[23m, [3m[33mMassResolution[39m[23m, [3m[33mSpectraCount[39m[23m,
[3m[33mFirstSpectrum[39m[23m, [3m[33mLastSpectrum[39m[23m, [3m[33mStartTime[39m[23m, [3m[33mEndTime[39m[23m, [3m[33mLowMass[39m[23m, [3m[33mHighMass[39m[23m,
[3m[33mInstrumentCount[39m[23m, [3m[33mInstrumentModel[39m[23m, [3m[33mInstrumentName[39m[23m, [3m[33mSerialNumber[39m[23m,
[3m[33mSoftwareVersion[39m[23m, [3m[33mHardwareVersion[39m[23m, [3m[33mRawFileVersion[39m[23m, [3m[33mInstrumentUnits[39m[23m, [3m[33mComment[39m[23m,
[3m[33mSampleId[39m[23m, [3m[33mSampleName[39m[23m, [3m[33mSampleType[39m[23m, [3m[33mSampleWeight[39m[23m, [3m[33mSampleVolume[39m[23m, [3m[33mBarcode[39m[23m,
[3m[33mRowNumber[39m[23m, [3m[33mVial[39m[23m, [3m[33mInjectionVolume[39m[23m, [3m[33mDilutionFactor[39m[23m, [3m[33mIstdAmount[39m[23m, [3m[33mCalibrationLevel[39m[23m,
[3m[33mInstrumentMethodFile[39m[23m, [3m[33mCalibrationFile[39m[23m, [3m[33mProcessingMethodFile[39m[23m, [3m[33mUserText0[39m[23m,
[3m[33mUserText1[39m[23m, [3m[33mUserText2[39m[23m, [3m[33mUserText3[39m[23m, [3m[33mUserText4[39m[23m)
β [34mscans[39m (11): [32muidx[39m, [32mscan.no[39m, [32mtime.min[39m, [32mtic[39m, [32mit.ms[39m, [32mresolution[39m, [32mmicroscans[39m,
[32mslens_rf[39m; ([3mnot aggregated[23m: [3m[33mBasePeakIntensity[39m[23m, [3m[33mBasePeakMass[39m[23m, [3m[33mHighMass[39m[23m,
[3m[33mIsCentroidScan[39m[23m, [3m[33mLowMass[39m[23m, [3m[33mScanType[39m[23m, [3m[33mScan Description[39m[23m, [3m[33mMultiple Injection[39m[23m, [3m[33mMulti[39m[23m
[3m[33mInject Info[39m[23m, [3m[33mAGC[39m[23m, [3m[33mScan Segment[39m[23m, [3m[33mScan Event[39m[23m, [3m[33mMaster Index[39m[23m, [3m[33mMaster Scan Number[39m[23m,
[3m[33mCharge State[39m[23m, [3m[33mMonoisotopic M/Z[39m[23m, [3m[33mError in isotopic envelope fit[39m[23m, [3m[33mMax. Ion Time[39m[23m
[3m[33m(ms)[39m[23m, [3m[33mMS2 Isolation Width[39m[23m, [3m[33mMS2 Isolation Offset[39m[23m, [3m[33mAGC Target[39m[23m, [3m[33mHCD Energy[39m[23m, [3m[33mHCD[39m[23m
[3m[33mEnergy V[39m[23m, [3m[33mAnalyzer Temperature[39m[23m, [3m[33m=== Mass Calibration: ===[39m[23m, [3m[33mConversion Parameter[39m[23m
[3m[33mB[39m[23m, [3m[33mConversion Parameter C[39m[23m, [3m[33mTemperature Comp. (ppm)[39m[23m, [3m[33mRF Comp. (ppm)[39m[23m, [3m[33mSpace[39m[23m
[3m[33mCharge Comp. (ppm)[39m[23m, [3m[33mResolution Comp. (ppm)[39m[23m, [3m[33mNumber of Lock Masses[39m[23m, [3m[33mLock Mass #1[39m[23m
[3m[33m(m/z)[39m[23m, [3m[33mLock Mass #2 (m/z)[39m[23m, [3m[33mLock Mass #3 (m/z)[39m[23m, [3m[33mLM Search Window (ppm)[39m[23m, [3m[33mLM[39m[23m
[3m[33mSearch Window (mmu)[39m[23m, [3m[33mNumber of LM Found[39m[23m, [3m[33mLast Locking (sec)[39m[23m, [3m[33mLM m/z-Correction[39m[23m
[3m[33m(ppm)[39m[23m, [3m[33m=== Ion Optics Settings: ===[39m[23m, [3m[33m==== Diagnostic Data: ====[39m[23m, [3m[33mApplication[39m[23m
[3m[33mMode[39m[23m, [3m[33mMild Trapping Mode[39m[23m, [3m[33mAPD[39m[23m, [3m[33mOT Intens Comp Factor[39m[23m, [3m[33mRes. Dep. Intens[39m[23m, [3m[33mQ Trans[39m[23m
[3m[33mComp[39m[23m, [3m[33mPrOSA NumF[39m[23m, [3m[33mPrOSA Comp[39m[23m, [3m[33mPrOSA ScScr[39m[23m, [3m[33mRawOvFtT[39m[23m, [3m[33mDynamic RT Shift (min)[39m[23m,
[3m[33mAnalytical OT usage (%)[39m[23m, [3m[33mLC FWHM parameter[39m[23m, [3m[33mPS Inj. Time (ms)[39m[23m, [3m[33mAGC PS Mode[39m[23m, [3m[33mAGC[39m[23m
[3m[33mPS Diag[39m[23m, [3m[33mAGC Target Adjust[39m[23m, [3m[33mAGC Diag 1[39m[23m, [3m[33mAGC Diag 2[39m[23m, [3m[33mHCD abs. Offset[39m[23m, [3m[33mSource CID[39m[23m
[3m[33meV[39m[23m, [3m[33mAGC Fill[39m[23m, [3m[33mInjection t0[39m[23m, [3m[33mt0 FLP[39m[23m, [3m[33mIso Para R[39m[23m, [3m[33mInj Para R[39m[23m, [3m[33mAccess Id[39m[23m, [3m[33mAnalog[39m[23m
[3m[33mIn A (V)[39m[23m, [3m[33mAnalog In B (V)[39m[23m, [3m[33mFAIMS Attached[39m[23m, [3m[33mFAIMS Voltage On[39m[23m, [3m[33mFAIMS CV[39m[23m)
β [34mpeaks[39m (138): [32muidx[39m, [32mscan.no[39m, [32mmzMeasured[39m, [32mintensity[39m, [32mbaseline[39m, [32mpeakNoise[39m,
[32mpeakResolution[39m, [32misRefPeak[39m, [32misLockPeak[39m
β [34mspectra[39m (943): [32muidx[39m, [32mscan.no[39m, [32mmz[39m, [32mintensity[39m
β [34mproblems[39m: has [32mno issues[39m
orbi_get_problems()There were no problems reading and/or aggregating the raw data so these are empty but this can be very helpful to see what went wrong during reading or aggregation.
[38;5;246m# A tibble: 0 Γ 6[39m
[38;5;246m# βΉ 6 variables: uidx <int>, file <chr>, type <chr>, call <chr>, message <chr>,[39m
[38;5;246m# condition <list>[39m
[38;5;246m# A tibble: 0 Γ 6[39m
[38;5;246m# βΉ 6 variables: uidx <int>, file <chr>, type <chr>, call <chr>, message <chr>,[39m
[38;5;246m# condition <list>[39m
orbi_get_data()At this point (and any later point), you can always extract the data
of interest from the aggregated data set using
orbi_get_data(). If you prefer working with a data frame
tibble from orbi_get_data() instead of the aggregated data
structure, you can switch to that at any point and use the resulting
data frame tibble in subsequent functions.
[38;5;246m# A tibble: 2 Γ 44[39m
uidx filepath filename creation_date in_aquisition Operator
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<chr>[39m[23m [3m[38;5;246m<chr>[39m[23m [3m[38;5;246m<dttm>[39m[23m [3m[38;5;246m<lgl>[39m[23m [3m[38;5;246m<chr>[39m[23m
[38;5;250m1[39m 1 data/nitrate_test_1⦠nitrate⦠2025-01-30 [38;5;246m13:57:12[39m FALSE SYSTEM
[38;5;250m2[39m 2 data/nitrate_test_1⦠nitrate⦠2025-01-30 [38;5;246m14:01:04[39m FALSE SYSTEM
[38;5;246m# βΉ 38 more variables: FileDescription <chr>, MassResolution <chr>,[39m
[38;5;246m# SpectraCount <chr>, FirstSpectrum <chr>, LastSpectrum <chr>,[39m
[38;5;246m# StartTime <chr>, EndTime <chr>, LowMass <chr>, HighMass <chr>,[39m
[38;5;246m# InstrumentCount <chr>, InstrumentModel <chr>, InstrumentName <chr>,[39m
[38;5;246m# SerialNumber <chr>, SoftwareVersion <chr>, HardwareVersion <chr>,[39m
[38;5;246m# RawFileVersion <chr>, InstrumentUnits <chr>, Comment <chr>, SampleId <chr>,[39m
[38;5;246m# SampleName <chr>, SampleType <chr>, SampleWeight <chr>, β¦[39m
[38;5;246m# A tibble: 11 Γ 17[39m
uidx scan.no time.min tic it.ms resolution microscans basePeakMz
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<dbl>[39m[23m
[38;5;250m 1[39m 1 1 0.004[4m5[24m[4m4[24m 4[4m3[24m[4m3[24m[4m6[24m653 68.3 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 2[39m 1 2 0.006[4m7[24m[4m5[24m 3[4m3[24m[4m9[24m[4m1[24m426. 80.6 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 3[39m 1 3 0.008[4m9[24m[4m7[24m 3[4m6[24m[4m6[24m[4m5[24m948. 79.5 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 4[39m 1 4 0.011[4m2[24m 5[4m9[24m[4m6[24m[4m5[24m333 100. [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 5[39m 1 5 0.013[4m4[24m 2[4m5[24m[4m9[24m[4m5[24m905. 94.3 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 6[39m 1 6 0.015[4m6[24m 4[4m2[24m[4m7[24m[4m3[24m768. 55.3 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 7[39m 1 7 0.018[4m1[24m 3[4m1[24m[4m3[24m[4m4[24m818. 131. [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 8[39m 1 8 0.020[4m3[24m 3[4m5[24m[4m2[24m[4m2[24m451. 78.7 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m 9[39m 1 9 0.022[4m5[24m 4[4m3[24m[4m2[24m[4m4[24m210. 109. [4m6[24m[4m0[24m000 1 62.0
[38;5;250m10[39m 1 10 0.024[4m7[24m 3[4m5[24m[4m5[24m[4m3[24m078. 95.7 [4m6[24m[4m0[24m000 1 62.0
[38;5;250m11[39m 2 1 0.003[4m9[24m[4m9[24m 6[4m3[24m[4m8[24m[4m2[24m695 56.6 [4m6[24m[4m0[24m000 1 62.0
[38;5;246m# βΉ 9 more variables: basePeakIntensity <dbl>, lowMass <dbl>, highMass <dbl>,[39m
[38;5;246m# rawOvFtT <dbl>, intensCompFactor <dbl>, agc <chr>, agcTarget <int>,[39m
[38;5;246m# numberLockmassesFound <int>, analyzerTemperature <dbl>[39m
[38;5;246m# A tibble: 138 Γ 9[39m
uidx scan.no mzMeasured intensity baseline peakNoise peakResolution
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m
[38;5;250m 1[39m 1 1 62.0 [4m1[24m211. 8.32 513. [4m7[24m[4m0[24m900
[38;5;250m 2[39m 1 1 62.0 [4m1[24m463. 8.32 513. [4m9[24m[4m4[24m100
[38;5;250m 3[39m 1 1 62.0 [4m1[24m172. 8.31 513. [4m8[24m[4m0[24m300
[38;5;250m 4[39m 1 1 62.0 [4m1[24m116. 8.30 513. [4m8[24m[4m7[24m900
[38;5;250m 5[39m 1 1 62.0 4[4m0[24m[4m4[24m[4m6[24m979 8.28 513. [4m1[24m[4m1[24m[4m4[24m902
[38;5;250m 6[39m 1 1 62.0 [4m1[24m798. 8.26 513. [4m8[24m[4m6[24m300
[38;5;250m 7[39m 1 1 62.0 [4m1[24m444. 8.26 513. [4m9[24m[4m3[24m200
[38;5;250m 8[39m 1 1 62.0 [4m1[24m346. 8.25 513. [4m8[24m[4m4[24m700
[38;5;250m 9[39m 1 1 62.0 [4m1[24m469. 8.25 513. [4m9[24m[4m2[24m400
[38;5;250m10[39m 1 1 62.1 [4m1[24m043. 8.16 513. [4m8[24m[4m9[24m900
[38;5;246m# βΉ 128 more rows[39m
[38;5;246m# βΉ 2 more variables: isRefPeak <lgl>, isLockPeak <lgl>[39m
[38;5;246m# A tibble: 943 Γ 4[39m
uidx scan.no mz intensity
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m
[38;5;250m 1[39m 1 1 60.9 0
[38;5;250m 2[39m 1 1 60.9 0
[38;5;250m 3[39m 1 1 60.9 0
[38;5;250m 4[39m 1 1 60.9 0
[38;5;250m 5[39m 1 1 62.0 0
[38;5;250m 6[39m 1 1 62.0 0
[38;5;250m 7[39m 1 1 62.0 0
[38;5;250m 8[39m 1 1 62.0 0
[38;5;250m 9[39m 1 1 62.0 496.
[38;5;250m10[39m 1 1 62.0 935.
[38;5;246m# βΉ 933 more rows[39m
# better way to retrieve+combine the data with dplyr select syntax:
agg_data |>
orbi_get_data(
file_info = c("filename", "creation_date", "instrument" = "InstrumentModel"),
scans = c("time.min", "tic", "resolution"),
peaks = c("mz" = "mzMeasured", starts_with("peak"))
)[32mβ[39m [38;5;249m[15ms][39m [1morbi_get_data()[22m retrieved 138 records from the combination of
[34mfile_info[39m (2), [34mscans[39m (11), and [34mpeaks[39m (138) via [32muidx[39m and [32mscan.no[39m
[38;5;246m# A tibble: 138 Γ 11[39m
uidx filename creation_date instrument scan.no time.min tic
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<chr>[39m[23m [3m[38;5;246m<dttm>[39m[23m [3m[38;5;246m<chr>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<dbl>[39m[23m [3m[38;5;246m<dbl>[39m[23m
[38;5;250m 1[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 2[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 3[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 4[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 5[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 6[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 7[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 8[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m 9[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;250m10[39m 1 nitrate_test_10β¦ 2025-01-30 [38;5;246m13:57:12[39m Orbitrap β¦ 1 0.004[4m5[24m[4m4[24m 4.34[38;5;246me[39m6
[38;5;246m# βΉ 128 more rows[39m
[38;5;246m# βΉ 4 more variables: resolution <dbl>, mz <dbl>, peakNoise <dbl>,[39m
[38;5;246m# peakResolution <dbl>[39m
The next step is identifying isotpocules.
orbi_identify_isotopocules() *# list of isotopocules (can alternatively be in a tsv/csv/xlsx file)
isotopocules <- tibble(
compound = "nitrate",
isotopolog = c("M0", "15N", "17O", "18O"),
mass = c(61.9878, 62.9850, 62.9922, 63.9922),
tolerance = 1,
charge = 1
)
# identify
data <- agg_data |> orbi_identify_isotopocules(isotopocules)[32mβ[39m [38;5;249m[35ms][39m [1morbi_identify_isotopocules()[22m identified 44/138 peaks (32%)
representing 100% of the total ion current (TIC) as isotopocules [32mM0[39m, [32m15N[39m, [32m17O[39m,
and [32m18O[39m
orbi_plot_spectra()orbi_flag_satellite_peas() *# this can happen here or later on in the workflow
# in the case of these files there are no satellite peaks
data |> orbi_flag_satellite_peaks() |> orbi_plot_satellite_peaks()[32mβ[39m [38;5;249m[10ms][39m [1morbi_flag_satellite_peaks()[22m confirmed there are no [33msatellite[39m peaks
[1m[22m`geom_line()`: Each group consists of only one observation.
[36mβΉ[39m Do you need to adjust the [32mgroup[39m aesthetic?
orbi_plot_isotopocule_coverage()[38;5;246m# A tibble: 8 Γ 10[39m
uidx filename compound isotopocule data_stretch n_points start_scan.no
[3m[38;5;246m<int>[39m[23m [3m[38;5;246m<fct>[39m[23m [3m[38;5;246m<fct>[39m[23m [3m[38;5;246m<fct>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<int>[39m[23m [3m[38;5;246m<int>[39m[23m
[38;5;250m1[39m 1 nitrate_test_1β¦ nitrate M0 0 10 1
[38;5;250m2[39m 1 nitrate_test_1β¦ nitrate 15N 0 10 1
[38;5;250m3[39m 1 nitrate_test_1β¦ nitrate 17O 0 10 1
[38;5;250m4[39m 1 nitrate_test_1β¦ nitrate 18O 0 10 1
[38;5;250m5[39m 2 nitrate_test_1β¦ nitrate M0 0 1 1
[38;5;250m6[39m 2 nitrate_test_1β¦ nitrate 15N 0 1 1
[38;5;250m7[39m 2 nitrate_test_1β¦ nitrate 17O 0 1 1
[38;5;250m8[39m 2 nitrate_test_1β¦ nitrate 18O 0 1 1
[38;5;246m# βΉ 3 more variables: end_scan.no <int>, start_time.min <dbl>,[39m
[38;5;246m# end_time.min <dbl>[39m
orbi_define_basepeak() *orbi_summarize_results() *