Skip to Content
ENA SubmissionTroubleshooting ENA

Troubleshooting ENA

Errors here come from three different layers, and knowing which layer produced a message tells you where to fix it.

LayerWhere you see itNothing was sent to ENA?
SeqDesk pre-checksA red banner on the study page or dashboard, HTTP 400Correct — nothing was sent
submg validationPipeline run issues, before the run startsCorrect — nothing was sent
ENA’s own responseThe receipt XML inside the submission’s responseSomething was sent and rejected

Work through them in that order. A SeqDesk pre-check failure is always cheaper to fix than an ENA rejection.

SeqDesk registration errors

These come from POST /api/admin/submissions and appear verbatim in the UI. None of them results in a call to ENA.

MessageCauseFix
ENA credentials not configured. Please configure your Webin credentials in Admin > Data Upload > ENA Configuration.No Webin username or password savedSet the credentials and press Test connection
Study not foundThe study id no longer existsReload the study list; the study may have been deleted
Study already registered with ENA (PRJEB…)The study is already flagged submitted with a production accessionThis is the terminal state. Further changes go through ENA’s Webin portal, not SeqDesk
Study title is required for ENA registrationEmpty or whitespace-only titleEdit the study details
Study description is required for ENA registrationEmpty or whitespace-only descriptionEdit the study details
Study must have at least one sample for ENA registrationNo samples linked to the studyLink samples on the study edit screen
N sample(s) missing taxonomy ID (TAXON_ID is required by ENA)One or more samples have no taxIdSet the organism on each affected sample. See Organism & Taxonomy
Study already has a production ENA accession. Test re-registration is blocked to avoid overwriting the production accession state.You selected Test for a study that already carries a production accessionDo not re-register this study on Test; the run would overwrite the stored production accession
Study and samples are already registered on the ENA Test ServerAn unexpired test registration exists and every sample already has an accessionNothing to do. Either wait for the 24-hour expiry, or move to Production
A submission for this study is already in progressA PENDING or SUBMITTED submission row exists for this studyWait for it, or delete the stuck row from the Submissions Dashboard
Unsupported entity typeA request with entityType other than studyRegistration is study-scoped only; samples cannot be registered on their own
Failed to get study accession from ENAENA accepted the request but the receipt contained no usable PROJECT accessionExpand the submission and read the receipt XML — usually an ENA-side validation failure with success="true" on the envelope

Authentication

Authentication failed - invalid ENA credentials means ENA returned HTTP 401. The registration route surfaces this as a 500 with that message and marks the submission ERROR.

The connection test distinguishes two cases:

  • Invalid credentials - authentication failed — a hard 401.
  • Authentication failed - check your password — the response body mentioned authorization but was not a 401.

Both point at the same fix: re-enter the Webin password in Administration → ENA Credentials. The password is stored encrypted, so it cannot be read back from the settings screen to check — retyping it is the only way to be sure.

A third case is not an authentication problem at all:

Invalid username format. Expected "Webin-XXXXX" (e.g., Webin-12345), got "…"

SeqDesk validates the username against ^Webin-\d+$ before making any request. Webin-12345@ebi.ac.uk, a trailing space, or your ENA login email all fail here. Saving an invalid username is rejected too, with ENA username must be in format 'Webin-XXXXX' (e.g., Webin-12345).

Anything else — ENA server returned: 5xx, a timeout, a DNS failure — is a network or ENA availability problem. Confirm the host has outbound HTTPS to ebi.ac.uk and try again.

submg pipeline errors

These come from the metadata validator and the submg runner, both of which run before anything is submitted. The run is refused; no partial submission is created.

Study-level

MessageFix
SubMG can only run on study targetsLaunch it from a study, not a sequencing order
Study must have an ENA accession (PRJ*) before SubMG submissionRun the XML registration first
Study is missing ENA accession (PRJ*) and cannot be submitted with submgSame cause, raised later in the runner
ENA target is Test server, but this study was not registered on ENA Test. Register the study on Test first (or switch ENA target to Production).The global target is Test but the study only has a production registration
ENA Test registration is older than 24 hours (…) and may be expired. Re-register the study on ENA Test before SubMG submission.Re-register on Test, then start the run again
ENA credentials are not configured. Set Webin username/password in Admin > Data Upload > ENA.Save credentials before launching
No samples selected for SubMG submissionThe sample selection resolved to nothing
No valid samples available for submg submissionEvery selected sample failed its own checks

Per sample

The validator reports one issue per sample, naming it:

MessageFix
Sample X is missing required metadata fields for SubMG: collection date, geographic location (country and/or sea)Fill those checklist fields. See the field-name mapping if you believe you already did
Sample X is missing TAX_ID / Sample X: missing taxId. Set taxonomy metadata before starting SubMG.Set the organism on the sample
Sample X is missing paired-end read files / Sample X: has no paired-end read files. SubMG requires FASTQ R1/R2 inputs.submg accepts paired-end FASTQ only. A sample with single-end reads cannot be submitted this way
Sample X has paired reads without MD5 checksums / Sample X: has reads without MD5 checksums (…). Calculate checksums before running SubMG.Run the FASTQ Checksum pipeline, or attach checksums when linking the files
Sample X: read … is missing FASTQ R1 file at … Reattach reads or regenerate input files.The recorded path does not exist and no near-miss variant was found. Check the data storage mount
Sample X has no assembly file / Sample X: has no assembly file. SubMG requires an assembly FASTA; run the MAG pipeline first for this sample.Run MAG for that sample
Sample X: assembly file does not exist at … Re-run MAG or fix the assembly path in the sample outputs.The Assembly row points at a file that is gone
Sample X has an invalid preferred assembly selection (update it in Study Analysis) / Sample X: preferred assembly selection is unavailable. Update it in the Study Analysis section before running SubMG.A specific assembly was pinned and it is no longer usable. The message names an alternative when one exists
Sample X: is missing "collection date" in checklist metadata. Add it before running SubMG.Fill the field
Sample X: is missing "geographic location (country and/or sea)" in checklist metadata. Add it before running SubMG.Fill the field

Warnings that do not stop the run

Read these before you conclude a run was clean:

  • Sample X has no bins (optional, but recommended) and Sample X: has no bins. Bin submission is optional; this sample will be submitted without bins. Run MAG binning first to include bins.
  • Sample X: bin file does not exist at …; this bin will be skipped. — the sample is submitted with the remaining bins.
  • Sample X: no usable bin files were found on disk. Bin submission will be skipped for this sample.
  • Sample X: assembly coverage value not provided; using default 1. Set coverage_depth (or assemblyCoverageValue pipeline config) to override. — this ships a coverage of 1 to ENA. Almost always worth fixing.
  • Sample X: read … FASTQ R1 path … was not found; using … instead. — a near-miss path was substituted. Verify it is the file you meant.

Runtime failures

SymptomCause
submg-cli/submg command not found in PATH in logs/pipeline.errThe conda environment named by condaEnv does not provide the submg CLI. Note SeqDesk prefers submg-cli; on submg 1.0 and later the bare submg entry point is a stub that does not accept submit
Failed to parse FASTQ paths from …The generated YAML manifest is malformed — treat as a bug and attach the run folder to a report
Run completes, samplesUpdated is 0, no errorssubmg ran but SeqDesk could not locate or map its receipts. Check the run artifacts and the Could not map … warnings
Could not map sample alias 'X' to sample IDThe alias in submg’s accession file matched neither the sanitised sample code nor the sample title
Could not map read report … to a read recordChecksums in the emitted run.xml did not match any stored read
Could not map bin 'X' to bin recordThe bin filename in submg’s output does not correspond to a Bin row

Errors that come back from ENA

These are ENA’s words, not SeqDesk’s. They arrive inside the receipt XML, which is stored in the submission’s response JSON and rendered in the step timeline.

Taxonomy rejected

Typically “Taxon is not submittable” or a complaint about TAXON_ID. ENA does not accept every node in the NCBI taxonomy for submission — internal ranks and some unclassified nodes are not submittable.

Verify the ID at NCBI Taxonomy  and prefer the organism autocomplete over typing an ID by hand. For metagenomes, use a metagenome taxon (408170 for human gut metagenome), not the host species.

Mandatory checklist field missing

ENA validates each sample against the checklist named in its ENA-CHECKLIST attribute. If a required field is missing, check three things in order:

  1. Is the value actually stored on the sample?
  2. Is the key one SeqDesk maps to ENA’s name? See the field-name mapping — an unmapped key ships under its literal name and does not satisfy the checklist.
  3. Is the study’s checklist type the one you intended?

The generated XML in the dashboard settles all three in one look.

Duplicate alias

ENA reports that an alias already exists in the submission account. Aliases are unique per Webin account, and unexpired test submissions occupy the namespace too.

Change the alias, or wait out the 24-hour test expiry, or check the Webin portal for the existing record. Remember the study alias defaults to the study’s internal id when none is set, so two studies never collide by accident — but re-running a registration whose accession SeqDesk failed to record will collide with itself.

Reading a failed submission

Expand the row in the Submissions Dashboard:

  • Registration Steps — the timeline. The first step with an error status tells you how far the attempt got. A failure at Send Study to ENA means no samples were attempted at all; a failure at Send Samples to ENA means the project was created and you are in PARTIAL.
  • Generated XML — exactly what was sent, including the merged sample attributes.
  • Accession Numbers — what came back, with deep links into the ENA browser (the test browser for test submissions).

There is no separate receipt column in the database. The receipt XML lives inside the response JSON under receipt, which holds studyReceiptXml and samplesReceiptXml separately.

Recovering from a partial registration

PARTIAL means the study registered but at least one sample did not. This is the normal outcome when a single sample has bad metadata.

  1. Read the sample-level errors in the step details.
  2. Fix the offending samples.
  3. Retry Submission on the dashboard, or register again from the study.

The re-run reuses the existing study accession, skips the samples that already have one, and submits only the remainder. Do not delete a production submission to “start clean” — that will not remove the record from ENA and will lose your audit trail.

Cleaning up test submissions

Test rows do not expire themselves in SeqDesk; only ENA forgets them. Filter the dashboard for rows whose countdown reads Expired and delete them.

Deleting a test study submission also clears studyAccessionId, submitted, submittedAt and testRegisteredAt on the study, and the matching sampleAccessionNumber on its samples — which is exactly what you want before a fresh test cycle, and exactly what you do not want on a production row. Deleting a production submission removes the audit record and leaves the accessions in place.

When none of this helps

Collect the submission id, the step timeline, the generated XML, and for submg the run folder’s logs/pipeline.err — then see Support & Messages for what a good report contains.