Sequencing Technologies
SeqDesk ships an instrument catalogue — platforms, sequencer models, flow cells, library kits, control and basecalling software, and Oxford Nanopore barcode metadata — so that a researcher filling in a sequencing order picks from real, compatible hardware instead of typing free text.
The catalogue exists to be trimmed. Out of the box it describes far more equipment than any single facility owns, and its main job in your instance is to show researchers only what you can actually run.
The screen is Settings → Sequencers in the sidebar; the page itself is
headed Sequencing Technologies (/admin/sequencing-tech).
The hierarchy
Platform e.g. Illumina NovaSeq, Oxford Nanopore MinION
└── Device e.g. MinION Mk1D, PromethION 2 Solo
├── Flow cells e.g. FLO-MIN114, FLO-PRO114M
├── Kits ligation, rapid, barcoding, PCR, cDNA, direct-RNA, amplicon
└── Software control, basecalling, analysisA device declares which flow cells, kits and software it is compatible with by listing their ids. Those lists are what drives the cascading selector in the sequencing order form: choosing a device narrows the flow cell list, and choosing a kit narrows further.
The whole catalogue is stored as one JSON document in the site settings under
sequencingTechConfig. It is instance-wide; there is no per-department or
per-order variant.
The three tabs
Platforms
Platform-level entries: specs, pros and cons, best-use notes, availability, and display order. This is the coarsest control — turning a platform off removes it from the researcher-facing selector entirely.
Devices
Individual sequencer models. Each device belongs to a platform via platformId,
carries its own specs and product overview, an optional image, and the three
compatibility lists (compatibleFlowCells, compatibleKits,
compatibleSoftware).
Accessories
Three nested sub-tabs:
- Flow Cells — categorised as
standard,RNA,flongleorother, with chemistry, pore count and maximum output - Kits — categorised by preparation type, with input type and multiplexing
capability; Oxford Nanopore kits additionally carry barcoding metadata
(
barcoding,kitKind,doradoKitName) synced from the registry and shown read-only - Software — control software, basecallers and analysis tools with version and download URL
Enabling and disabling
Every platform, device, flow cell, kit and software entry has an available
flag.
| State | Effect |
|---|---|
| Available | Offered in the researcher-facing selector |
| Not available | Hidden from every user-facing form |
The public endpoint GET /api/sequencing-tech returns only available
entries, excludes anything flagged comingSoon, and sorts by each item’s
order. Disabling is therefore a genuine filter, not just a UI hint.
Disabling never affects existing data. A sequencing order that already recorded a retired instrument keeps that value; only new selections are constrained.
Deleting an entry is also possible, and the confirmation dialog says so plainly: “You can restore it by resetting to defaults.” Prefer disabling — a reset is a much bigger hammer, as the next section explains.
Sync versus reset
The two catalogue-level actions look similar and behave very differently.
| Action | What it does | Local customisations |
|---|---|---|
| Check for Updates | Fetches the registry, and merges when the remote version is newer or when items are missing locally | Preserved |
| Reset to Defaults | Replaces the entire stored catalogue with what the registry returns | Lost |
Check for Updates
The merge rules are conservative:
- An item whose
idis not present locally is added. - An item that exists locally with local overrides enabled keeps its local values and only gains fields it did not have.
- An item that exists locally without local overrides takes the remote
content, but its local
availableflag is preserved — so an update never silently re-enables an instrument you turned off. - Items that exist only locally are kept.
The sync also triggers when the remote adds barcode schemes, barcode sets, or
barcoding metadata your kits are missing, even without a version bump. After a
successful sync the stored version, lastSyncedAt and syncUrl are updated,
and the page shows Last synced.
Reset to Defaults
Reset fetches the remote registry, it does not restore a local
snapshot. The confirmation dialog is explicit: “This will reset
all technologies, devices, and accessories to the default configuration. Your
customizations will be lost.” That includes every
available flag you set. On a host with no route to the registry,
reset fails rather than falling back. (The environment variable
SEQDESK_USE_LOCAL_TECH_DEFAULTS=true switches reset to the
bundled defaults.json instead, which is the offline path.)
Practically: use Check for Updates routinely, and treat Reset to Defaults as a recovery action for a catalogue you have broken.
What a researcher sees
When a sequencing-tech field is on the sequencing order form (see
Form Builders), the researcher steps
through:
Platform
Only available platforms are listed.
Device
Filtered to that platform. Skipped automatically when only one device qualifies.
Flow cell
Filtered by the device’s compatibleFlowCells.
Kit
Filtered by the device’s compatibleKits, grouped by category.
Software
Shown for information; compatible entries only.
If a step offers nothing, the usual cause is a compatibility list referring to ids that are disabled or absent — see Troubleshooting.
Running your own registry
Facilities with instruments the public catalogue does not cover can point
SeqDesk at their own endpoint by changing Registry Sync URL on this page and
saving. The default is https://seqdesk.org/api/registry/sequencing-tech, and
it can also be overridden instance-wide with SEQDESK_API_URL.
SeqDesk issues a plain GET with Accept: application/json and no
authentication headers, so expose the endpoint on a reachable internal URL or a
public read-only one. A URL that is not valid http/https is rejected with
syncUrl must be a valid http(s) URL.
The response may be either the config object directly or wrapped:
{ "config": { "version": 1, "technologies": [] } }{ "version": 1, "technologies": [] }Minimum contract
version— an integer used for update detectiontechnologies— an array of platform definitions
A useful registry also supplies:
devices— sequencer models linked byplatformIdflowCells— referenced by each device’scompatibleFlowCellskits— referenced bycompatibleKitssoftware— referenced bycompatibleSoftwarebarcodeSchemesandbarcodeSets— for Oxford Nanopore kit/barcode workflows
Any of these that are missing or not arrays are normalised to empty lists, so a partial registry is accepted but will produce empty selector steps.
Example response
{
"version": 3,
"technologies": [
{
"id": "illumina-miseq",
"name": "MiSeq",
"manufacturer": "Illumina",
"shortDescription": "Small-scale benchtop sequencing platform",
"specs": [{ "label": "Read length", "value": "2x300", "unit": "bp" }],
"pros": [{ "text": "Good for small amplicon runs" }],
"cons": [{ "text": "Lower throughput than NextSeq or NovaSeq" }],
"bestFor": ["Amplicon sequencing", "Small microbial genomes"],
"available": true,
"order": 10
}
],
"devices": [
{
"id": "miseq-v3",
"platformId": "illumina-miseq",
"name": "MiSeq",
"manufacturer": "Illumina",
"productOverview": "Compact Illumina sequencer for low-throughput runs",
"shortDescription": "Small-scale benchtop sequencer",
"specs": [{ "label": "Output", "value": "15", "unit": "Gb" }],
"compatibleFlowCells": ["miseq-flow-cell-v3"],
"compatibleKits": ["miseq-reagent-kit-v3"],
"compatibleSoftware": ["illumina-local-run-manager"],
"available": true,
"order": 10
}
],
"flowCells": [
{
"id": "miseq-flow-cell-v3",
"name": "MiSeq Flow Cell v3",
"sku": "MS-102-3003",
"category": "standard",
"available": true,
"order": 10
}
],
"kits": [
{
"id": "miseq-reagent-kit-v3",
"name": "MiSeq Reagent Kit v3",
"sku": "MS-102-3003",
"category": "ligation",
"inputType": "dna",
"available": true,
"order": 10
}
],
"software": [
{
"id": "illumina-local-run-manager",
"name": "Local Run Manager",
"category": "control",
"available": true,
"order": 10
}
]
}Operational notes
- Ids are the merge key. Keep them immutable once clients have synced; a changed id looks like a brand-new item and the old one is kept alongside it.
- Bump
versionwhenever you publish upstream changes, otherwise Check for Updates finds nothing to do unless items are outright missing. - If your registry is unreachable, both Check for Updates and Reset to Defaults fail. Nothing else breaks — the stored catalogue keeps serving.
- Researchers never talk to your registry. They read the synced copy through the local SeqDesk API.
Reading the catalogue programmatically
GET /api/sequencing-tech on your SeqDesk instance is public — no
authentication — and returns the filtered, ordered catalogue: technologies,
devices, flowCells, kits, software, barcodeSchemes and barcodeSets.
It is served with Cache-Control: no-store. See
Sequencing Technology API.
/api/registry and /api/registry/sequencing-tech are
endpoints of seqdesk.org, not of your SeqDesk instance. They
are the upstream registry SeqDesk syncs from — see
Pipeline Registry API. Your
instance exposes only /api/sequencing-tech.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| A step in the researcher selector is empty | The device’s compatibility list points at ids that are disabled or missing | Re-enable them on the Accessories tab, or correct the device’s lists |
| A device you own is not offered | Its platform is disabled, or the device itself is | Enable both — the platform gate wins |
| Check for Updates reports nothing new | The remote version is not higher and no items are missing | Bump version in your registry |
syncUrl must be a valid http(s) URL | A malformed URL was entered | Use a full http:// or https:// URL |
| Sync or reset fails outright | The registry is unreachable from the app host | Check outbound access; the stored catalogue keeps working meanwhile |
| Reset to Defaults wiped your disabled instruments | Reset replaces everything, unlike sync | Re-disable them; use Check for Updates for routine syncing |
| A disabled item still appears on an old sequencing order | Existing records keep their stored values | Expected — availability only constrains new selections |
| Duplicated-looking entries after a sync | An upstream id changed | Restore the original id upstream, or delete the stale local entry |
See also
- Form Builders — putting the
sequencing-techandbarcodefields on a form - Sequencing Technology API — the public endpoint’s response shape
- Sequencing Orders & Samples — where the selector appears