Skip to Content
Core ConceptsBest Practices

Best Practices

Most SeqDesk rework comes from a handful of avoidable decisions: submitting an order before the sample table is right, splitting samples across studies the wrong way, or turning researchers loose before the departments and the form exist. This page collects the habits that prevent that.

The single highest-value rule on this page: an order’s samples are frozen the moment you submit it. Everything in the researcher section flows from that.

Before you invite anyone

Set up departments first

Researchers pick a department during registration, and the list they see is the list you have configured. Register users into an empty department list and you will be reassigning them by hand afterwards. Create departments at Users → Departments (/admin/departments) before you share the URL.

Departments matter beyond tidiness: Settings → Accounts → Access & Sharing has a department sharing toggle that lets researchers in the same department see each other’s sequencing orders. That is the only mechanism SeqDesk has for widening visibility beyond a single owner, and it keys off the department you assigned at registration.

Shape the order form before real orders exist

The default order form works out of the box, but every field you remove later leaves orphaned data in Order.customFields and Sample.customFields on orders that already used it. Do the surgery at Settings → Sequencing Order Form (/admin/form-builder) while the instance is empty:

  • Delete fields your facility never fills in.
  • Add the ones you actually need — cost centres, grant numbers, sample volumes.
  • Mark facility-only fields admin-only so they appear in a separate Facility Fields step that researchers never see.
  • Decide which modules you want on (Settings → Modules) before configuring the form, since modules add and remove whole field groups.

Set the data storage path before the first sequencing run

The sidebar’s Infrastructure entry carries a warning badge until two things are configured: the Data storage path and the Pipeline run directory. The data path is what the file browser scans, so nothing can be attached to a sample until it is set. Pick a stable, predictable layout — for example /data/sequencing/<year>/<run-folder>/ — because the scanner walks a limited number of directory levels (scanDepth, default 2) and only matches configured extensions (default .fastq.gz, .fq.gz, .fastq, .fq).

For researchers

Finish the sample table before you submit

While the order is DRAFT you can add, edit, delete and bulk-import samples. After you submit, the API rejects structural changes with Cannot modify samples after order submission, and you cannot delete the order either (Cannot delete order after submission). Treat Review as the point of no return, and use the Excel round trip if the table is large: download Excel Template, fill it in offline, then Upload Excel.

Give the order a name that means something in six months

The number is generated (ORD-20260415-0007) and tells you nothing. The Sequencing Order Name field is what appears in every list, including your facility admin’s. “Soil metagenome — Field Trial B, spring 2026” beats “Batch 3”. It is optional out of the box, so make a habit of filling it in — or mark it required in the order form builder so nobody has to remember.

Fill in taxonomy at the same time as the sample

Every sample needs a valid NCBI taxonomy ID for ENA submission, and chasing it later means editing samples you can no longer edit. Use the Organism autocomplete; searching by common or scientific name both work. For environmental samples use metagenome terms — “soil metagenome”, “gut metagenome”, “wastewater metagenome” — rather than the host species.

Understand what “Sample Alias” is and is not

Sample Alias is a free-text label for your own bookkeeping. SeqDesk does not enforce uniqueness on it, does not generate one if you leave it blank, and — the part that surprises people — does not send it to ENA. The alias SeqDesk submits is the internal sampleId, generated as S-<timestamp>-<random>. So use the alias for a scheme that helps you (TRIALB-SITE3-001), and do not plan an ENA naming convention around it.

Mark samples as sent, then wait

After submitting, the order page shows a three-step Sequencing Order Process panel. Step 2 has a Mark sent button — press it once the physical samples are shipped. It writes a SAMPLES_SENT note that the facility can see, and it only works after submission. Your facility’s shipping instructions appear in the same panel once the order is submitted.

Expect your data to appear only when the facility publishes it

Sequencing files do not become visible or downloadable the moment they are attached. A facility admin has to press Make downloadable to user on the order. Likewise, a pipeline run only becomes visible to you once an admin marks it Final. If you can see that an order is COMPLETED but no files, the facility has attached them and not yet published them — ask, do not assume it is broken.

For facility admins

Enable ENA test mode first, and keep it on until it works

SiteSettings.enaTestMode defaults to true, which points submissions at wwwdev.ebi.ac.uk. The test server accepts the same XML and issues throwaway accessions. Get one whole study through the test server — registration, samples, reads — before flipping to production, because a production registration cannot be taken back.

Classify reads honestly

Every read carries a dataClass: cleaned, raw or unknown. Only cleaned and isActive reads are ever delivered to the requesting researcher. If you ingest raw reads that still contain host sequence, mark them raw — the delivery gate will then refuse to hand them over, and the read-cleaning pipeline can produce a cleaned successor that supersedes them. A read left unknown is treated as protected, so a delivery that shows “nothing to publish” is usually an unclassified-reads problem, not a missing-files problem.

Publish deliberately, and use “Use as final” to curate

Two separate publish decisions exist and they are independent:

  • Make downloadable to user on the order publishes sequencing files.
  • Use as final on a completed pipeline run publishes that analysis.

Only one run can be final per pipeline per target, so marking a re-run as final quietly replaces the previous one in the researcher’s view. That is the intended way to correct a bad run — mark the good one final rather than deleting the bad one.

Watch a pipeline run for its first two minutes

Most pipeline failures are pre-flight: a missing input, an unset conda path, a process asking for more CPUs than the allocation has. Those surface within seconds in the run’s event feed and DAG view. Waiting for a wall-clock timeout to tell you the same thing costs hours. See Monitoring.

Keep the pipeline run directory off the same volume as your reads

Nextflow work directories grow fast and are disposable; sequencing reads are precious and are not. Configuring pipelineRunDir on separate storage means you can prune one without risking the other.

Metadata quality

Choose the MIxS checklist when you create the study, not later

The checklist determines which metadata fields exist, and SeqDesk pins the MIxS registry version onto the study at creation (Study.mixsVersion) so a later registry update never rewrites an existing study’s fields. Changing the checklist afterwards means re-entering metadata against a different field set.

Be consistent with units

MIxS fields carry a value and a unit, stored separately (Sample.checklistData and Sample.checklistUnits). Depth in metres in one sample and centimetres in another will pass SeqDesk and fail at ENA, or worse, pass ENA and be wrong in the public record. Agree a unit per field across the study.

Write a study description someone else could use

SeqDesk does not enforce a minimum length, but the study title and description go straight into the ENA PROJECT XML as <TITLE> and <DESCRIPTION> and become the permanent public-facing metadata for your data. Write them as if a stranger will read them, because one will.

Studies and analysis

One study per analysis context

A sample belongs to at most one study, so studies are a partition, not a tagging system. If you run MAG on soil samples and a separate analysis on water samples, that is two studies. Trying to make one study serve both means the samplesheet carries samples the workflow cannot handle, and the ENA submission mixes environments under one project.

Check read assignment before launching

Pipelines that declare requires.reads need every selected sample to have a linked FASTQ file. The launch UI reports how many of the required inputs are available; a run started with gaps either skips samples silently or fails at input preparation and never launches. Verify first — it is a ten-second check.

Review bin quality before you submit anything

After a MAG run, SeqDesk records CheckM completeness and contamination per bin and lets you nominate a preferred assembly per sample. It does not enforce a quality cutoff. The MIMAG “high-quality draft” convention is at least 90% completeness with under 5% contamination; use that as the guideline for what is worth putting in a public archive.