Spaces:
Running
Running
Jean Ogier du Terrail
Point technical report links and BibTeX at bioRxiv v2 (2026.09.04.749355v2, posted 2026-09-09)
fd66581 Download sae-features.html from living-models/botanic1-report: direct link, hf CLI and curl.
- Browser
- Download file 15.3 kB
-
https://huggingface.co/spaces/living-models/botanic1-report/resolve/77e0c6142535d5820ec9e2bcf54d3009646c8ce4/sae-features.html
- Command line
-
hf download hf://spaces/living-models/botanic1-report@77e0c6142535d5820ec9e2bcf54d3009646c8ce4/sae-features.html
-
curl -L -o sae-features.html https://huggingface.co/spaces/living-models/botanic1-report/resolve/77e0c6142535d5820ec9e2bcf54d3009646c8ce4/sae-features.html
15.3 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>Botanic1 sparse features</title> | |
| <meta name="description" content="Sparse autoencoder features of Botanic1-M read out base by base over annotated genomic windows in four plant species."> | |
| <script>(function(){try{var t=new URLSearchParams(location.search).get('__theme');if(t==='dark'||t==='light')document.documentElement.setAttribute('data-theme',t);}catch(e){}})();</script> | |
| <link rel="preconnect" href="https://fonts.googleapis.com"> | |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> | |
| <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap"> | |
| <link rel="stylesheet" href="assets/site.css?v=20260908-use-case"> | |
| <link rel="stylesheet" href="assets/sae.css?v=20260908-case2"> | |
| <link rel="stylesheet" href="assets/sae-sources.css?v=20260908-case2"> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.9.0/d3.min.js"></script> | |
| </head> | |
| <body> | |
| <header class="topbar"><div class="inner"><a class="lockup" href="index.html"><div class="wordmark" aria-label="BOTANIC-1"><span class="cell">B</span><span class="cell">O</span><span class="cell">T</span><span class="cell">A</span><span class="cell">N</span><span class="cell">I</span><span class="cell">C</span><span class="cell tok" data-state="masked"><span class="probs"><i></i><i class="top"></i><i></i><i></i></span>?</span></div><span class="org"><svg class="living-models-mark" width="18" height="20" fill="currentColor" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 85.90 91.50"><rect x="55.1000" y="2.1000" width="3.2000" height="53.2000" /><rect x="55.1000" y="61.3000" width="3.2000" height="28.1000" /><rect x="68.9000" y="9.2000" width="3.2000" height="15.5000" /><rect x="68.9000" y="30.6000" width="3.2000" height="51.7000" /><rect x="82.7000" y="24.7000" width="3.2000" height="42.2000" /><rect x="41.4000" y="0.0000" width="3.2000" height="11.6000" /><rect x="41.4000" y="17.5000" width="3.2000" height="74.0000" /><rect x="27.6000" y="2.1000" width="3.2000" height="70.7000" /><rect x="27.6000" y="78.7000" width="3.2000" height="10.6000" /><rect x="13.8000" y="9.2000" width="3.2000" height="25.0000" /><rect x="13.8000" y="40.2000" width="3.2000" height="42.2000" /><rect x="0.0000" y="24.7000" width="3.2000" height="42.2000" /></svg>Living Models</span></a><nav aria-label="Pages"><a href="index.html">Overview</a><a href="factory.html">Model factory</a><a href="leaderboard.html">Leaderboard</a><a href="causal-variants.html">Causal variants</a><a href="sae-features.html" aria-current="page">SAE features</a><a href="use-case.html">Use case</a><a href="corpus.html">Corpus</a><a class="ext" href="https://huggingface.co/collections/living-models/botanic1-6a97f4e3c33f3d109a75057d" target="_blank" rel="noopener">Models</a></nav></div></header> | |
| <div class="page"> | |
| <main class="prose"> | |
| <p class="kicker">Interpretability</p> | |
| <h1>Sparse features are readable genomic concepts</h1> | |
| <p class="lede">A sparse autoencoder decomposes one layer of a frozen Botanic1-M into 8,192 | |
| features, fitted with no genomic annotation at all. Single features nonetheless detect | |
| splice donors and acceptors at MCC 0.871 and 0.873, intron bodies, and each of the three | |
| positions in a codon. Two of them read zero where TAIR10 and Araport11 annotate a splice | |
| donor — and in 2026 TAIR12 moved that donor to where they fire.</p> | |
| <p>The browser below reads that dictionary out base by base over 21 precomputed windows. | |
| Every value drawn is a measurement; the annotation rows are a separate, paler register and | |
| never an input to a number on this page.</p> | |
| <h2 id="choose">Choose a window</h2> | |
| <p>Each window is 8,191 bp, the model's native context, and each was chosen because it | |
| shows something. Ten are windows where the features track the annotation closely: over 384 | |
| windows scanned, the splice features fire at a median 95% of the annotated donors and | |
| acceptors, and these are the clearest of them. Eight are disagreements — five where a | |
| feature marks a splice site the canonical transcript drops but another annotated isoform | |
| uses, three where it marks a site no annotated transcript uses at all. Each of those eight | |
| also carries a verdict from a register independent of the annotation, and one of the three | |
| is a site an RNA-seq atlas measures in use. Two are loci where the annotation itself moved | |
| between releases. The last is the <em>AT1G65170</em> locus the report's | |
| annotation-correction result is drawn from.</p> | |
| <p>A released annotation says which splice sites someone drew a transcript through. It | |
| does not say which sites are <em>used</em>, and the two questions come apart exactly where | |
| a feature disagrees with the annotation. So each of the eight disagreements carries a second | |
| register, shown under the browser: for Arabidopsis, AtRTD3's 169,503 long-read transcripts, | |
| the 2026 TAIR12 reannotation, and PastDB's usage measurements over 202 RNA-seq samples, all | |
| three on the same TAIR10 coordinates the windows are cut from.</p> | |
| <p class="note">The three verdicts are different claims, and only one of them is a | |
| discovery. <strong>Used</strong> means an independent register records the site in use: | |
| chr1:21,735,155, which no transcript model carries, is an alternative 3′ splice site | |
| in PastDB running at up to 7.5% against the dominant site's 99.8%, and both Arabidopsis | |
| alternative-isoform sites are ones TAIR12 keeps while dropping the canonical site the | |
| feature reads near zero at. <strong>Untestable</strong> means the registers cover the locus | |
| and still cannot answer: chr5:5,427,495 sits 23 bp upstream of the start codon of a gene | |
| with one transcript, no annotated 5′ UTR and a median expression of 0.00 cRPKM, so no | |
| read can confirm or refute it. <strong>Untested</strong> means no register was consulted at | |
| all — the rice and maize disagreements, where no long-read transcriptome or splicing | |
| atlas on those assemblies was checked. A feature firing where nothing is annotated is not | |
| evidence of a discovery until a register says so, and it is not presented as one here.</p> | |
| <p class="label" id="win-label">Window</p> | |
| <div class="win-picker" id="win-picker" role="group" aria-labelledby="win-label"></div> | |
| <noscript><p class="small">The window picker requires JavaScript.</p></noscript> | |
| <div class="feat-stage"> | |
| <figure class="feat-browser" aria-labelledby="feat-title"> | |
| <div class="feat-heading"> | |
| <div> | |
| <h2 id="feat-title">A genomic window, feature by feature</h2> | |
| <p id="feat-sub"></p> | |
| </div> | |
| <div class="feat-tools" role="group" aria-label="Window navigation"> | |
| <button type="button" class="zoom" id="feat-out" aria-label="Zoom out" disabled>−</button> | |
| <button type="button" class="zoom" id="feat-in" aria-label="Zoom in" disabled>+</button> | |
| <button type="button" id="feat-full" disabled>Whole window</button> | |
| <button type="button" id="feat-panel-toggle" aria-expanded="false" aria-controls="feat-panel" disabled>Top features</button> | |
| <button type="button" id="feat-controls-toggle" aria-expanded="true" aria-controls="feat-controls" disabled>Lanes</button> | |
| <button type="button" class="help" id="feat-help-toggle" aria-expanded="false" aria-controls="feat-help-panel" aria-label="How to read this browser">?</button> | |
| <div class="feat-help-panel" id="feat-help-panel" role="group" aria-labelledby="feat-help-title" hidden> | |
| <p class="fh-title" id="feat-help-title">How to read this browser</p> | |
| <p id="feat-help">Hover a base to inspect it; click or press Enter to pin it, Escape to | |
| unpin. Drag to pan, pinch or + and − to zoom, arrow keys to step base by base (hold | |
| Shift to stride), Home for the whole window. <em>Top features</em> opens a movable panel | |
| ranking the strongest features at the pinned base.</p> | |
| <p class="fh-lanes">Each window opens on one lane per genomic category — splice | |
| donor, splice acceptor, intron, coding sequence, the three codon positions, and whichever | |
| other annotated element the dictionary marks best here. Each lane is the feature that | |
| matches that category best in <em>this</em> window, searched over every feature the window | |
| stores rather than a shortlist, scored as Matthews correlation against the annotated | |
| category. The threshold is the best of six percentiles of the feature's own values in the | |
| window, so the score describes the picture in front of you and is not an out-of-sample | |
| estimate. Codon positions are derived from the canonical transcripts' coding sequence in | |
| transcription order, because the label tracks carry region and site classes but not | |
| reading frame. <em>Top features</em> ranks the strongest features at the pinned base out | |
| of all 8,192 and any of them can be given a lane: this dictionary keeps 64 features per | |
| base and zeroes the rest, and each window carries a complete track for every feature that | |
| reaches a base's top eight anywhere in it.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <p class="feat-region" id="feat-region">Select a window to read its features base by base.</p> | |
| <div class="feat-scroll"><div id="feat-plot"></div></div> | |
| <div class="feat-readout" id="feat-readout" aria-live="polite" aria-atomic="true"></div> | |
| <aside id="feat-panel" hidden></aside> | |
| <div class="feat-case" id="feat-case" aria-label="What this window shows"></div> | |
| <figcaption> | |
| <span>Activations: <span class="num" id="feat-prov"></span></span> | |
| </figcaption> | |
| <noscript><p class="feat-fallback">Enable JavaScript to read the features base by base. | |
| <a href="https://www.biorxiv.org/content/10.64898/2026.09.04.749355v2">Read the interpretability section in the report ↗</a></p></noscript> | |
| </figure> | |
| <aside id="feat-controls" class="feat-dock" aria-labelledby="controls-title"> | |
| <p class="dock-title" id="controls-title">Colouring and lanes</p> | |
| <div class="dock-body"> | |
| <p class="label" id="mode-label">Colouring</p> | |
| <div class="seg" id="feat-mode" role="group" aria-labelledby="mode-label"> | |
| <button type="button" data-mode="selected" aria-pressed="true">Top of the shown lanes</button> | |
| <button type="button" data-mode="global" aria-pressed="false">Top of all 8,192</button> | |
| </div> | |
| <p class="label" id="list-label">Feature lanes</p> | |
| <div class="feat-list" id="feat-list" role="group" aria-labelledby="list-label"></div> | |
| </div> | |
| </aside> | |
| </div> | |
| <h2 id="read">How to read the tracks</h2> | |
| <ul> | |
| <li><strong>Top strip.</strong> Every base takes the colour of the feature that fires | |
| hardest on it, and stays grey where nothing fires. Base letters appear once the view is | |
| narrow enough to hold them.</li> | |
| <li><strong>Annotation rows.</strong> Region bands, single-base site ticks and gene | |
| extents, one set per strand, in the paler register. They come from the species' released | |
| annotation, never from the model.</li> | |
| <li><strong>Feature lanes.</strong> One lane per shown feature. A stem's height is the | |
| activation at that base as a fraction of that feature's peak in this window, so lanes are | |
| scaled independently; the gutter carries each lane's maximum in view. A blank base is a | |
| zero — the feature did not fire.</li> | |
| <li><strong>Dashed outline.</strong> The anchor: the position the window sampler selected | |
| on. It marks where we looked, not an annotation of that base.</li> | |
| <li><strong>Readout.</strong> Under the plot: the coordinate, the base, the annotation on | |
| both strands, every shown feature firing there, and the strongest feature of all 8,192.</li> | |
| </ul> | |
| <div class="ann-legend" aria-label="Annotation legend"> | |
| <span><i style="background:var(--ann-cds)"></i>CDS</span> | |
| <span><i style="background:var(--ann-utr5)"></i>5′ UTR</span> | |
| <span><i style="background:var(--ann-utr3)"></i>3′ UTR</span> | |
| <span><i style="background:var(--ann-intron)"></i>intron</span> | |
| <span><i style="background:var(--ann-ncrna)"></i>non-coding</span> | |
| <span><i style="background:var(--ann-intergenic)"></i>intergenic</span> | |
| <span><i class="site" style="background:var(--ann-tss)"></i>TSS</span> | |
| <span><i class="site" style="background:var(--ann-tis)"></i>start codon</span> | |
| <span><i class="site" style="background:var(--ann-donor)"></i>donor</span> | |
| <span><i class="site" style="background:var(--ann-acceptor)"></i>acceptor</span> | |
| <span><i class="site" style="background:var(--ann-stop)"></i>stop</span> | |
| <span><i class="site" style="background:var(--ann-tts)"></i>TTS</span> | |
| </div> | |
| <h2 id="named">The twelve named features</h2> | |
| <p>The dictionary carries no names: nothing upstream assigns a feature a meaning. These | |
| twelve have one because the report measures what they detect. The two splice features | |
| and the intron feature are the best detector of their annotation class in every one of the | |
| four annotated genomes, at MCC 0.821 to 0.937 for the splice classes and 0.650 to 0.741 | |
| for intron, so the naming does not rest on one genome. f4131 and f2634 are also the pair a | |
| two-level decision tree selects in all five chromosome folds, sorting a candidate | |
| <code>GT</code> into decoy, intermediate-usage or constitutive donor at a balanced accuracy | |
| of 0.841 [0.827, 0.855].</p> | |
| <p class="note">Two features the report names are deliberately absent here. Asked for a | |
| transcription start site or a termination site, the best feature in the dictionary reaches | |
| MCC 0.035 and 0.029 — consistent with neither site having a sharp sequence consensus in | |
| plants. They are a real negative result, and a lane for either would mark nothing, so neither | |
| is offered.</p> | |
| <noscript><p class="small">The feature tables are built from <code>data/sae/index.json</code> and require JavaScript.</p></noscript> | |
| <div class="tablewrap"><table id="named-table"><caption>Evidence as published. Bold marks the three features that are the best detector of their annotation class in every one of the four annotated genomes.</caption></table></div> | |
| <h2 id="sources">Annotation sources</h2> | |
| <p>The annotation register is read from each species' released annotation, and the browser | |
| names the assembly of every window it draws.</p> | |
| <div id="sources-body"></div> | |
| <p class="note">The report's interpretability section carries the methodology, the full | |
| figure and the annotation history of the locus: | |
| <a href="https://www.biorxiv.org/content/10.64898/2026.09.04.749355v2">Botanic1 technical report ↗</a></p> | |
| </main> | |
| <footer class="site-footer"> | |
| <p>Living Models, Paris. Botanic1 is released for research use under the Living Models research licence.</p> | |
| <p>Activations are produced by the sparse autoencoder of the report's interpretability section, read out over annotated windows through the interpretability engine.</p> | |
| </footer> | |
| </div> | |
| <div class="tip" id="tip" role="tooltip"></div> | |
| <script src="assets/hero.js"></script> | |
| <script src="assets/sae-browser.js?v=20260908-case2" defer></script> | |
| <script src="assets/sae-tables.js?v=20260908-case" defer></script> | |
| </body> | |
| </html> | |