Repository navigation
added metaT support to assembly flow - #106
Conversation
|
❌ nf-test failed with latest Nextflow versionNote Tests with Nextflow's latest version failed but it will not cause a CI workflow failure.
See the full run for details. |
`GENOMESUBMIT` decides whether to (re)compute completeness and contamination
with CheckM2 using a truthiness test:
genome_evaluation_input: !(meta.completeness) || !(meta.contamination) || !(meta.stats_generation_software)
In Groovy `0` is falsey, so a genome with a legitimate value of 0 -- a clean MAG
with 0% contamination, or a highly incomplete one with 0% completeness -- is
misread as "no stats provided" and is sent to `GENOME_EVALUATION`.
For a samplesheet that supplies stats for every row this silently re-computes
part of the run (including downloading the CheckM2 database) and then overrides
the supplied values, and it sets `stats_generation_software` from the tool name
reported by the module. The result is an inconsistent metadata column across the
submission: the affected rows end up with a recomputed version string while the
remaining rows keep the one from the samplesheet.
Test for absence instead of falsiness, matching the idiom already used elsewhere
in the same workflow (e.g. `meta.RNA_presence == null` for the RNA branch).
Verification with an nf-schema 2.5.1 probe over a three-row samplesheet (the
same `samplesheetToList` call the pipeline makes):
* a samplesheet value of `0.0` arrives as a `java.math.BigDecimal` 0, so the
old predicate routes that row to `GENOME_EVALUATION` and the new one does
not;
* an *empty* field arrives as `null`, so rows with genuinely missing
statistics still take the `GENOME_EVALUATION` branch with the new
predicate.
The `genome_coverage` branch (`COVERM_GENOME`) is intentionally left alone: its
schema field declares `exclusiveMinimum: 0`, so `0` is rejected at samplesheet
validation, while an omitted value arrives as `null` and both predicates then
agree.
…sing Fix zero completeness/contamination being treated as missing
Vkale1
left a comment
There was a problem hiding this comment.
Hey! Lovely :) couple very unimportant small things.
Update the metagenomic assemblies section of the README
Assembly_metadata section of the multi-qc config would also have library now?
Same for generate_assembly_manifest meta.yml for completeness
The generate assembly manifest snapshot still has the old snapshot with previous uploader version also.. is this normal to keep?
| }, | ||
| "library_strategy": { | ||
| "type": "string", | ||
| "enum": ["metagenome", "metatranscriptome"], | ||
| "errorMessage": "Assembly library strategy should be metagenome or metatranscriptome", | ||
| "description": "Assembly library strategy: metagenome or metatranscriptome. Default: metagenome", | ||
| "default": "metagenome", | ||
| "meta": ["library_strategy"] |
There was a problem hiding this comment.
The mode name "metagenomic_assembly" becomes a bit confusing with this change 🤔
Maybe we will have to rename it? But I don't see any good options :sad:
There was a problem hiding this comment.
or just assembly
There was a problem hiding this comment.
Let's leave it like this until somebody will raise it
It's fine 🥴
Resolving #100 and #114
library_strategyto assembly input samplesheet. Default value:metagenome