Skip to Content
Sequencing Orders & SamplesSamples & Metadata

Samples & Metadata

A Sample is one physical tube and everything SeqDesk knows about it. It is the unit that reads attach to, that pipelines run on, and that ENA registers as a BioSample. Every sample belongs to exactly one sequencing order, and optionally to one study.

What is stored where

The Sample record mixes four kinds of data, and knowing which is which explains most editing rules.

Real database columns

ColumnTypeSet by
sampleIdTextGenerated as S-{epoch-ms}-{5 chars}, editable, unique within the order
sampleAliasTextUser; optional short name
sampleTitleTextUser; required by the default form, used for ENA
sampleDescriptionTextOptional longer description
scientificNameTextOrganism autocomplete
taxIdTextOrganism autocomplete, or typed in by hand
sampleAccessionNumberTextWritten by ENA submission
biosampleNumberTextWritten by ENA submission
facilityStatusTextFacility; defaults to WAITING
preferredAssemblyIdRelationChosen after assembly pipelines run

Form-builder fields map onto these columns when their name matches — sample_alias, sample_title, sample_description, scientific_name, tax_id and the camelCase equivalents all resolve to the column of the same meaning, and an organism field writes both taxId and scientificName. Anything else is stored as JSON.

JSON blobs

ColumnContainsWritten by
checklistDataMIxS checklist answers, keyed by field nameOrder wizard and study metadata surfaces
checklistUnitsUnits for numeric MIxS fieldsOnly the order wizard and the order’s sample table
customFieldsEvery non-MIxS custom field, including _barcodeOrder wizard and sample table

Editing MIxS metadata from a study writes checklistData only. It never touches checklistUnits, so units captured during ordering survive, but units cannot be entered or corrected from the study side.

Default per-sample columns

On a fresh installation the sample table has three researcher-visible columns:

ColumnRequiredPurpose
OrganismYesTaxonomy lookup — see Organism & Taxonomy
Sample TitleYesShort descriptive title. Required for ENA submission
Sample AliasNoUnique short name; can be auto-generated

and two facility-only columns that researchers never see:

ColumnOptions
Sample QC ResultPending, Passed, Failed, Repeat Requested
Sample NotesFree text

The admin-only pair is special in one important way: facility admins can edit them after the order leaves DRAFT, through the facility-fields mode of the sample endpoint. Everything else in the table is frozen the moment the order is submitted.

Your admin can add further per-sample columns — volume, concentration, barcodes, body site, storage location — through the Form Builder. The Oxford Nanopore run-plan preset, for example, adds _barcode, internal_sample_code, material_body_site, sampling_date and three admin-only storage fields.

Facility processing status

Each sample carries a facilityStatus, tracked with a facilityStatusUpdatedAt timestamp. It is independent of the order’s own lifecycle: it describes where the tube is in the lab, not where the paperwork is.

ValueLabelMeaning
WAITINGWaitingReceived, not yet started (the default)
PROCESSINGProcessingIn sample prep or on the sequencer
SEQUENCEDSequencedSequencing finished
QC_REVIEWQC ReviewUndergoing quality review
READYReadyCleared for delivery or analysis
ISSUEIssueA problem was flagged

Facility admins set these from the Sequencing Data page, but two transitions happen on their own:

  • Assigning reads to a sample moves it from WAITING or PROCESSING to SEQUENCED. A sample already in QC_REVIEW, READY or ISSUE is left alone.
  • Clearing a sample’s reads moves it from SEQUENCED back to WAITING. No other status is reverted.

Any other value is rejected with Invalid status, and an unknown sample identifier with Sample not found.

MIxS metadata

MIxS — Minimum Information about any Sequence — is the Genomic Standards Consortium’s family of checklists describing what contextual metadata a sequence needs to be interpretable. ENA implements them as numbered checklists (ERC0000nn), and SeqDesk ships the ENA catalog offline so a fresh install works without network access.

Answers are stored per sample in checklistData. The checklist itself is chosen once — on the order (stored as _mixsChecklist in the order’s customFields) or on the study (stored as Study.checklistType).

The shipped catalog

Seventeen checklists live in data/field-templates/mixs-full/. They are exposed by GET /api/mixs-checklists.

AccessionNameFieldsMandatory
ERC000011ENA default sample checklist302
ERC000012GSC MIxS air779
ERC000013GSC MIxS host associated898
ERC000014GSC MIxS human associated998
ERC000015GSC MIxS human gut828
ERC000016GSC MIxS human oral818
ERC000017GSC MIxS human skin828
ERC000018GSC MIxS human vaginal898
ERC000019GSC MIxS microbial mat biolfilm11310
ERC000020GSC MIxS plant associated1028
ERC000021GSC MIxS sediment10710
ERC000022GSC MIxS soil10610
ERC000023GSC MIxS wastewater sludge888
ERC000024GSC MIxS water1309
ERC000025GSC MIxS miscellaneous natural or artificial environment948
ERC000047GSC MIMAGS5718
ERC000050ENA binned metagenome5214

Note the shape of the problem: GSC MIxS water asks for 130 fields, nine of them mandatory. You are not expected to fill all 130. The order wizard’s MIxS step and the study wizard’s Metadata Fields panel both let you pick which optional fields to collect on top of the mandatory ones — do that deliberately, because every field you enable becomes a column in the sample table.

The catalog can be refreshed from a remote registry; the active version is recorded so that studies authored against an older definition keep resolving their original fields. See Study Metadata & MIxS.

Editing samples

In the table

The sample table is a spreadsheet-style grid:

  • Keyboard navigation — arrow keys, Tab and Enter move between cells.
  • Inline editing — click a cell and type.
  • Organism autocomplete — type two or more characters to search.
  • Add rows at the bottom; delete rows while the order is DRAFT.
  • Undo reverts unsaved changes.

Deleting a row deletes the Sample record and everything cascading from it (reads, run-plan assignments, artifacts). It is only possible in DRAFT.

Quick Actions

ActionWhat it doesWhen not to use it
Auto-generate sample aliasesRewrites every alias to Sample_1, Sample_2, … in row orderAfter you have entered meaningful aliases — it overwrites them without asking
Copy organism to all samplesCopies taxId and scientificName from row 1 to every rowWhen the order mixes organisms

Excel round-trip

The toolbar’s Excel Template button downloads sample_template_<order name>.xlsx with one column per per-sample field, pre-filled with the current rows. Upload Excel parses your edited file and opens the Import Excel Data dialog, which shows the parsed row count, any unmapped columns, and per-row errors and warnings before applying anything.

The import replaces the table. Both dialog buttons — Import Valid Only and Import — swap the whole sample table for the parsed rows. Always start from a freshly downloaded template so existing rows are carried through.

A separate Export CSV button produces samples_<order name>.csv containing system fields, checklist fields and custom fields. It is a one-way snapshot and cannot be re-imported.

Worked example

A wastewater surveillance order with 24 samples:

  1. In the wizard, set Number of Samples to 24; the table pre-fills with 24 blank rows.
  2. On the MIxS step choose GSC MIxS wastewater sludge (ERC000023) and enable geographic location (country and/or sea), collection date and environmental medium on top of the eight mandatory fields.
  3. Set the organism on row 1 to wastewater metagenome (527639), then use Copy organism to all samples.
  4. Download the Excel Template, paste in your sampling dates, plant names and barcodes, and Upload Excel.
  5. Review the import dialog. If a row reports an error, fix it in the spreadsheet and upload again rather than importing partially.
  6. Submit. From here the sample table is read-only and the facility takes over.

What a sample connects to

RelationCardinalityNotes
orderExactly one, requiredNever reassigned
studyAt most one, optionalRemove from the current study before moving it
readsManyOnly one is “active”; see read data classes
sequencingRunSamplesManyOne barcode assignment per sequencing run
assemblies / binsManyProduced by pipelines; one assembly can be marked preferred
sequencingArtifactsManyQC reports, demux stats, delivery reports
streamIngestedFilesManyFiles ingested live from a MinKNOW stream

Troubleshooting

SymptomCauseFix
Cannot modify samples after order submissionOrder is not DRAFTOnly admin-only per-sample fields remain editable
Facility sample edits can only update existing samplesA facility-fields save included a new or deleted rowFacility mode updates existing samples only
Sample not found on this orderThe sample id does not belong to this orderReload the page; the sample may have been deleted
MIxS columns are missing from the tableNo checklist selected, or the MIxS module is disabledPick a checklist on the order’s MIxS step, or ask an admin to enable the module
A field you filled in vanishedIt was a per-sample field that the admin later hidHidden fields are not deleted; re-enable it in the form builder to see the value again

Next