ecl-logo Documentation

AnalyzePeaks

AnalyzePeaks[data]positions

finds peaks in the data contained in the field defined by the ReferenceField option in the given data object.

AnalyzePeaks[protocol]{positions..}

picks peaks in all data objects linked to given protocol.

AnalyzePeaks[xy]positions

finds peaks in the data xy, and computes peak properties such as Position, Height, Width, and Area.

Details

  • Each peak found is parameterized by its Position, Height, Width, Area, PeakRangeStart, PeakRangeEnd, WidthRangeStart, WidthRangeEnd, BaselineIntercept, and BaselineSlope.
  • Peaks are returned sorted by increasing Position.
  • Peak parameters are calculated following USP guidelines: Object[Report,Literature,"id:bq9LA0JX8vKv"].
  • PeakResolution is calculated as 1.18(tR2 tR1)/(W[1,h/2] + W[2,h/2]), where tR1 and tR2 are retention times and W[1,h/2] and W[2,h/2] are Width at half height.
  • HalfHeightNumberOfPlates is calculated as 5.54(tR/W[h/2])^2, where tR is retention time and W[h/2] is Width at half height.
  • TangentNumberOfPlates is calculated as 16.0(tR/tW)^2, where tR is retention time and tW is the tangent peak width.
  • TailingFactor is calculated as W0.05/2f, where W0.05 is width at 5% height and f is the distance between the leading edge and the peak maximum at 5% height.
  • Input
    Output
    Data Slicing Options
    NMR Peak Splitting Options
    Peak Assignment Options
    General Options
    Method Options

Examples

Basic Examples  (2)

Pick peaks from chromatography data:

Plot peaks over data:

Additional Examples  (20)

Input types  (9)

Pick peaks from raw numeric data:

PAGE data:

NMR data:

AbsorbanceSpectroscopy data:

Western data:

FluorescenceSpectroscopy data:

CESDS data:

Raw data as a QuantityArray:

TLC data:

Mapping  (2)

List of chromatography data:

List of chromatography data (new):

NMR Peak Splitting  (8)

Automatically identify peak splittings in NMR data:

Override the automatic assignment of Peak Group 3 as a sextet by explicitly setting it as a generic multiplet:

Normalize peak areas by fixing peak group 3 to a relative area of 4.0:

Adjust splitting tolerances to determine how peak groups are automatically assigned. If the tolerances are reduced to zero, all grouped peaks will be labeled as generic multiplets:

Provide a molecule or molecule(s) in KnownSpecies to automatially assign peaks to atoms in each molecule:

Explicitly specify SplittingAssignments to override automatic assignments:

Adjust peak-picking options to exclude solvent peak and ensure all peaks are selected:

Adjust the MaximumJSplitting and specify PeakGroupDomains to determine how peaks are automatically grouped:

Zones  (1)

Use different threshold options on different parts of the data by specifying a list of domains and list of parameters:

Options  (71)

AbsoluteThreshold  (1)

Set minimum absolute height requirement for peaks:

AreaThreshold  (1)

Set minimum area requirement for peaks:

Baseline  (5)

Fit a globally constant baseline:

Fit a globally linear baseline:

Fit locally constant baselines, obtained from the minimum edge of each peak:

Fit locally linear baselines, obtained by connecting the edges of each peak:

Fit globally nonlinear baselines, obtained using statistics-sensitive nonlinear iterative peak clipping algorithm:

BaselineFeatureWidth  (3)

Specify width of features to include in nonlinear baseline:

Smaller BaselineFeatureWidth includes more features in baseline and makes baseline curvier:

Larger BaselineFeatureWidth prunes more features from the baseline and makes it flatter:

BlankPeaks  (1)

Exclude peaks from Blank data peaks analysis:

ConsolidateHeight  (1)

Consolidate shallow shoulder peaks:

ConsolidateWidth  (1)

Consolidate narrow noisy peaks:

DataSetTransformationFunction  (3)

Transform raw data before peak-picking:

Specify transformations functions as pure functions {transformX,transformY}:

Specify a single transformation function which takes as input {x,y} and outputs a transformed {x2,y2}:

DataSlice  (2)

Pick peaks in a two-dimensional slice of {time, m/z, intensity} LCMS data, sliced at a fixed elution time of one minute:

Given {time, m/z, intensity} LCMS data, pick peaks from the average mass spectrum in the range of 6.5-7.0 minute elution times:

DataSliceDimension  (2)

Given {time, m/z, intensity} LCMS data, conduct peaks analysis on sliced {m/z, intensity} data at a fixed elution time of one minute:

Given {time, m/z, intensity} LCMS data, conduct peaks analysis by slicing the second dimension (m/z) between 470 and 480 g/mol:

DeuteratedSolvent  (1)

When PeakType->NMR, explicitly specify the deuterated solvent used to prepare the NMR sample:

Domain  (2)

Exclude any peaks outside Domain:

Specify multiple domains, and use different thresholding options for each domain:

EdgeFraction  (1)

Shrink peak by bringing in its edges until their height is 3% of max peak height:

Exclude  (1)

Exclude any peaks containing specified x-values:

Include  (1)

Include any peaks containing specified x-values:

KnownSpecies  (2)

Specify a known molecule to automatically assign peak groups to molecular substructures:

If multiple known molecules are provided, peaks will be assigned to the molecules in order:

MaximumJSplitting  (2)

The maximum J splitting defines the threshold for dividing peaks into peak groups:

If the maximum J splitting is given in units of Hertz, it will be converted to PPM using the resolved value of the OperatingFreqeuncy option:

Name  (1)

Name to be used as the name of Object[Analysis, Peaks] generated by the analysis:

Nucleus  (1)

When conducting NMR splitting analysis with raw numerical data, the NMR nucleus must be specified explicitly:

OperatingFrequency  (1)

When conducting NMR splitting analysis with raw numerical data, the NMR operating frequency must be specified explicitly:

ParentPeaks  (1)

Specify parent peaks from using either peak labels or peak indices:

PeakAssignments  (4)

Assign peaks to putative molecules:

Interconvert between compatible units, or use dimensionless input to automatically match data units:

Assign peaks to putative molecules based on relative retention time:

Assign a putative molecule to the largest peak found in a range:

PeakGroupDomains  (2)

Manually specify domains to group peaks. Domains will be automatically assigned to peaks not covered by the PeakGroupDomains option:

Use PeakGroupDomains to divide a triplet into three singlets:

PeakGroupMultiplicity  (2)

Explicitly set the multiplicity of each peak group:

Explicitly set the multiplicity of each peak group using the listed integer format:

PeakIntegralNormalizationGroup  (1)

Explicitly specify the peak group index and corresponding integration which should be used to normalize peak areas:

PeakLabels  (3)

Specify labels for the peaks:

Labels are aligned starting with the first peak. If more peaks are found than labels are specified, then the remaining peaks are given default labels:

Unused labels are dropped:

PeakType  (2)

Use PeakType to select the type of peak analysis that should be conducted. PeakType is automatically set by the input data type:

Set the PeakType option to Generic to disable specialized analysis, e.g. disable peak splitting analysis for NMR data:

ReferenceField  (1)

Specify field containing data to be analyzed:

RelativeLabeling  (1)

Label peaks with their relative retention times, instead of with their indices:

RelativeThreshold  (1)

Set minimum relative height above baseline requirement for peaks:

SliceReductionFunction  (2)

By default, data sliced over a range uses the average signal in that range. Given {time, m/z, intensity} LCMS data, the average intensity at each m/z between 1-5 minutes is analyzed for peaks:

Set SliceReductionFunction to Max to use the maximum intensity between 1-5 minutes for each m/z:

SliceReferencePeaks  (3)

Given LCMS data, pick peaks from the absorbance chromatogram (LC trace):

Use peaks from the absorbance chromatogram (LC trace) to slice the IonAbundance3D data at fixed times. The peak positions from the AbsorbanceChromatogram reference peaks will be used to automatically set slicing options, and a peaks analysis object will be created for each slice:

Use AnalyzePeaksPreview to visualize picked-peaks for each slice:

SmoothingRadius  (2)

Smooth data before splitting into peaks:

Smooth different regions with different parameters:

SplittingAssignments  (3)

Manually assign NMR peaks to a molecule:

When KnownSpecies are provided, SplittingAssignments will override automatic assignments:

Assign a single peak group to a different molecule, e.g. assign the 0PPM peak to TMS:

SplittingRelativeIntegralTolerance  (1)

Set the percentage deviation in relative peak areas above which peaks will not be considered part of a regular splitting pattern:

SplittingSpacingTolerance  (1)

Set the percentage deviation in peak spacings above which peaks will not be considered part of a regular splitting pattern:

Template  (3)

Use options from previous peaks analysis:

PeakLabels option attempts to align based on position:

Specified PeakLabels override template labels if there is a conflict:

TemplateAssignmentTolerance  (3)

Only align peaks within 1Minute of template peaks:

Loosen tolerance to allow more alignment matches:

Tighten tolerance to allow fewer matches:

Wavelength  (1)

Specify Wavelength for 3D Chromatography data to reduce dimension to 2D then perform peak picking:

WidthThreshold  (1)

Set minimum width requirement for peaks:

Messages  (40)

AreaToleranceExceeded  (1)

If PeakGroupMultiplicity is used to assign a splitting which falls outside of tolerances (e.g. assign a triplet to peak areas which are not 1:2:1), show a warning message:

AutomaticAssignmentNotAvailable  (1)

Automatic assignment of peak groups to molecules is not available for some nucleus types, e.g. for 19F NMR:

ConflictingPeakAssignments  (1)

If multiple assignments by max-area peak in a range map to the same peak, a warning will be shown:

DuplicateAssignment  (1)

If multiple splitting assignments are matched to the same peak group, only the first one will be used:

EmptySplittingDomain  (1)

If no peaks are found in one of the PeakGroupDomains, it will be ignored:

ExcludeOverwriteInclude  (1)

If peak x-values lie in both the Include and Exclude options, these points will be excluded:

IncompatibleSliceUnits  (1)

If the units provided in DataSlice are incompatible with the DataSliceDimension, then units will be ignored and this warning will be shown:

IncompatibleUnits  (1)

If more peak labels than peaks are supplied, they will be ignored:

InputContainsTemporalLinks  (1)

Warn the user if any of the inputs contain temporal links:

InvalidMultiplicity  (1)

Multiple splittings may only contain integers greater than two:

InvalidNamedDimension  (1)

Show an error if the named DataSliceDimension is incompatible with the provided ReferenceField. Error message shows a list of valid named fields:

InvalidSliceDimension  (1)

Show an error if the requested data slice does not result in two-dimensional data. Here, slicing 3D data on two dimensions would result in 1D data:

InvalidSliceLength  (1)

Show an error if the DataSlice does not match the length of DataSlice dimension. DataSlice is index-matched to the DataSliceDimension, and specifies what range in each dimension to slice from:

InvalidSplittingDomains  (2)

PPM ranges in PeakGroupDomains option must not overlap:

PPM ranges in PeakGroupDomains option must be increasing:

InvalidTransformation  (1)

Show an error if the provided DataSetTransformationFunction fails to convert {x,y} coordinates into valid coordinates that match CoordinatesP:

MismatchedPeakCounts  (1)

A warning message will be displayed if PeakGroupMultiplicity is used to assign a multiplicity inconsistent with the number of peaks in a peak group, e.g. if a single peak is labeled as a triplet:

MixedAssignment  (1)

Cannot use absolute and relative peak assignments simultaneously:

MolecularAssignment  (1)

Show a warning any of the molecules in KnownSpecies could not be assigned to peaks:

NucleusMismatch  (1)

All atoms in molecules indexed in SplittingAssignments must match the NMR nucleus type, e.g. all atoms must be hydrogen:

OptionUnavailable  (1)

The RelativeLabeling option is only used when PeakType->Chromatography, and will be ignored if PeakType is anything else, e.g. NMR:

ParameterMismatch  (1)

OperatingFrequency option does not match that present in the input data:

ParameterNotFound  (2)

If PeakType->NMR, then NMR nucleus must be informed:

If PeakType->NMR, then OperatingFrequency must be informed:

ParentPeakIndices  (1)

If ParentPeaks are specified with an index larger than the number of identified peaks, these will be defaulted to the index of the largest peak:

ParentPeaksMismatch  (2)

Default to the largest peak if ParentPeaks is supplied a label that can't be matched to known labels:

Labels in the ParentPeak option will default to the largest peak if they do not exist in the PeakLabels option or as names of models in the PeakAssignments option:

ParentPeaksPadded  (2)

If extra parent peaks are specified, they will be ignored with a warning:

If insufficient parent peaks are specified, the unspecified parent peaks will be automatically assigned to the largest peak by area:

PeakGroupMultiplicityMismatch  (2)

If PeakGroupMultiplicity has smaller length than the number of resolved peak groups, unspecified entries will be defaulted:

If PeakGroupMultiplicity has greater length than the number of resolved peak groups, extra entries will be ignored:

PeakLabelsMismatch  (1)

If more peak labels than peaks are supplied, they will be ignored:

ReverseComplexCoupling  (1)

Automatic J-factor calculation for multiple splitting (e.g. triplet of doublet of doublets) is only supported when peaks do not overlap, i.e. the number of peaks in the group is equal to the product of multiplicities:

SliceDimensionOutOfBounds  (1)

If the DataSliceDimension is provided as an integer, show an error if the slice index is greater than the dimensionality of the ReferenceField:

SpacingToleranceExceeded  (1)

If PeakGroupMultiplicity is used to assign a splitting which falls outside of tolerances (e.g. assign a multiple splitting to unevenly spaced peaks), show a warning message:

SplittingIgnoreUnits  (1)

If the input data does not have units of PPM vs. Intensity, units will be ignored:

UnmatchedAssignment  (1)

If a splitting assignment cannot be matched to any peak groups, it will be ignored:

UnrecognizedPeaksField  (1)

If invalid ReferenceField is given, there will be warning message and default ReferenceField will be used:

UnrecognizedWavelength  (1)

For 3D Chromatography data, Wavelength must exist in input data:

WavelengthMismatch  (1)

If Wavelength and ReferenceField options are specified, Wavelength option should match the wavelength that Absorbance is read: