Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e3021ca
Merge pull request #132 from nf-cmgg/dev
matthdsm Jun 23, 2025
2cfcc0e
fgbio module added
Hwanseok-Jeong Aug 13, 2025
51ca1e7
Update consensus workflow
Hwanseok-Jeong Aug 14, 2025
eff5743
main.nf, trying to run tests but still working on it
Aug 14, 2025
eeb1d31
Update on the current situation (schema, config, main, preprocessing)
Hwanseok-Jeong Aug 19, 2025
a958e10
module update
Hwanseok-Jeong Aug 19, 2025
6cb4bb1
correction based on feedback
Hwanseok-Jeong Aug 19, 2025
34809ea
2nd correction
Hwanseok-Jeong Aug 19, 2025
8176911
Step 1.2 ubam => Mapped BAM
Aug 20, 2025
2a815de
Change readgroup ID handling, and alignment reference and method
Aug 20, 2025
55b35d6
samplesheet extra field: umi_type (readname/seq/none)
Hwanseok-Jeong Aug 20, 2025
2b4c13f
Correction: alignment with subworkflow
Aug 21, 2025
a3b4475
Delete assets/fastq.yml
Hwanseok-Jeong Aug 21, 2025
be8cd6e
Merge branch 'InternUZGent/shared' of https://github.com/Hwanseok-Jeo…
Aug 21, 2025
8815f0f
umi_type into meta
Hwanseok-Jeong Aug 21, 2025
405653d
deleted umi params
Hwanseok-Jeong Aug 21, 2025
b150d31
successful run until step 1.2
Hwanseok-Jeong Aug 21, 2025
4f2c54b
zipperbam input fixed
Hwanseok-Jeong Aug 21, 2025
1c8ff25
changing ubam output file name for successful run of zipperbam
Hwanseok-Jeong Aug 21, 2025
ea903eb
Step 1.3 Mapped BAM => Grouped BAM
Aug 22, 2025
7b79dc6
modules.json update (manual)
Hwanseok-Jeong Aug 22, 2025
53e778e
params.umi_group_strategy added
Hwanseok-Jeong Aug 22, 2025
2fe0d46
param.umi_group_strategy update
Hwanseok-Jeong Aug 22, 2025
0266496
2(b).1 finished
Hwanseok-Jeong Aug 22, 2025
be65aa7
Step 2(b).2: Consensus Filtered uBam -> Consensus Mapped & Filtered BAM
Aug 22, 2025
8246e39
nf-test script - 1st Attempt
Hwanseok-Jeong Aug 23, 2025
2f4ad6f
nf-test script 2nd attempt
Hwanseok-Jeong Aug 25, 2025
06f2da8
nf-test with snapshot
Hwanseok-Jeong Aug 25, 2025
3e34992
nf-test with correct snapshot
Hwanseok-Jeong Aug 25, 2025
b5f32ad
nf-test.config: added params
Hwanseok-Jeong Aug 25, 2025
ba11f49
consensus_bam -> cram (for further integration into pipeline)
Hwanseok-Jeong Aug 26, 2025
e4394e0
UMI samples integrated with non-UMI samples
Hwanseok-Jeong Aug 26, 2025
b8bdafa
Update on documentation
Aug 26, 2025
d78154f
Potential parameters added as comments (feedback by Toon)
Hwanseok-Jeong Aug 27, 2025
12d2e23
Documentation corection and metro map update
Aug 27, 2025
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
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ It also performs basic QC and coverage analysis.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

The pipeline also supports Unique Molecular Identifier (UMI) data. If your samplesheet includes a `umi_type` column (`seq` or `readname`), UMI-aware preprocessing is enabled automatically. Rows with no `umi_type` specified will be processed as non-UMI sequencing data.

Steps inlcude:

1. Demultiplexing using [`BCLconvert`](https://emea.support.illumina.com/sequencing/sequencing_software/bcl-convert.html)
Expand All @@ -24,7 +26,13 @@ Steps inlcude:
6. Alignment QC using [`samtools flagstat`](http://www.htslib.org/doc/samtools-flagstat.html), [`samtools stats`](http://www.htslib.org/doc/samtools-stats.html), [`samtools idxstats`](http://www.htslib.org/doc/samtools-idxstats.html) and [`picard CollecHsMetrics`](https://broadinstitute.github.io/picard/command-line-overview.html#CollectHsMetrics), [`picard CollectWgsMetrics`](https://broadinstitute.github.io/picard/command-line-overview.html#CollectWgsMetrics), [`picard CollectMultipleMetrics`](https://broadinstitute.github.io/picard/command-line-overview.html#CollectMultipleMetrics)
7. QC aggregation using [`multiqc`](https://multiqc.info/)

![metro map](docs/images/metro_map.png)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can just update the old one

![metro map](docs/images/metro_mapumi.png)

UMI processing (only for rows with `umi_type`):
- Extract UMI from read sequence (`seq`) or read name (`readname`)
- Group reads by UMI (fgbio GroupReadsByUmi)
- Call molecular consensus (fgbio CallMolecularConsensusReads) and filter (fgbio FilterConsensusReads)
- Re-align filtered consensus reads with BWA-MEM (`-Y`), then sort/index

## Usage

Expand All @@ -41,6 +49,12 @@ First, prepare a samplesheet with your input data that looks as follows:
id,samplename,organism,library,fastq_1,fastq_2
sample1,sample1,Homo sapiens,Library_Name,reads1.fq.gz,reads2.fq.gz
```
`samplesheet.csv` for fastq inputs with UMI:

```csv
id,samplename,organism,library,umi_type,fastq_1,fastq_2
umi_sample1,umi_sample1,Homo sapiens,Library_Name,seq,reads1.fq.gz,reads2.fq.gz
```

`samplesheet.csv` for flowcell inputs:

Expand Down
13 changes: 10 additions & 3 deletions assets/schema_input.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@
"pattern": "^[a-zA-Z0-9_]+.bed$",
"default": null
},
"umi_type": {
"meta": ["umi_type"],
"type": "string",
"description": "Distinguish UMI samples (readname, seq) from non-UMI samples",
"enum": ["readname", "seq", "none"],
"default": "none"
},
"lane": {
"type": "integer",
"meta": ["lane"],
Expand Down Expand Up @@ -110,13 +117,13 @@
},
"anyOf": [
{
"required": ["id", "samplename", "organism", "tag", "fastq_1", "fastq_2"]
"required": ["id", "samplename", "organism", "tag", "fastq_1", "fastq_2", "umi_type"]
},
{
"required": ["id", "samplename", "genome", "tag", "fastq_1", "fastq_2"]
"required": ["id", "samplename", "genome", "tag", "fastq_1", "fastq_2", "umi_type"]
},
{
"required": ["id", "samplesheet", "sample_info", "flowcell"]
"required": ["id", "samplesheet", "sample_info", "flowcell", "umi_type"]
}
]
},
Expand Down
Binary file added docs/images/metro_mapumi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,351 changes: 1,351 additions & 0 deletions docs/images/metro_mapumi.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 59 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,55 @@
"installed_by": ["modules"],
"patch": "modules/nf-core/fastp/fastp.diff"
},
"fgbio/callduplexconsensusreads": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"fgbio/callmolecularconsensusreads": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"fgbio/collectduplexseqmetrics": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"fgbio/copyumifromreadname": {
"branch": "master",
"git_sha": "47dbfc0fbcd8e4e3b73d843f4659069441ca8692",
"installed_by": ["modules"],
"patch": "modules/nf-core/fgbio/copyumifromreadname/fgbio-copyumifromreadname.diff"
},
"fgbio/fastqtobam": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"],
"patch": "modules/nf-core/fgbio/fastqtobam/fgbio-fastqtobam.diff"
},
"fgbio/filterconsensusreads": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"],
"patch": "modules/nf-core/fgbio/filterconsensusreads/fgbio-filterconsensusreads.diff"
},
"fgbio/groupreadsbyumi": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"fgbio/sortbam": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"fgbio/zipperbams": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"],
"patch": "modules/nf-core/fgbio/zipperbams/fgbio-zipperbams.diff"
},
"md5sum": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
Expand Down Expand Up @@ -103,6 +152,11 @@
"installed_by": ["modules"],
"patch": "modules/nf-core/samtools/coverage/samtools-coverage.diff"
},
"samtools/fastq": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"samtools/flagstat": {
"branch": "master",
"git_sha": "2d20463181b1c38981a02e90d3084b5f9fa8d540",
Expand All @@ -118,6 +172,11 @@
"git_sha": "2d20463181b1c38981a02e90d3084b5f9fa8d540",
"installed_by": ["modules"]
},
"samtools/index": {
"branch": "master",
"git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
"installed_by": ["modules"]
},
"samtools/sormadup": {
"branch": "master",
"git_sha": "38f3b0200093498b70ac2d63a83eac5642e3c873",
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 70 additions & 0 deletions modules/nf-core/fgbio/callduplexconsensusreads/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 57 additions & 0 deletions modules/nf-core/fgbio/callduplexconsensusreads/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 62 additions & 0 deletions modules/nf-core/fgbio/callduplexconsensusreads/tests/main.nf.test

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading