Up the wire
A finished metagenome doesn’t become public the moment you press submit. ENA’s archive isn’t a flat record — it’s a directed graph of five object types (Study, Sample, Experiment, Run, Analysis) plus a Submission control object, and a sample is only citable once every tier above it exists and has handed an accession back down. By hand you’d register each of those yourself, as XML or as a Webin-CLI manifest. SeqDesk’s submg path collapses all of it into a single per-sample YAML — where exactly two of your answers become named fields, your whole MIxS questionnaire rides up as sample attributes, and six accessions later climb back into four database rows.
The rest of this post zooms into that supported slice — a single metagenome with cleaned paired-end reads and an assembly. Even for the data SeqDesk does cover, ENA still wants the full object graph below.
The submission you would build by hand
A valid ENA submission is not a form — it is a directed graph of objects, each blocked on an accession the archive only mints once the tier above it exists. Scroll to build it; drag a node or zoom to explore.
The leading letter of each accession (E, D or S) marks the INSDC partner that took the record — E for ENA/EMBL-EBI, D for DDBJ, S for NCBI. Click any node for its exact format and the SeqDesk column it writes back to.
One YAML instead of six registrations
SeqDesk doesn’t ask you to assemble that graph yourself. Its XML registration path creates the Study and the Sample; then the submg pipeline — admin-triggered, one run per study or per chosen subset of samples — writes a single YAML document for each sample and hands it to submg submit. Colour that document by who actually supplies each line and the division of labour becomes hard to miss.
Dissect the YAML — who supplies each line
The real per-sample document SeqDesk hands to submg, coloured by who fills each line. Scroll to pour the colour down; the side ledger counts each class as it appears.
Counts are for this illustrative sample (one read set, with bins). The ADDITIONAL_SAMPLESHEET_FIELDS block is as long as your checklist — each ENA/GSC sample checklist offers 77–125 fields — so it is shown as N per checklist, not a fixed number. Every key, default and source line is read straight from submg-runner.ts.
So the answer to does it upload the MIxS questionnaire? is: literally yes. Inside NEW_SAMPLES, two answers are hoisted into named keys — collection date and geographic location (country and/or sea) — and every other checklist answer is passed through under ADDITIONAL_SAMPLESHEET_FIELDS, which ENA stores as the sample’s SAMPLE_ATTRIBUTEs. The rest of the file is scaffolding: the platform, the taxid, the library descriptors, defaults like INSERT_SIZE 300 and ASSEMBLY_SOFTWARE MEGAHIT, resolved file paths. And the accessions — the part that makes the work citable — aren’t in the file at all. Watch them arrive.
Up the wire — accessions mint back down
As each --submit flag fires, its tier lights and ENA mints an accession back into a SeqDesk database row. Scroll to send the sample up.
Registered first by SeqDesk's XML path. submg refuses to run until the study has a PRJ accession.
The sample lands two accessions at once. Writing the SAMEA BioSample cross-reference back is unique to the submg path — the XML path stores only the ERS.
Records the library + instrument and joins the sample to its run.
Carries the FASTQ files up through Webin-CLI.
Webin-CLI returns an ERZ tracking id, which SeqDesk stores in assemblyAccession. ENA issues the citable GCA later, after processing — SeqDesk does not mint or store it.
Optional. Each bin is its own derived sample + analysis; a sample with no bins is a warning, not a failure.
Accession values shown are format exemplars matching ENA’s documented regex — not real archived records. The citable GCA is issued later by ENA after processing and is not minted or stored by SeqDesk; SeqDesk records only the ERZ tracking id in Assembly.assemblyAccession.
Six accessions for one sample, landing in four SeqDesk rows. Only three are for citing — the Study (PRJEB), the Sample’s BioSample (SAMEA), and the eventual assembly (GCA); ENA lists the rest as tracking accessions, not among the citable ones. But none of them get minted at all until the sample clears SeqDesk’s pre-flight.
The gates before the wire
Nothing submits until the sample clears every hard-fail gate in prepareSubmgRun. Two of them are the MIxS fields from the YAML above.
The last two gates — an empty collection date or geographic location — are the same two gold fields from the YAML we dissected. The questionnaire was never paperwork; it is the boarding pass for the wire. All gate text is transcribed from submg-runner.ts.
Data & method. Computed at build time from SeqDesk’s submg pipeline (src/lib/pipelines/submg/submg-runner.ts) and ENA’s accession documentation. The YAML structure, defaults, write-back fields and pre-flight gates are transcribed from that source with line references; the accession strings shown are format exemplars matching ENA’s documented regex, not real archived records. The ADDITIONAL_SAMPLESHEET_FIELDS passthrough is variable per checklist (shown as N), and the per-class line counts are for the single illustrative sample dissected above. submg is the open-source tool by Tubbesing et al. (BioData Mining, 2025).