Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7d1c0dd
explicitly set test_upload = true in test configs
ochkalova May 13, 2026
100c7c0
add partial co assembly support in ASSEMBLYSUBMIT
ochkalova May 13, 2026
a65c94c
add REGISTER_COASSEMBLY_SAMPLE
ochkalova May 14, 2026
b0689c6
minor refactoring of register_coassembly_sample.py
ochkalova May 14, 2026
33f3967
add default metadata values for register_coassembly_sample.py
ochkalova May 14, 2026
1f738cb
minor refactoring of register_coassembly_sample.py
ochkalova May 14, 2026
25d0171
disable publishDir for REGISTER_COASSEMBLY_SAMPLE
ochkalova May 14, 2026
7e2c7aa
Merge branch 'dev' into feat/coassembly_submission
ochkalova Aug 5, 2026
29a6b8c
update samplesheet header
ochkalova Aug 10, 2026
afd7ae1
append hash to co assembly sample if run in --test mode
ochkalova Aug 10, 2026
a9155e9
add saveguard against duplicated accession in run_accession column
ochkalova Aug 10, 2026
a8e81a2
add co assembly support for coverage calculation
ochkalova Oct 15, 2026
9210a17
add snapshot
ochkalova Oct 15, 2026
4461b2d
add private data support for cooassembly sample registration
ochkalova Oct 16, 2026
06c5ffc
revert test_upload changes in assembly test configs
ochkalova Oct 16, 2026
8eb09b5
move samplesheets to test datasets folder
ochkalova Oct 16, 2026
f0cf4f2
do not use hardcoded submission study in tests
ochkalova Oct 16, 2026
d97e1ce
update tests and snapshots
ochkalova Oct 16, 2026
4401ad2
update docs
ochkalova Oct 16, 2026
0c92b6d
update REGISTER_COASSEMBLY_SAMPLE versions to topics
ochkalova Oct 19, 2026
90bd671
update BioSample regex
ochkalova Oct 19, 2026
54b14fe
Merge branch 'dev' into feat/coassembly_submission
ochkalova Oct 20, 2026
29fbe91
make sure read files exist with checkIfExists: true
ochkalova Oct 20, 2026
0181af9
add guard against empty files in calculateCoassemblyCoverage
ochkalova Oct 20, 2026
3e72efa
update snapshot
ochkalova Oct 20, 2026
0d6d64e
Address review comments in register_coassembly_sample.py
ochkalova Oct 29, 2026
3f4d424
Update CHANGELOG and co-assembly docs after review
ochkalova Oct 29, 2026
51daaba
Merge branch 'dev' into feat/coassembly_submission
ochkalova Oct 29, 2026
07abba4
add more assertions for co assembly tests
ochkalova Oct 29, 2026
38a69db
update snapshots
ochkalova Oct 29, 2026
ca52057
keep only tax_id input arg instead of tax_id and scientific_name, bec…
ochkalova Oct 29, 2026
1851faa
add tax_id column for co assembly submssion
ochkalova Oct 29, 2026
9d2a06a
fix errorStrategy definition in GENERATE_ASSEMBLY_MANIFEST
ochkalova Oct 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## v1.0.1dev - [date]

### `Added`

- [#66](https://github.com/nf-core/seqsubmit/pull/66)
- Added co-assembly submission to `ASSEMBLYSUBMIT`: a samplesheet row can list several semicolon-separated run accessions (and matching read files for coverage calculation)
- When the source runs belong to different ENA samples, a virtual sample with a `composed of` attribute is registered and the co-assembly is submitted under it
- Optional `tax_id` samplesheet column to set the taxon of the virtual co-assembly sample when the source samples have different taxa

### `Fixed`

- [#117](https://github.com/nf-core/seqsubmit/pull/117) and [#119](https://github.com/nf-core/seqsubmit/pull/119)
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,11 @@ Example:
id,fasta,fastq_1,fastq_2,coverage,run_accession,assembler,assembler_version,assembly_type
assembly_1,data/contigs_1.fasta.gz,data/reads_1.fastq.gz,data/reads_2.fastq.gz,,ERR011322,SPAdes,3.15.5,metagenome
assembly_2,data/contigs_2.fasta.gz,,,42.7,ERR011323,MEGAHIT,1.2.9,metatranscriptome
coassembly_1,data/contigs_3.fasta.gz,data/run1_R1.fastq.gz;data/run2_R1.fastq.gz,data/run1_R2.fastq.gz;data/run2_R2.fastq.gz,,ERR011324;ERR011325,MEGAHIT,1.2.9,
```

Co-assemblies are supported: list all source runs in `run_accession` and their read files in `fastq_1`/`fastq_2`, separated by semicolons.
Comment thread
ochkalova marked this conversation as resolved.
Resolved

See the [`metagenomic_assemblies` mode section](docs/usage.md#samplesheet-input-1) of the usage documentation for more details.

### `mags` and `bins` modes
Expand Down
30 changes: 21 additions & 9 deletions assets/schema_input_assembly.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@
"anyOf": [
{
"type": "string",
"format": "file-path",
"exists": true,
"pattern": "^\\S+\\.(fq|fastq)(\\.gz)?$"
"pattern": "^\\S+\\.(fq|fastq)(\\.gz)?(;\\S+\\.(fq|fastq)(\\.gz)?)*$"
},
{
"type": "string",
Expand All @@ -37,15 +35,13 @@
],
"default": null,
"errorMessage": "FASTQ file must have extension '.fq' or '.fastq' (optionally gzipped)",
"description": "Path to single-end/paired-end forward reads in FASTQ format (optionally gzipped). Required if coverage is not provided"
"description": "Path to single-end/paired-end forward reads in FASTQ format (optionally gzipped). Required if coverage is not provided. For co-assemblies, semicolon-separated paths (e.g. run1_R1.fq.gz;run2_R1.fq.gz)"
},
"fastq_2": {
"anyOf": [
{
"type": "string",
"format": "file-path",
"exists": true,
"pattern": "^\\S+\\.(fq|fastq)(\\.gz)?$"
"pattern": "^\\S+\\.(fq|fastq)(\\.gz)?(;\\S+\\.(fq|fastq)(\\.gz)?)*$"
},
{
"type": "string",
Expand All @@ -54,7 +50,7 @@
],
"default": null,
"errorMessage": "FASTQ file for reverse reads must have extension '.fq' or '.fastq' (optionally gzipped)",
"description": "Path to reverse reads in FASTQ format for paired-end data (optionally gzipped). Leave empty for single-end reads"
"description": "Path to reverse reads in FASTQ format for paired-end data (optionally gzipped). Leave empty for single-end reads. For co-assemblies, use semicolon-separated paths (e.g. run1_R2.fq.gz;run2_R2.fq.gz)"
},
"coverage": {
"anyOf": [
Expand All @@ -76,7 +72,7 @@
"type": "string",
"pattern": "^\\S+$",
"errorMessage": "Accession must be provided and cannot contain spaces",
"description": "ENA run accession for the reads used to generate the metagenomic assembly. Reads must already be submitted to ENA",
"description": "ENA run accession(s) for the reads used to generate the metagenomic assembly. Reads must already be submitted to ENA. For co-assemblies, use semicolon-separated values (e.g. ERR000001;ERR000002)",
"meta": ["run_accession"]
},
"assembler": {
Expand All @@ -100,6 +96,22 @@
"description": "Assembly type: metagenome or metatranscriptome. Written to the ENA manifest as ASSEMBLY_TYPE 'primary metagenome' or 'metatranscriptome'. Default: metagenome",
"default": "metagenome",
"meta": ["assembly_type"]
},
"tax_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0
},
{
"type": "string",
"maxLength": 0
}
],
"default": null,
"errorMessage": "Taxon ID must be a positive integer or empty",
"description": "NCBI taxon ID for the virtual sample registered for a co-assembly (optional). Provide when the source samples have different taxon IDs. Ignored for assemblies that are not co-assemblies of several samples",
"meta": ["tax_id"]
}
},
"required": ["id", "fasta", "run_accession", "assembler", "assembler_version"],
Expand Down
Loading
Loading