Browser-based genome structural typing around ribosomal operons
Socrux is a client-side reimplementation of socru that runs entirely in the browser using WebAssembly. It assigns a Genome Structure (GS) identifier representing the order and orientation of DNA fragments between ribosomal RNA operons in complete bacterial assemblies.
Live app: https://socrux.vercel.app
Bacterial chromosomes contain multiple copies of ribosomal RNA operons (16S–23S–5S). These operons divide the chromosome into numbered fragments. The order and orientation of these fragments — which can rearrange through large-scale inversions — defines the genome structure. Socrux:
- Detects rRNA operons by aligning reference 16S/23S/5S sequences against the input genome using minimap2
- Extracts the inter-operon DNA fragments
- Classifies each fragment against a species-specific reference database
- Assigns a GS profile (e.g.
GS1.0) by matching the fragment order against known profiles - Identifies the origin of replication (oriC, dnaA gene) and terminus (dif site) fragments
Results include a circular genome map, fragment table with identity scores, and TSV export.
| Species | Fragments | Genome size |
|---|---|---|
| Escherichia coli | 7 | ~5.0 Mb |
| Salmonella enterica | 7 | ~4.8 Mb |
| Klebsiella pneumoniae | 8 | ~5.5 Mb |
| Pseudomonas aeruginosa | 4 | ~6.3 Mb |
| Staphylococcus aureus | 5 | ~2.8 Mb |
| Acinetobacter baumannii | 6 | ~4.0 Mb |
| Enterococcus faecium | 6 | ~2.8 Mb |
| Enterococcus faecalis | 4 | ~3.2 Mb |
| Streptococcus pneumoniae | 4 | ~2.1 Mb |
| Mycobacterium tuberculosis | 1 | ~4.4 Mb |
All computation runs in your browser using WebAssembly. No sequence data is uploaded to any server.
A complete bacterial genome assembly in FASTA format (single or multi-contig; the largest contig is used).
- Upload a FASTA file (drag-and-drop or click)
- Select the matching species
- Click Run Analysis
- View results and export as TSV
npm install
npm run dev # start dev server at http://localhost:5173
npm run test # run unit tests
npm run build # production build
npm run check # tests + lint + buildRequires Node.js 20+.
| socru (CLI) | socrux (browser) | |
|---|---|---|
| rRNA detection | Barrnap (HMMer) | minimap2 2.22 (WASM) |
| Fragment classification | BLAST | minimap2 2.22 (WASM) |
| Runtime | Python + Perl | TypeScript + WebAssembly |
| Data privacy | Server/local | Fully client-side |
Fragment reference sequences and GS profiles are sourced from the socru database. rRNA reference sequences are extracted from E. coli K-12 MG1655 (U00096.3); dnaA and dif marker sequences are from the socru marker database.
If you use socrux, please cite the original socru paper:
Page AJ, Ainsworth EV, Langridge GC (2020). socru: typing of genome-level order and orientation around ribosomal operons in bacteria. Microbial Genomics, 6(7). https://doi.org/10.1099/mgen.0.000396
Andrew J. Page
GPL-3.0-only