AssayIndex
Detection rule · severity medium

AX-R02 — Declared impurity arithmetic does not close

The supplier's own certificate reports a purity and a total-impurity figure that do not sum to 100 %.

MEDIUM128 records flagged1.90 % of the index
Section 1

The predicate

Published literally. A rule you cannot read is an accusation you cannot check.

coa.purity != null && coa.totalImpurities != null && abs(coa.purity + coa.totalImpurities - 100) > 0.15
Section 2

Why this rule exists

Purity by area percent and total impurities by area percent are two views of the same normalised chromatogram. They sum to 100 by definition. If a certificate states 99.2 % purity and 1.4 % total impurities, one of those numbers was not measured on the chromatogram the other came from.

The index allows 0.15 pp of slack for independent rounding of the two figures. Beyond that, the arithmetic does not close and the certificate is internally inconsistent.

There are innocent explanations and the rule page lists them. The purity figure may be an assay result against a reference standard (a %w/w quantity) while the impurity figure is chromatographic — in which case they legitimately do not sum, and the certificate should say so. Impurities below a reporting threshold may have been excluded from the total but included in the purity denominator. Or the two figures may come from two different lots.

None of those explanations is available on the certificates the index holds, because none of them state which quantity they are reporting. The finding is therefore a documentation finding: the certificate is not interpretable as written.

Section 3

Incidence

How often the rule fires, where, and when. A rule that never fires is not calibrated; a rule that fires on half the index is measuring the population rather than screening it.

Records flagged 128 n=128
Share of index 1.90% n=6722
Distinct suppliers 14 n=14
Distinct batches 28 n=128
SupplierFlaggedRecords in indexRate
CPC253098.1%
Homopeptide195753.3%
SWB143174.4%
GGPeps135672.3%
GL Biochem121269.5%
KP93642.5%
BCH83162.5%
SSA62942.0%
WXT63531.7%
TFC55730.9%
ERP32471.2%
HJ32481.2%
SGN32301.3%
JEEP22830.7%

Flagged records per quarter

2024-Q1: 0 · 2024-Q2: 0 · 2024-Q3: 1 · 2024-Q4: 2 · 2025-Q1: 21 · 2025-Q2: 8 · 2025-Q3: 11 · 2025-Q4: 32 · 2026-Q1: 23 · 2026-Q2: 22 · 2026-Q3: 8

Section 4

Recently flagged

The 30 most recent of 128 records flagged by AX-R02. Every flagged record →
ReportCompoundSupplierLotLabQuarterPurity %Water %Recovery %ProvenanceFlagsResult
AX-2026-042648Melanotan IIGGPepsGGPE-2603-P8735Janoshik2026-Q399.106.97Supplier-supplied4MARGINAL
AX-2026-042650Melanotan IIGGPepsGGPE-2603-P8735Medutest2026-Q399.866.49Supplier-supplied3MARGINAL
AX-2026-042651Melanotan IIGGPepsGGPE-2603-P8735PeptideMeter2026-Q399.537.0490.7Supplier-supplied4MARGINAL
AX-2026-042652Melanotan IIGGPepsGGPE-2603-P8735Janoshik2026-Q399.366.96Supplier-supplied4MARGINAL
AX-2026-042646Melanotan IIGGPepsGGPE-2603-P8735Janoshik2026-Q399.807.0497.3Supplier-supplied3MARGINAL
AX-2026-042647Melanotan IIGGPepsGGPE-2603-P8735Janoshik2026-Q399.487.06Supplier-supplied4MARGINAL
AX-2026-042645Melanotan IIGGPepsGGPE-2603-P8735VendorInvestigate2026-Q398.327.12Buyer-sourced3FAIL
AX-2026-042649Melanotan IIGGPepsGGPE-2603-P8735PeptideMeter2026-Q399.537.32105.6Supplier-supplied4MARGINAL
AX-2026-042428IGF-1 DES (1-3)SWBSWB-2601-Y5870PeptideMeter2026-Q298.743.82Supplier-supplied1MARGINAL
AX-2026-043186PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417PeptideMeter2026-Q298.752.31107.2Supplier-supplied2MARGINAL
AX-2026-042429IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q298.114.0997.0Supplier-supplied1MARGINAL
AX-2026-043290TirzepatideCPCCPC-2605-P2050Kestrel2026-Q298.394.4896.0Supplier-supplied2MARGINAL
AX-2026-043187PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417Janoshik2026-Q297.972.82Supplier-supplied2FAIL
AX-2026-043184PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417VendorInvestigate2026-Q297.673.0199.8Buyer-sourced2FAIL
AX-2026-042437IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q297.724.1898.0Buyer-sourced1MARGINAL
AX-2026-042434IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q298.004.05Supplier-supplied1MARGINAL
AX-2026-043185PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417Medutest2026-Q298.472.58Supplier-supplied2FAIL
AX-2026-042432IGF-1 DES (1-3)SWBSWB-2601-Y5870Nordanalyt2026-Q297.564.26Buyer-sourced2MARGINAL
AX-2026-042441IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q298.554.26Supplier-supplied2MARGINAL
AX-2026-043183PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417Janoshik2026-Q297.841.92Supplier-supplied2FAIL
AX-2026-042438IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q297.943.70Laboratory-retained2MARGINAL
AX-2026-042440IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q297.884.0098.0Supplier-supplied1MARGINAL
AX-2026-042430IGF-1 DES (1-3)SWBSWB-2601-Y5870PeptideMeter2026-Q297.953.81Supplier-supplied2MARGINAL
AX-2026-043182PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417Medutest2026-Q297.572.3693.0Supplier-supplied2FAIL
AX-2026-042433IGF-1 DES (1-3)SWBSWB-2601-Y5870PeptideMeter2026-Q298.323.4997.0Supplier-supplied2MARGINAL
AX-2026-042436IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q297.684.3295.0Supplier-supplied1MARGINAL
AX-2026-042431IGF-1 DES (1-3)SWBSWB-2601-Y5870Janoshik2026-Q298.274.14Supplier-supplied1MARGINAL
AX-2026-042439IGF-1 DES (1-3)SWBSWB-2601-Y5870PeptideMeter2026-Q297.763.79Buyer-sourced1MARGINAL
AX-2026-042435IGF-1 DES (1-3)SWBSWB-2601-Y5870VendorInvestigate2026-Q297.543.91Buyer-sourced1MARGINAL
AX-2026-043181PT-141 (Bremelanotide)GL BiochemGLBI-2511-F8417PeptideMeter2026-Q297.662.41Supplier-supplied2FAIL