AssayIndex
Detection rule · severity low

AX-R09 — Impurity fingerprint shared across suppliers

Two batches sold by different suppliers have impurity profiles matching closely enough to indicate one bulk.

LOW247 records flagged3.67 % of the index
Section 1

The predicate

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

fingerprintMatch(batchA, batchB) && batchA.supplier !== batchB.supplier
Section 2

Why this rule exists

A synthetic peptide lot carries a characteristic set of process impurities at characteristic levels — the deletion sequences, diastereomers and adducts left by one particular run of one particular process. Two independent syntheses of the same compound do not produce the same four impurities at the same four levels to within 0.05 % area. Two aliquots of one bulk do.

The rule matches on the named-impurity vector: same impurity identities, same rank order, and each level agreeing within 0.05 % area or 10 % relative, whichever is larger. It requires at least four named impurities, which is why nearly all matches come from PeptideMeter data — a totals-only certificate cannot be fingerprinted.

Twenty-nine matches exist in the index across 19 distinct bulks. Nothing about this is improper: contract synthesis is how the industry works and a reseller buying from a manufacturer is not doing anything wrong. But it has two consequences the index has to handle. Treating two aliquots of one bulk as two independent observations overstates the evidence, so matched batches are counted once in aggregates and cross-linked on both batch pages. And a buyer choosing between two suppliers on the basis of their published test results should know when those results describe the same material.

Where a match involves GL Biochem, the manufacturer-tier batch is treated as the parent.

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 247 n=247
Share of index 3.67% n=6722
Distinct suppliers 15 n=15
Distinct batches 43 n=247
SupplierFlaggedRecords in indexRate
GL Biochem6712653.2%
SGN3023013.0%
HJ222488.9%
SWB203176.3%
TFC165732.8%
QSC164953.2%
Homopeptide155752.6%
WXT143534.0%
GGPeps115671.9%
QYB103253.1%
JEEP82832.8%
MKM62722.2%
KP63641.6%
CPC33091.0%
ERP32471.2%

Flagged records per quarter

2024-Q1: 0 · 2024-Q2: 22 · 2024-Q3: 23 · 2024-Q4: 3 · 2025-Q1: 26 · 2025-Q2: 29 · 2025-Q3: 26 · 2025-Q4: 21 · 2026-Q1: 9 · 2026-Q2: 47 · 2026-Q3: 41

Section 4

Recently flagged

The 30 most recent of 247 records flagged by AX-R09. Every flagged record →
ReportCompoundSupplierLotLabQuarterPurity %Water %Recovery %ProvenanceFlagsResult
AX-2026-042461Kisspeptin-10SWBSWB-2603-D6238Janoshik2026-Q398.354.6596.5Supplier-supplied3FAIL
AX-2026-043176Kisspeptin-10GL BiochemGLBI-2608-N8085Medutest2026-Q398.223.3092.5Buyer-sourced2FAIL
AX-2026-042368SemaxHJHJ-2603-V4363Nordanalyt2026-Q399.177.26106.3Supplier-supplied1MARGINAL
AX-2026-042067SS-31 (Elamipretide)TFCTFC-2604-Y7472Kestrel2026-Q398.664.44Supplier-supplied1MARGINAL
AX-2026-043180Kisspeptin-10GL BiochemGLBI-2608-N8085Janoshik2026-Q398.693.37103.8Supplier-supplied2MARGINAL
AX-2026-042460Kisspeptin-10SWBSWB-2603-D6238Kestrel2026-Q399.554.2190.8Supplier-supplied3MARGINAL
AX-2026-042367SemaxHJHJ-2603-V4363Kestrel2026-Q399.106.7893.9Supplier-supplied1MARGINAL
AX-2026-041921TB-500JEEPJEEP-2605-M4874Janoshik2026-Q399.901.76Supplier-supplied2MARGINAL
AX-2026-041922TB-500JEEPJEEP-2605-M4874Janoshik2026-Q399.412.6095.7Laboratory-retained2MARGINAL
AX-2026-042458Kisspeptin-10SWBSWB-2603-D6238Kestrel2026-Q398.514.71102.4Supplier-supplied3MARGINAL
AX-2026-043178Kisspeptin-10GL BiochemGLBI-2608-N8085Janoshik2026-Q398.244.4496.0Supplier-supplied2FAIL
AX-2026-042463Kisspeptin-10SWBSWB-2603-D6238Nordanalyt2026-Q398.354.9398.6Supplier-supplied3FAIL
AX-2026-041928TB-500JEEPJEEP-2605-M4874Janoshik2026-Q399.881.8492.8Laboratory-retained2MARGINAL
AX-2026-041961TirzepatideTFCTFC-2605-G5134Medutest2026-Q398.257.11Supplier-supplied2MARGINAL
AX-2026-042465Kisspeptin-10SWBSWB-2603-D6238Kestrel2026-Q399.034.8396.4Supplier-supplied3MARGINAL
AX-2026-042462Kisspeptin-10SWBSWB-2603-D6238Janoshik2026-Q398.614.7396.5Supplier-supplied3MARGINAL
AX-2026-042068SS-31 (Elamipretide)TFCTFC-2604-Y7472Medutest2026-Q398.713.6392.9Supplier-supplied2MARGINAL
AX-2026-041926TB-500JEEPJEEP-2605-M4874Medutest2026-Q399.932.15106.8Supplier-supplied1MARGINAL
AX-2026-042069SS-31 (Elamipretide)TFCTFC-2604-Y7472Janoshik2026-Q398.163.65Supplier-supplied2FAIL
AX-2026-041925TB-500JEEPJEEP-2605-M4874PeptideMeter2026-Q399.932.15Supplier-supplied2MARGINAL
AX-2026-043177Kisspeptin-10GL BiochemGLBI-2608-N8085Janoshik2026-Q398.313.87106.5Buyer-sourced2FAIL
AX-2026-041958TirzepatideTFCTFC-2605-G5134PeptideMeter2026-Q398.176.5493.0Supplier-supplied3FAIL
AX-2026-042070SS-31 (Elamipretide)TFCTFC-2604-Y7472PeptideMeter2026-Q398.093.6097.9Supplier-supplied1FAIL
AX-2026-042072SS-31 (Elamipretide)TFCTFC-2604-Y7472VendorInvestigate2026-Q397.883.4789.5Buyer-sourced2FAIL
AX-2026-041962TirzepatideTFCTFC-2605-G5134Medutest2026-Q398.616.36100.6Supplier-supplied2MARGINAL
AX-2026-041960TirzepatideTFCTFC-2605-G5134Janoshik2026-Q398.446.55Supplier-supplied3MARGINAL
AX-2026-043174Kisspeptin-10GL BiochemGLBI-2608-N8085Medutest2026-Q398.184.09Laboratory-retained2FAIL
AX-2026-041924TB-500JEEPJEEP-2605-M4874PeptideMeter2026-Q399.451.54Laboratory-retained2MARGINAL
AX-2026-043166L-Glutathione (reduced)GL BiochemGLBI-2606-S7722PeptideMeter2026-Q399.268.52107.1Supplier-supplied1MARGINAL
AX-2026-043179Kisspeptin-10GL BiochemGLBI-2608-N8085Janoshik2026-Q398.453.90Laboratory-retained2FAIL