4.5 Incorporating adduct and isotopic data
With mass spectrometry it is common that multiple m/z values are detected for a single compound. These may be different adducts (e.g. [M+H]+
, [M+Na]+
, [M-H]-
), the different isotopes of the molecule or a combination thereof. When multiple m/z values are measured for the same compound, the feature finding algorithm may yield a distinct feature for each, which adds complexity to the data. In the previous section it was discussed how componentization can help to find feature groups that belong to the same adduct and/or isotope clusters. This section explains how this data can be used to simplify the feature dataset. Furthermore, this section also covers adduct annotations for feature groups which may improve and simplify the general workflow.
4.5.1 Selecting features with preferential adducts/isotopes
The selectIons
function forms the bridge between feature group and componentization data. This function uses the adduct and isotope annotations to select preferential feature groups. For adduct clusters this means that only the feature group that has a preferential adduct (e.g. [M+H]+
) is kept while others (e.g. [M+Na]+
) are removed. If none of the adduct annotations are considered preferential, the most intense feature group is kept instead. For isotopic clusters typically only the feature group with the monoisotopic mass (i.e. M0) is kept.
The behavior of selectIons
is configurable with the following parameters:
Argument | Remarks |
---|---|
prefAdduct |
The preferential adduct. Usually "[M+H]+" or "[M-H]-" . |
onlyMonoIso |
If TRUE and a feature group is with isotopic annotations then it is only kept if it is monoisotopic. |
chargeMismatch |
How charge mismatches between adduct and isotope annotations are dealt with. Valid options are "isotope" , "adduct" , "none" or "ignore" . See the reference manual for selectIons for more details. |
In case componentization did not lead to an adduct annotation for a feature group it will never be removed and simply be annotated with the preferential adduct. Similarly, when no isotope annotations are available and onlyMonoIso=TRUE
, the feature group will not be removed.
Although selectIons
operates fairly conservative, it is still recommended to verify the componentization results in advance, for instance with the checkComponents
function discussed here. Furthermore, the next subsection explains how adduct annotations can be corrected manually if needed.
An example usage is shown below.
#> No isotope annotations available!
#> Removed 21 feature groups detected as unwanted adducts/isotopes
#> Annotated 13 feature groups with adducts
#> Remaining 110 feature groups set as default adduct [M+H]+
4.5.2 Setting adduct annotations for feature groups
The adducts()
function can be used to obtain a character vector with adduct annotations for each feature group. When no adduct annotations are available it will simply return an empty character vector.
When the selectIons
function is used it will automatically add adduct annotations based on the componentization data. In addition, the adducts()<-
function can be used to manually add or change adduct annotations.
#> character(0)
#> M109_R192_20 M111_R330_23 M114_R269_25 M116_R317_29 M120_R268_30
#> "[M+H]+" "[M+H]+" "[M+H]+" "[M+H]+" "[M+K]+"
#> M109_R192_20 M111_R330_23 M114_R269_25 M116_R317_29 M120_R268_30
#> "[M+H]+" "[M+H]+" "[M+Na]+" "[M+H]+" "[M+K]+"
NOTE Adduct annotations are always available with sets workflows.
4.5.3 Using adduct annotations in the workflow
When feature groups have adduct annotations available this may simplify and improve the workflow. The adduct
and ionization
arguments used for suspect screening, formula/compound annotation and some componentization algorithms do not have to be set anymore, since this data can be obtained from the adduct annotations. Furthermore, these algorithms may improve their results, since the algorithms are now able to use adduct information for each feature group individually, instead of assuming that all feature groups have the same adduct.