Skip to Content
AdministrationSequencing Technologies

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, analysis

A 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, flongle or other, 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.

StateEffect
AvailableOffered in the researcher-facing selector
Not availableHidden 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.

ActionWhat it doesLocal customisations
Check for UpdatesFetches the registry, and merges when the remote version is newer or when items are missing locallyPreserved
Reset to DefaultsReplaces the entire stored catalogue with what the registry returnsLost

Check for Updates

The merge rules are conservative:

  • An item whose id is 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 available flag 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 detection
  • technologies — an array of platform definitions

A useful registry also supplies:

  • devices — sequencer models linked by platformId
  • flowCells — referenced by each device’s compatibleFlowCells
  • kits — referenced by compatibleKits
  • software — referenced by compatibleSoftware
  • barcodeSchemes and barcodeSets — 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 version whenever 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

SymptomCauseFix
A step in the researcher selector is emptyThe device’s compatibility list points at ids that are disabled or missingRe-enable them on the Accessories tab, or correct the device’s lists
A device you own is not offeredIts platform is disabled, or the device itself isEnable both — the platform gate wins
Check for Updates reports nothing newThe remote version is not higher and no items are missingBump version in your registry
syncUrl must be a valid http(s) URLA malformed URL was enteredUse a full http:// or https:// URL
Sync or reset fails outrightThe registry is unreachable from the app hostCheck outbound access; the stored catalogue keeps working meanwhile
Reset to Defaults wiped your disabled instrumentsReset replaces everything, unlike syncRe-disable them; use Check for Updates for routine syncing
A disabled item still appears on an old sequencing orderExisting records keep their stored valuesExpected — availability only constrains new selections
Duplicated-looking entries after a syncAn upstream id changedRestore the original id upstream, or delete the stale local entry

See also