Merge branch 'CW-2680' into 'dev'
deal with transcriptome fasta headers that contains | Closes CW-2680 See merge request epi2melabs/workflows/wf-transcriptomes!124
This commit is contained in:
commit
57d4bf932d
@ -45,7 +45,8 @@ docker-run:
|
|||||||
- MATRIX_NAME: [
|
- MATRIX_NAME: [
|
||||||
"fusions", "differential_expression", "isoforms",
|
"fusions", "differential_expression", "isoforms",
|
||||||
"only_differential_expression", "differential_expression_gff3",
|
"only_differential_expression", "differential_expression_gff3",
|
||||||
"ncbi_gzip", "denovo", "ncbi_no_gene_id", "ensembl_with_versions"
|
"ncbi_gzip", "denovo", "ncbi_no_gene_id", "ensembl_with_versions",
|
||||||
|
"differential_expression_mouse"
|
||||||
]
|
]
|
||||||
rules:
|
rules:
|
||||||
# NOTE As we're overriding the rules block for the included docker-run
|
# NOTE As we're overriding the rules block for the included docker-run
|
||||||
@ -58,18 +59,18 @@ docker-run:
|
|||||||
NF_BEFORE_SCRIPT: wget -O test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/wf-isoforms_test_data.tar.gz && tar -xzvf test_data.tar.gz
|
NF_BEFORE_SCRIPT: wget -O test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/wf-isoforms_test_data.tar.gz && tar -xzvf test_data.tar.gz
|
||||||
NF_WORKFLOW_OPTS: "--fastq ERR6053095_chr20.fastq --transcriptome-source reference-guided \
|
NF_WORKFLOW_OPTS: "--fastq ERR6053095_chr20.fastq --transcriptome-source reference-guided \
|
||||||
--ref_genome chr20/hg38_chr20.fa --ref_annotation chr20/gencode.v22.annotation.chr20.gtf"
|
--ref_genome chr20/hg38_chr20.fa --ref_annotation chr20/gencode.v22.annotation.chr20.gtf"
|
||||||
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref
|
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "denovo"
|
- if: $MATRIX_NAME == "denovo"
|
||||||
variables:
|
variables:
|
||||||
NF_WORKFLOW_OPTS: "--fastq test_data/fastq/SIRV_E0_PCS109_50.fq.gz --transcriptome_source denovo"
|
NF_WORKFLOW_OPTS: "--fastq test_data/fastq/SIRV_E0_PCS109_50.fq.gz --transcriptome_source denovo"
|
||||||
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref,build_minimap_index
|
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref,build_minimap_index,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "fusions"
|
- if: $MATRIX_NAME == "fusions"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/wf-isoforms_test_data.tar.gz && tar -xzvf test_data.tar.gz
|
NF_BEFORE_SCRIPT: wget -O test_data.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/wf-isoforms_test_data.tar.gz && tar -xzvf test_data.tar.gz
|
||||||
NF_WORKFLOW_OPTS: "--fastq ERR6053095_chr20.fastq --transcriptome-source reference-guided \
|
NF_WORKFLOW_OPTS: "--fastq ERR6053095_chr20.fastq --transcriptome-source reference-guided \
|
||||||
--ref_genome chr20/hg38_chr20.fa --ref_annotation chr20/gencode.v22.annotation.chr20.gtf \
|
--ref_genome chr20/hg38_chr20.fa --ref_annotation chr20/gencode.v22.annotation.chr20.gtf \
|
||||||
--jaffal_refBase chr20/ --jaffal_genome hg38_chr20 --jaffal_annotation genCode22"
|
--jaffal_refBase chr20/ --jaffal_genome hg38_chr20 --jaffal_annotation genCode22"
|
||||||
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref
|
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "differential_expression"
|
- if: $MATRIX_NAME == "differential_expression"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
||||||
@ -78,7 +79,7 @@ docker-run:
|
|||||||
--ref_genome differential_expression/hg38_chr20.fa --transcriptome-source reference-guided \
|
--ref_genome differential_expression/hg38_chr20.fa --transcriptome-source reference-guided \
|
||||||
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
||||||
--direct_rna --minimap2_index_opts '-k 15' --sample_sheet test_data/sample_sheet.csv"
|
--direct_rna --minimap2_index_opts '-k 15' --sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref
|
NF_IGNORE_PROCESSES: preprocess_reads,merge_transcriptomes,decompress_annotation,decompress_ref,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "only_differential_expression"
|
- if: $MATRIX_NAME == "only_differential_expression"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
||||||
@ -92,7 +93,7 @@ docker-run:
|
|||||||
--sample_sheet test_data/sample_sheet.csv"
|
--sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: >
|
NF_IGNORE_PROCESSES: >
|
||||||
preprocess_reads,merge_transcriptomes,assemble_transcripts,decompress_annotation,decompress_ref,
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,decompress_annotation,decompress_ref,
|
||||||
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "differential_expression_gff3"
|
- if: $MATRIX_NAME == "differential_expression_gff3"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
||||||
@ -106,7 +107,7 @@ docker-run:
|
|||||||
--sample_sheet test_data/sample_sheet.csv"
|
--sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: >
|
NF_IGNORE_PROCESSES: >
|
||||||
preprocess_reads,merge_transcriptomes,assemble_transcripts,decompress_annotation,decompress_ref,
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,decompress_annotation,decompress_ref,
|
||||||
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "ncbi_gzip"
|
- if: $MATRIX_NAME == "ncbi_gzip"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression_ncbi.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression_ncbi.tar.gz && tar -xzvf differential_expression_ncbi.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression_ncbi.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression_ncbi.tar.gz && tar -xzvf differential_expression_ncbi.tar.gz
|
||||||
@ -120,7 +121,7 @@ docker-run:
|
|||||||
--sample_sheet test_data/sample_sheet.csv"
|
--sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: >
|
NF_IGNORE_PROCESSES: >
|
||||||
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
||||||
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "ncbi_no_gene_id"
|
- if: $MATRIX_NAME == "ncbi_no_gene_id"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression_ncbi.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression_ncbi.tar.gz && tar -xzvf differential_expression_ncbi.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression_ncbi.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression_ncbi.tar.gz && tar -xzvf differential_expression_ncbi.tar.gz
|
||||||
@ -133,7 +134,7 @@ docker-run:
|
|||||||
--transcriptome_assembly false --sample_sheet test_data/sample_sheet.csv"
|
--transcriptome_assembly false --sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: >
|
NF_IGNORE_PROCESSES: >
|
||||||
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
||||||
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
- if: $MATRIX_NAME == "ensembl_with_versions"
|
- if: $MATRIX_NAME == "ensembl_with_versions"
|
||||||
variables:
|
variables:
|
||||||
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
NF_BEFORE_SCRIPT: wget -O differential_expression.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression.tar.gz && tar -xzvf differential_expression.tar.gz
|
||||||
@ -146,4 +147,17 @@ docker-run:
|
|||||||
--transcriptome_assembly false --sample_sheet test_data/sample_sheet.csv"
|
--transcriptome_assembly false --sample_sheet test_data/sample_sheet.csv"
|
||||||
NF_IGNORE_PROCESSES: >
|
NF_IGNORE_PROCESSES: >
|
||||||
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,
|
||||||
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam,decompress_transcriptome,preprocess_ref_transcriptome
|
||||||
|
- if: $MATRIX_NAME == "differential_expression_mouse"
|
||||||
|
variables:
|
||||||
|
NF_BEFORE_SCRIPT: wget -O differential_expression_mouse.tar.gz https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-isoforms/differential_expression_mouse.tar.gz && tar -xzvf differential_expression_mouse.tar.gz
|
||||||
|
NF_WORKFLOW_OPTS: "-executor.\\$$local.memory 16GB \
|
||||||
|
--fastq differential_expression_mouse/differential_expression_fastq \
|
||||||
|
--transcriptome-source precomputed --de_analysis \
|
||||||
|
--ref_genome differential_expression_mouse/GRCm39.genome.fa.gz \
|
||||||
|
--ref_annotation differential_expression_mouse/gencode.vM33.annotation.gtf \
|
||||||
|
--direct_rna --ref_transcriptome differential_expression_mouse/gencode.vM33.transcripts.fa.gz \
|
||||||
|
--transcriptome_assembly false --sample_sheet test_data/sample_sheet.csv"
|
||||||
|
NF_IGNORE_PROCESSES: >
|
||||||
|
preprocess_reads,merge_transcriptomes,assemble_transcripts,decompress_annotation,
|
||||||
|
build_minimap_index,get_transcriptome,merge_gff_bundles,run_gffcompare,build_minimap_index,split_bam
|
||||||
|
|||||||
@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [v0.3.1]
|
||||||
|
### Added
|
||||||
|
- Handling for input reference transcriptome headers that contain `|`
|
||||||
|
|
||||||
## [v0.3.0]
|
## [v0.3.0]
|
||||||
### Changed
|
### Changed
|
||||||
- Improve differential expression outputs.
|
- Improve differential expression outputs.
|
||||||
|
|||||||
@ -245,12 +245,13 @@ nextflow run epi2me-labs/wf-transcriptomes \
|
|||||||
--ref_transcriptome differential_expression/ref_transcriptome.fasta \
|
--ref_transcriptome differential_expression/ref_transcriptome.fasta \
|
||||||
--sample_sheet test_data/sample_sheet.csv
|
--sample_sheet test_data/sample_sheet.csv
|
||||||
```
|
```
|
||||||
You can also run the differential expression section of the workflow on its own by providing a reference transcriptome and setting the transcriptome assembly parameter to false.
|
You can also run the differential expression section of the workflow on its own by providing a reference transcriptome and setting the `--transcriptome_source` to precomputed.
|
||||||
eg.
|
eg.
|
||||||
```
|
```
|
||||||
nextflow run epi2me-labs/wf-transcriptomes \
|
nextflow run epi2me-labs/wf-transcriptomes \
|
||||||
--fastq differential_expression/differential_expression_fastq \
|
--fastq differential_expression/differential_expression_fastq \
|
||||||
--de_analysis \
|
--de_analysis \
|
||||||
|
--transcriptome_source precomputed \
|
||||||
--ref_genome differential_expression/hg38_chr20.fa \
|
--ref_genome differential_expression/hg38_chr20.fa \
|
||||||
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
||||||
--direct_rna --minimap2_index_opts '-k 15' \
|
--direct_rna --minimap2_index_opts '-k 15' \
|
||||||
|
|||||||
@ -155,12 +155,13 @@ nextflow run epi2me-labs/wf-transcriptomes \
|
|||||||
--ref_transcriptome differential_expression/ref_transcriptome.fasta \
|
--ref_transcriptome differential_expression/ref_transcriptome.fasta \
|
||||||
--sample_sheet test_data/sample_sheet.csv
|
--sample_sheet test_data/sample_sheet.csv
|
||||||
```
|
```
|
||||||
You can also run the differential expression section of the workflow on its own by providing a reference transcriptome and setting the transcriptome assembly parameter to false.
|
You can also run the differential expression section of the workflow on its own by providing a reference transcriptome and setting the `--transcriptome_source` to precomputed.
|
||||||
eg.
|
eg.
|
||||||
```
|
```
|
||||||
nextflow run epi2me-labs/wf-transcriptomes \
|
nextflow run epi2me-labs/wf-transcriptomes \
|
||||||
--fastq differential_expression/differential_expression_fastq \
|
--fastq differential_expression/differential_expression_fastq \
|
||||||
--de_analysis \
|
--de_analysis \
|
||||||
|
--transcriptome_source precomputed \
|
||||||
--ref_genome differential_expression/hg38_chr20.fa \
|
--ref_genome differential_expression/hg38_chr20.fa \
|
||||||
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
--ref_annotation differential_expression/gencode.v22.annotation.chr20.gtf \
|
||||||
--direct_rna --minimap2_index_opts '-k 15' \
|
--direct_rna --minimap2_index_opts '-k 15' \
|
||||||
|
|||||||
35
main.nf
35
main.nf
@ -58,6 +58,7 @@ process getParams {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
process decompress_ref {
|
process decompress_ref {
|
||||||
label "isoforms"
|
label "isoforms"
|
||||||
cpus 1
|
cpus 1
|
||||||
@ -83,6 +84,21 @@ process decompress_annotation {
|
|||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
process decompress_transcriptome {
|
||||||
|
label "isoforms"
|
||||||
|
cpus 1
|
||||||
|
input:
|
||||||
|
path "compressed_ref.gz"
|
||||||
|
output:
|
||||||
|
path "compressed_ref", emit: decompressed_ref
|
||||||
|
"""
|
||||||
|
gzip -df "compressed_ref.gz"
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Remove empty transcript ID fields
|
// Remove empty transcript ID fields
|
||||||
process preprocess_ref_annotation {
|
process preprocess_ref_annotation {
|
||||||
label "isoforms"
|
label "isoforms"
|
||||||
@ -97,6 +113,21 @@ process preprocess_ref_annotation {
|
|||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Just keep transcript ID for each transcriptome fasta
|
||||||
|
process preprocess_ref_transcriptome {
|
||||||
|
label "isoforms"
|
||||||
|
cpus 1
|
||||||
|
input:
|
||||||
|
path "ref_transcriptome"
|
||||||
|
output:
|
||||||
|
path "ammended.${ref_transcriptome}"
|
||||||
|
"""
|
||||||
|
sed -i -e 's/|.*//' ${ref_transcriptome}
|
||||||
|
mv ${ref_transcriptome} "ammended.${ref_transcriptome}"
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
process preprocess_reads {
|
process preprocess_reads {
|
||||||
/*
|
/*
|
||||||
@ -581,6 +612,10 @@ workflow pipeline {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
transcriptome = Channel.fromPath(ref_transcriptome)
|
transcriptome = Channel.fromPath(ref_transcriptome)
|
||||||
|
if (file(params.ref_transcriptome).extension == "gz") {
|
||||||
|
transcriptome = decompress_transcriptome(ref_transcriptome)
|
||||||
|
}
|
||||||
|
transcriptome = preprocess_ref_transcriptome(transcriptome)
|
||||||
gtf = ref_annotation
|
gtf = ref_annotation
|
||||||
}
|
}
|
||||||
de = differential_expression(transcriptome, input_reads, sample_sheet, gtf)
|
de = differential_expression(transcriptome, input_reads, sample_sheet, gtf)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user