The de novo workbench
The workbench reads a de novo extraction and answers three questions: how many signatures, which of them are new, and what the reference set lacks. It runs in the page.
Sources
- A SigProfilerExtractor output folder, dropped whole. The studio reads
All_solutions_stat.csvand each solution'sSignaturesandActivitiesfiles; the folder becomes one record. - A MuSiCal discovery run on the runner. Every K the run tried is kept (
W_k<K>.tsv,H_k<K>.tsv) along withselection.json; runs appear in the workbench's source list without being added as records. - A signature matrix, channels down and signatures across, read as one solution.
Select the samples (an SBS-96 matrix) with the solution to use the missing-signature check.
Rank and lineage
Stability (mean silhouette, with the least stable signature marked) and reconstruction error are drawn by K, with the tool's own choice starred. The lineage draws how signatures split as K grows: each signature at K is written as a non-negative mix of those at K+1, and a part taking at least 20% of it gets a line. Two lines out is a split; a signature at K+1 with no line in is new.
Is a signature new?
Each signature at the chosen K is held against every catalog the studio knows (COSMIC v3.4, COSMIC v3.2 as MuSiCal ships it, the 208 MuTopia components) and decomposed into one, two or three COSMIC v3.4 signatures, every set among its 25 nearest. Where the solution carries exposures, the chosen parts are refitted on 200 multinomial resamples at the signature's own count, and the share of refits that keep each part is reported. The verdict follows fixed rules, applied in this order:
| Verdict | Rule | |---|---| | likely artifact | cosine ≥ 0.95 to a signature COSMIC lists as a possible sequencing artifact, or the best mix leads with one | | mixture | two or three parts reach 0.95, at least 0.02 better than any single signature, the smallest part at least 20% | | known | a COSMIC signature at ≥ 0.95 | | tissue variant | a MuTopia component at ≥ 0.95, or a COSMIC signature between 0.90 and 0.95 that no mix beats clearly | | candidate novel | nothing, single or mixed, reaches 0.90 | | unresolved | the best mix lands between 0.90 and 0.95 |
The thresholds were set on one synthetic set (seed 42) and then checked on two held-out sets of 120 signatures each, drawn at 1,000 and 5,000 mutations: known COSMIC signatures, two-signature mixtures of 30 to 70%, COSMIC artifact signatures, and signatures removed from every catalog first.
| Held-out set | known | mixture | artifact | novel: "candidate novel" | novel: candidate novel or unresolved | |---|---|---|---|---|---| | seed 7 | 30 of 30 | 28 of 30 | 30 of 30 | 14 of 30 | 26 of 30 | | seed 1001 | 30 of 30 | 28 of 30 | 30 of 30 | 16 of 30 | 27 of 30 |
A removed signature that two or three others can rebuild at 0.95 (SBS6 from SBS15, SBS84 and SBS1, for one) reads as a mixture: by spectrum alone that is what it is. The check says so with the numbers rather than guessing.
What does the reference set lack?
The samples are refitted with a reference set: the COSMIC v3.4 signatures that take at least 5% of at least 3 samples, or the de novo signatures themselves. Then one extra signature is fitted to the whole cohort with the set held fixed (alternating non-negative least squares, each sample weighted equally), and it goes to the novelty check. The workbench reports how much it lowers the cohort's squared error and how many samples carry it.
Checked on 186 PCAWG genomes tallied against hg19, removing each signature that takes at least 10% of at least 10 genomes in turn, with every genome downsampled to 500 and 2,000 mutations and at its full count. A signature is recovered when the extra signature's nearest COSMIC signature is the removed one.
| Mutations per genome | Recovered | |---|---| | 500 | 3 of 10 | | 2,000 | 5 of 10 | | full | 5 of 10 |
Distinctive signatures come back (SBS1 at cosine 0.98, SBS7a and SBS7b at 0.86 to 0.90, SBS8, SBS40a). Flat ones (SBS5, SBS12, SBS18, SBS39, SBS92) do not: the rest of the set absorbs them, and removing them lowers the fit hardly more than the residual a complete set leaves (an extra signature lowers the error by 7 to 13% with nothing removed, by 34 to 85% when SBS1 or SBS7a is missing). Read the error drop against that.
Two findings shaped the method. A noise floor from multinomial resampling flags most real genomes as poorly reconstructed even with a complete set, because real spectra are more variable than a multinomial mix of catalog signatures. And with squared error on counts, one hypermutated genome's misfit becomes "the missing signature". Hence the cohort-relative outlier count and the equal weight per sample.
The validation scripts are in the repository (scripts/validate/novelty.ts, scripts/validate/missing.ts) and run the same code the page runs, against the same sigscape-core build.