Skip to content
CovaSyn
Book an initial call

Guide

Unknown Impurity Identification by LC-MS/MS

Unknown impurity identification by LC-MS: formula from accurate mass, RDBE, isotope pattern and MS/MS fragment logic, with a worked example.

CovaSyn team8 min read

All Articles
Unknown Impurity Identification by LC-MS/MS

You have a peak at 0.19 area% that was not there in the previous batch. ICH Q3A(R2) says anything at or above 0.10% needs to be identified, so "unknown at RRT 1.12" without documented identification efforts is not enough. You have an accurate mass and an MS/MS spectrum, and no reference standard. This is the workflow that gets you from that spectrum to a defensible structural hypothesis, and the points at which it stops being able to help.

The order the work actually happens in

1. Formula first. Accurate mass plus isotope pattern narrows the elemental composition. Nothing downstream is trustworthy if the formula is wrong. 2. RDBE and the delta to the parent. Degrees of unsaturation tell you whether you added an atom or closed a ring. 3. Fragment logic. MS/MS tells you which part of the molecule changed. 4. Library search. Fast when it works, uninformative when the compound is not in the library. 5. Confirmation. Reference standard, orthogonal data, or synthesis. Software does not do this step.

Steps 1 to 4 are hours of work that can be compressed into minutes. Step 5 is still weeks.

The worked example

Parent API: propranolol, [M+H]+ 260.1645. The new peak has [M+H]+ 276.1594 on a Q-TOF calibrated to better than 3 ppm. Delta to the parent is +15.9949, the classic oxygen addition.

A note on provenance before the numbers: the MS/MS peak list below is constructed from published beta-blocker fragmentation behaviour, not acquired on an instrument. Every result quoted comes from a genuine analysis by CovaSyn. The peak list is the input; the results are not simulated.

Peak list analysed (m/z, relative intensity): 276.1594 (100), 258.1489 (25), 199.0754 (40), 183.0804 (10), 157.0648 (15), 116.1070 (80), 98.0964 (30), 74.0600 (20).

Step 1: formula from accurate mass

The formula search for [M+H]+ at 5 ppm tolerance returned three candidates, ordered by plausibility:

FormulaMass error (ppm)RDBE
C16H21NO30.0757.0
C9H21N7OS2.563.0
C10H22N5O2P3.683.0

The second-ranked formula is only 2.5 ppm away, but seven nitrogens and a sulfur on 275 Da is implausible for a small-molecule degradant. Published plausibility rules such as the Senior valence rules and the Kind-Fiehn heuristics help demote such formulas early.

Your mass tolerance is the whole ballgame.

The same search at 20 ppm returns ten candidates instead of three, spanning RDBE 2 to 8. If your instrument is not routinely inside 5 ppm, formula determination is not a solved problem for you.

Step 2: the isotope pattern kills the alternatives

Accurate mass alone does not distinguish CHNO from CHNOS. The isotope envelope does. The calculated isotope patterns of the two leading candidates, singly charged:

FormulaMM+1M+2
C16H21NO3100.018.032.15
C9H21N7OS100.013.365.51

The M+1 ratio counts carbons (roughly 1.1% per carbon), and the M+2 at 5.51% is the sulfur signature. If your measured M+2 is around 2%, the sulfur-containing formula is dead without any further work. This check costs nothing and it is the single highest-yield thing you can do with an already-acquired full-scan spectrum.

Grouped bar chart for unknown impurity identification by LC-MS: M+1 at 18.03 versus 13.36 percent and M+2 at 2.15 versus 5.51 percent separate C16H21NO3 from the sulfur formula C9H21N7OS.
M+1 counts carbons at roughly 1.1% each and M+2 at 5.51% is the sulfur signature. If your measured M+2 sits near 2%, the sulfur formula is dead with no extra experiment. Source: Calculated isotope patterns of the two leading candidate formulas, singly charged, as reported in this article.

Step 3: RDBE tells you what kind of change happened

RDBE is calculated as 1 + C - (H + Cl + Br + F)/2 + N/2 + P/2. For C16H21NO3 that gives 7.0. Propranolol itself (C16H21NO2) is also RDBE 7.

That single comparison is informative. The impurity gained one oxygen and no degrees of unsaturation. So:

  • A hydroxylation (aromatic or aliphatic) fits. RDBE unchanged.
  • An N-oxide or hydroxylamine fits. RDBE unchanged.
  • A ketone from oxidation of the secondary alcohol does not fit. That pathway loses two hydrogens, giving a mass delta of −2.0157 and RDBE 8.
  • A new ring does not fit either. RDBE would go up.

You have narrowed a +16 Da unknown to two structural families before touching the MS/MS.

Step 4: fragment annotation, and why hit count is the wrong metric

Fragment annotation assigns measured peaks to fragments of a candidate structure, including common neutral losses. For 4-hydroxypropranolol (ring hydroxylation) at 10 ppm, 8 of 8 peaks were annotated, five of them with an explicit fragment structure:

  • 116.1070 → CC(C)NCC(O)CO minus H2O, single cleavage
  • 98.0964 → same side chain minus 2 H2O
  • 74.0600 → NCC(O)CO minus H2O, paired cleavage
  • 157.0648 → COc1ccc(O)c2ccccc12 minus H2O
  • 183.0804 → CC(O)COc1ccc(O)c2ccccc12 minus 2 H2O

Now the honest part. The same annotation against the N-hydroxy isomer also explained 8 of 8. Coverage did not discriminate the two structures at all. What discriminated them was the assigned cleavage mechanism:

PeakRing-hydroxy hypothesisN-hydroxy hypothesis
74.0600paired cleavage minus H2Osingle cleavage minus CH4
157.0648single cleavage minus H2Osingle cleavage minus CH3OH
183.0804structure assignedformula only

Losing methane from a hydroxylamine to land on 74.0600 is not a fragmentation anyone would defend at a review board. The ring-hydroxy hypothesis explains the same peaks using nothing but water losses on simple bond cleavages. Read the mechanism and the neutral loss, not the annotation count. A combinatorial annotation with generous neutral losses will explain almost anything if you let it.

The decisive point is the one the annotation implies: the intact aminopropanol ion at 116.1070 requires an unmodified nitrogen side chain. If the oxygen had gone onto the nitrogen, that ion would move to 132.1019. One ion, one decision.

Step 5: library search, and its hard limit

The spectrum is of usable quality (spectral entropy 2.6201, normalised entropy 0.8734, precursor present). The library search returned 10 candidates.

Rank 1 was homatropine, C16H21NO3, spectral similarity 0.7023, with an experimental reference spectrum. 4-hydroxypropranolol came back at rank 6, spectral similarity 0.0709, only as a formula-level candidate rather than from an experimental library entry.

Bar chart from unknown impurity identification by LC-MS: homatropine ranks first at spectral similarity 0.7023 while 4-hydroxypropranolol scores 0.0709 at rank six.
4-hydroxypropranolol is the candidate the fragment logic supports, but it has no experimental spectrum to match against. A compound with no library entry cannot win a library search. Source: Library search described in this article. The MS/MS peak list was constructed from published beta-blocker fragmentation behaviour; the results come from a genuine analysis.

That inversion is the lesson, not an error. Library ranking is dominated by similarity to spectra that exist in the library. Homatropine is a correct-formula compound with a real reference spectrum. 4-hydroxypropranolol had no experimental spectrum to match against, so it could only ever enter as a formula-level candidate and score near zero on the similarity term. A compound with no library spectrum cannot win a library search, no matter how well it explains your fragments. Impurities and degradants are precisely the compounds least likely to have library spectra.

One more caveat: an automatic compound-class assignment (here "hydroxy compound") is a coarse hint, not evidence. Treat it accordingly, and read absence of a good hit as a statement about the library, not about your sample.

What this does not tell you

  • It does not identify anything. The output is a ranked hypothesis. Confirmation needs an authentic reference standard with matching retention time and MS/MS, or NMR on isolated material. This is roughly Schymanski level 3 (tentative candidate) at best.
  • It does not resolve regiochemistry. 4-hydroxy versus 5-hydroxy versus 7-hydroxy propranolol are indistinguishable on this evidence. Chromatography against standards or NMR resolves that.
  • It does not quantify. Area percent is not mass percent. Response factors for a degradant are usually unknown and often differ from the parent by more than a factor of two.
  • It does not know your matrix. Excipient adducts, in-source fragments and dimers all look like unknowns. Rule those out before you start structure work.
  • It cannot rank a compound it has never seen. See step 5.

Frequently asked questions

How many molecular formulas fit a given accurate mass?

It depends almost entirely on mass tolerance and mass. For an unknown at m/z 276.1594 as [M+H]+, the formula search returned three candidate formulas at 5 ppm and ten at 20 ppm. The top candidate, C16H21NO3, sat at 0.075 ppm error. At higher masses the candidate count explodes: at m/z 647 a 5 ppm window gave 45 formulas.

What is RDBE and how do I use it on an impurity?

RDBE, ring and double bond equivalents, is calculated as 1 + C: (H + Cl + Br + F)/2 + N/2 + P/2. It counts rings plus pi bonds. The useful move is comparing the impurity RDBE with the parent. In our example both parent and impurity were RDBE 7 with a +15.9949 mass delta, which is consistent with hydroxylation or N-oxidation and inconsistent with ring closure or oxidation of an alcohol to a ketone.

Can a spectral library identify an unknown degradation product?

Usually not. Library search scores similarity against spectra that already exist in the library, and degradants and process impurities rarely have reference spectra. In our run, the library search ranked homatropine first at spectral similarity 0.7023 because it has an experimental reference spectrum, while the chemically sensible candidate ranked sixth at similarity 0.0709 because it entered only as a formula-level candidate.

How do I tell N-oxidation from ring hydroxylation by MS/MS?

Look for a fragment that isolates the nitrogen-containing part of the molecule. For propranolol the aminopropanol ion at m/z 116.1070 is unmodified if the added oxygen is on the ring, and shifts by +15.9949 to 132.1019 if it is on the nitrogen. One diagnostic ion answers the question. Fragment annotation coverage alone does not: both isomers explained 8 of 8 peaks in our runs.

What impurity level triggers a mandatory identification?

ICH Q3A(R2) sets the identification threshold for a new drug substance at 0.10%, or 1.0 mg per day intake, whichever is lower, for a maximum daily dose up to 2 g per day. The reporting threshold is 0.05%. Above the identification threshold the structure has to be determined. If that is not possible, ICH Q3A(R2) expects a summary of the laboratory studies demonstrating the effort. Below the reporting threshold you do not report at all. Check the thresholds against your actual daily dose before you spend instrument time.

Does in-silico fragment annotation replace a reference standard?

No. Annotation narrows the hypothesis space and tells you which experiment is decisive, which is where most of the calendar time goes. It cannot distinguish positional isomers, it cannot confirm stereochemistry, and its confidence values reflect internal consistency, not truth. Regulatory identification still requires an authentic standard or isolated material with orthogonal structural data.

Related reading

Evaluation for this topic

We evaluate this for your lab.

  • Mass spectra, formula prediction, impurity profiling.

Free PDF

Results you can rely on

Our beginner's guide for chemistry, pharma and biotech: how to tell an estimate from a calculation, seven questions to ask of every result and six questions to ask every provider. 8 pages.

Get the guide

Next step

Compute it instead of guessing.

30 minutes on Microsoft Teams with the CovaSyn team. If it is not a fit, we will say so.