shadcn-grade components for genomics
The awkward domain surfaces generic UI kits skip: virtualized sequence and alignment viewers, 3D structure, PAE matrices, phylogenies, genome tracks, and variant cells — all wired to one linked-selection substrate, so a residue is the same entity across every view.
The crown jewel: linked selection
coordinate-link →sequence-viewer + msa-viewer, one LinkedSelectionProvider
Hover or drag-select in either view — the sequence and the alignment share one reference-residue coordinate, so the highlight follows across both. The jump buttons broadcast a focus request that scrolls each viewer to the residue.
Components
The shared selection substrate.
Virtualized DNA/RNA/protein, to megabase scale.
Two-axis virtualized multiple alignment.
3Dmol.js wrapper with a linked confidence strip.
Predicted aligned error / contact map.
Rectangular phylogram from Newick.
Linear coordinate browser (IGV-in-a-box).
Source-backed variant cells.
Information-content logo over an alignment.
Pfam-style protein architecture.
IGV-style alignment pileup.
Chromosome overview + navigation.
Pairwise comparison by shared k-mers.
Genome-wide association results.
Differential-expression volcano.
Genes × samples, row z-scored.
Format-aware preview cards.
Virtualized, sortable, filterable variant grid.
Align and overlay structures, colored by RMSD.
φ/ψ dihedral scatter for structure validation.
Circular DNA map for plasmids and small genomes.
Sanger sequencing trace (.ab1-style) viewer.
cBioPortal alteration matrix.
Query/subject alignment with midline.
UMAP / t-SNE cell embedding.
Single-cell marker dot plot.
Distributions across groups.
Genome-wide copy-number profile.
RNA-seq coverage + junction arcs.
1D protein SS ribbon (DSSP-style).
2D small-molecule depiction from SMILES.
Molecular surface colored by residue property.
LigPlot-style 2D ligand–residue contacts.
Ribbon comparison between two sequences.
Linear DNA map of restriction sites.
gnomAD-style population frequency panel.
Whole-genome chromosome grid.
The readable half of every colored viewer.
Loading, error, and empty states for async viewers.
Margins derived from the data, not hand-tuned.
Ticks from the scale that placed the data.
Design tokens a draw callback can actually read.
Hover without repainting a million points.
What's under the cursor, answered once.
Pan and zoom, shared across an axis.
Click, extend, brush, clear — one state machine.
A viewer declares what it exports; the frame renders it.
The cartesian archetype, assembled.
The rows × columns archetype.
Lanes stacked over one shared window.
The character-cell axis.
Node-link diagrams: transform, hit-test, labels.
The 3Dmol lifecycle, owned once.
Fetch what the window shows, and nothing twice.
The encoding picker, bound to its own scale.
Figure and data out, in the formats the field uses.
Coordinates or gene symbols, resolved.
Kaplan–Meier with numbers at risk and a log-rank test.
Observed vs expected p-values, with λGC.
Set intersections past the point Venn diagrams break.
The three-panel GSEA figure.
Family structure in standard clinical notation.
Chromatin contact map with TADs and loops.
Interaction, regulatory, and pathway networks.
Six-frame translation and ORFs under a DNA sequence.
Expression heatmap with row and column dendrograms.
96- and 384-well plates, as a first-class view.
Per-cycle read quality, the FastQC panel.
Gene model on a genomic axis, linked to protein residues.
Pointer-following detail panel for canvas viewers.
Dependency-free single-value slider.
Compact dependency-free dropdown.
Format-sniffing intake for local genomics files.
Workflow blocks
AlphaFold / Chai result surface.
Variant triageDisease-variant structural triage.
Homology searchDIAMOND / BLAST / MMseqs2 hits.
Binding pocketPocket / binding-site review.
Function annotationMap function onto sequence + evolution.
Genome browserStreaming browser, whole genome.
GWAS → genesFrom association peak to locus.
Differential expressionVolcano and heatmap, linked.