Build branch main with version main (ce40a4a)
Build pipeline: viash-hub.rnaseq.main-b6jtr
Source commit: ce40a4a6d9
Source message: add unit tests
This commit is contained in:
@@ -36,6 +36,10 @@ resources:
|
||||
# Include the header for the biotypes in the component
|
||||
- path: biotypes_header.txt
|
||||
|
||||
test_resources:
|
||||
- type: bash_script
|
||||
path: test.sh
|
||||
|
||||
engines:
|
||||
- type: docker
|
||||
image: python:latest
|
||||
|
||||
@@ -82,7 +82,7 @@ if __name__ == "__main__":
|
||||
filtered_lines.append(filtered_line)
|
||||
|
||||
# Concatenate the header and the processed lines
|
||||
result = biotypes_header + '\n' + '\n'.join(filtered_lines) + '\n'
|
||||
result = biotypes_header + '\n'.join(filtered_lines) + '\n'
|
||||
|
||||
# Write the result to par_featurecounts_multiqc
|
||||
with open(par["featurecounts_multiqc"], 'w') as output_file:
|
||||
|
||||
36
src/multiqc_custom_biotype/test.sh
Normal file
36
src/multiqc_custom_biotype/test.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "> Prepare test data"
|
||||
|
||||
cat > "test.featurecounts.txt" << HERE
|
||||
# Program:featureCounts v2.0.1; Command:"featureCounts" "-t" "CDS" "-T" "2" "-a" "genome.gtf" "-s" "1" "-o" "test.featureCounts.txt" "test.single_end.bam"
|
||||
Geneid Chr Start End Strand Length test.single_end.bam
|
||||
orf1ab MT192765.1;MT192765.1 259;13461 13461;21545 +;+ 21287 38
|
||||
S MT192765.1 21556 25374 + 3819 4
|
||||
ORF3a MT192765.1 25386 26210 + 825 0
|
||||
E MT192765.1 26238 26462 + 225 1
|
||||
M MT192765.1 26516 27181 + 666 1
|
||||
ORF6 MT192765.1 27195 27377 + 183 0
|
||||
ORF7a MT192765.1 27387 27749 + 363 0
|
||||
ORF7b MT192765.1 27749 27877 + 129 0
|
||||
ORF8 MT192765.1 27887 28249 + 363 0
|
||||
N MT192765.1 28267 29523 + 1257 2
|
||||
ORF10 MT192765.1 29551 29664 + 114 0
|
||||
HERE
|
||||
|
||||
echo "> Run test"
|
||||
"$meta_executable" \
|
||||
--biocounts "test.featurecounts.txt" \
|
||||
--id "test" \
|
||||
--featurecounts_multiqc "test.biotype_counts_mqc.tsv" \
|
||||
--featurecounts_rrna_multiqc "test.biotype_counts_rrna_mqc.tsv"
|
||||
|
||||
echo "> Check results"
|
||||
[ ! -f "test.biotype_counts_mqc.tsv" ] && echo "test.biotype_counts_mqc.tsv was not created" && exit 1
|
||||
[ ! -s "test.biotype_counts_mqc.tsv" ] && echo "test.biotype_counts_mqc.tsv is empty" && exit 1
|
||||
[ ! -f "test.biotype_counts_rrna_mqc.tsv" ] && echo "test.biotype_counts_rrna_mqc.tsv was not created" && exit 1
|
||||
[ ! -s "test.biotype_counts_rrna_mqc.tsv" ] && echo "test.biotype_counts_rrna_mqc.tsv is empty" && exit 1
|
||||
|
||||
exit 0
|
||||
@@ -12,7 +12,7 @@ argument_groups:
|
||||
- name: "--quant_results"
|
||||
type: file
|
||||
multiple: true
|
||||
multiple_sep: ","
|
||||
multiple_sep: ";"
|
||||
- name: "--gtf"
|
||||
type: file
|
||||
- name: "--gtf_extra_attributes"
|
||||
@@ -32,17 +32,17 @@ argument_groups:
|
||||
type: file
|
||||
direction: output
|
||||
default: tx2gene.tsv
|
||||
- name: "--updated_versions"
|
||||
type: file
|
||||
default: versions.yml
|
||||
direction: output
|
||||
|
||||
resources:
|
||||
- type: bash_script
|
||||
path: script.sh
|
||||
# copied from https://github.com/nf-core/rnaseq/blob/3.14.0/bin/tx2gene.py
|
||||
- path: tx2gene.py
|
||||
|
||||
|
||||
test_resources:
|
||||
- type: bash_script
|
||||
path: test.sh
|
||||
|
||||
engines:
|
||||
- type: docker
|
||||
image: ubuntu:22.04
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
set -eo pipefail
|
||||
|
||||
function clean_up {
|
||||
rm -rf "$salmon_tmpdir"
|
||||
rm -rf "$tmpdir"
|
||||
}
|
||||
trap clean_up EXIT
|
||||
|
||||
tmpdir=$(mktemp -d "$meta_temp_dir/$meta_functionality_name-XXXXXXXX")
|
||||
tmpdir=$(mktemp -d "$meta_temp_dir/$meta_name-XXXXXXXX")
|
||||
|
||||
IFS="," read -ra results <<< $par_quant_results
|
||||
IFS=";" read -ra results <<< $par_quant_results
|
||||
for result in ${results[*]}
|
||||
do
|
||||
cp -r $result $tmpdir
|
||||
|
||||
52
src/tx2gene/test.sh
Normal file
52
src/tx2gene/test.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "> Prepare test data"
|
||||
|
||||
cat > "sample1_quant_results.sf" << HERE
|
||||
Name Length EffectiveLength TPM NumReads
|
||||
ENSSASG00005000004 3822 3572 15216.8 753
|
||||
ENSSASG00005000003 13218 12968 1502.34 269.9
|
||||
ENSSASG00005000002 21290 21040 23916.3 6971.1
|
||||
HERE
|
||||
|
||||
cat > "sample2_quant_results.sf" << HERE
|
||||
Name Length EffectiveLength TPM NumReads
|
||||
ENSSASG00005000004 3822 3572 23713.5 703
|
||||
ENSSASG00005000003 13218 12968 14280 1536.92
|
||||
ENSSASG00005000002 21290 21040 37447.4 6539.08
|
||||
HERE
|
||||
|
||||
cat > "genes.gtf" << HERE
|
||||
MN908947.3 ensembl transcript 266 21555 . + . gene_id "ENSSASG00005000002"; gene_version "1"; transcript_id "ENSSAST00005000002"; transcript_version "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1ab"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl exon 266 21555 . + . gene_id "ENSSASG00005000002"; gene_version "1"; transcript_id "ENSSAST00005000002"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1ab"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSSASE00005000002"; exon_version "1";
|
||||
MN908947.3 ensembl CDS 266 21552 . + 0 gene_id "ENSSASG00005000002"; gene_version "1"; transcript_id "ENSSAST00005000002"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1ab"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSSASP00005000002"; protein_version "1";
|
||||
MN908947.3 ensembl start_codon 266 268 . + 0 gene_id "ENSSASG00005000002"; gene_version "1"; transcript_id "ENSSAST00005000002"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1ab"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl stop_codon 21553 21555 . + 0 gene_id "ENSSASG00005000002"; gene_version "1"; transcript_id "ENSSAST00005000002"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1ab"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl transcript 266 13483 . + . gene_id "ENSSASG00005000003"; gene_version "1"; transcript_id "ENSSAST00005000003"; transcript_version "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1a"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl exon 266 13483 . + . gene_id "ENSSASG00005000003"; gene_version "1"; transcript_id "ENSSAST00005000003"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1a"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSSASE00005000003"; exon_version "1";
|
||||
MN908947.3 ensembl CDS 266 13480 . + 0 gene_id "ENSSASG00005000003"; gene_version "1"; transcript_id "ENSSAST00005000003"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1a"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSSASP00005000003"; protein_version "1";
|
||||
MN908947.3 ensembl start_codon 266 268 . + 0 gene_id "ENSSASG00005000003"; gene_version "1"; transcript_id "ENSSAST00005000003"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1a"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl stop_codon 13481 13483 . + 0 gene_id "ENSSASG00005000003"; gene_version "1"; transcript_id "ENSSAST00005000003"; transcript_version "1"; exon_number "1"; gene_name "ORF1ab"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "ORF1a"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl transcript 21563 25384 . + . gene_id "ENSSASG00005000004"; gene_version "1"; transcript_id "ENSSAST00005000004"; transcript_version "1"; gene_name "S"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "S"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl exon 21563 25384 . + . gene_id "ENSSASG00005000004"; gene_version "1"; transcript_id "ENSSAST00005000004"; transcript_version "1"; exon_number "1"; gene_name "S"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "S"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSSASE00005000004"; exon_version "1";
|
||||
MN908947.3 ensembl CDS 21563 25381 . + 0 gene_id "ENSSASG00005000004"; gene_version "1"; transcript_id "ENSSAST00005000004"; transcript_version "1"; exon_number "1"; gene_name "S"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "S"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSSASP00005000004"; protein_version "1";
|
||||
MN908947.3 ensembl start_codon 21563 21565 . + 0 gene_id "ENSSASG00005000004"; gene_version "1"; transcript_id "ENSSAST00005000004"; transcript_version "1"; exon_number "1"; gene_name "S"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "S"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
MN908947.3 ensembl stop_codon 25382 25384 . + 0 gene_id "ENSSASG00005000004"; gene_version "1"; transcript_id "ENSSAST00005000004"; transcript_version "1"; exon_number "1"; gene_name "S"; gene_source "ensembl"; gene_biotype "protein_coding"; transcript_name "S"; transcript_source "ensembl"; transcript_biotype "protein_coding";
|
||||
HERE
|
||||
|
||||
echo "> Run test"
|
||||
"$meta_executable" \
|
||||
--quant_results "sample1_quant_results.sf;sample2_quant_results.sf" \
|
||||
--gtf "genes.gtf" \
|
||||
--quant_type "salmon" \
|
||||
--gtf_extra_attributes "gene_name" \
|
||||
--gtf_group_features "gene_id" \
|
||||
--tsv "tx2gene.tsv"
|
||||
|
||||
echo "> Check results"
|
||||
[ ! -f "tx2gene.tsv" ] && echo "tx2gene.tsv was not created" && exit 1
|
||||
[ ! -s "tx2gene.tsv" ] && echo "tx2gene.tsv is empty" && exit 1
|
||||
|
||||
exit 0
|
||||
@@ -12,7 +12,7 @@ argument_groups:
|
||||
- name: "--quant_results"
|
||||
type: file
|
||||
multiple: true
|
||||
multiple_sep: ","
|
||||
multiple_sep: ";"
|
||||
- name: "--tx2gene_tsv"
|
||||
type: file
|
||||
- name: "--quant_type"
|
||||
@@ -41,7 +41,7 @@ argument_groups:
|
||||
- name: "--lengths_gene"
|
||||
type: file
|
||||
direction: output
|
||||
default: merged.gene_length.tsv
|
||||
default: merged.gene_lengths.tsv
|
||||
- name: "--tpm_transcript"
|
||||
type: file
|
||||
direction: output
|
||||
@@ -53,7 +53,7 @@ argument_groups:
|
||||
- name: "--lengths_transcript"
|
||||
type: file
|
||||
direction: output
|
||||
default: merged.transcript_length.tsv
|
||||
default: merged.transcript_lengths.tsv
|
||||
|
||||
resources:
|
||||
- type: bash_script
|
||||
@@ -61,6 +61,10 @@ resources:
|
||||
# copied from https://github.com/nf-core/rnaseq/blob/3.14.0/bin/tximport.r
|
||||
- path: tximport.r
|
||||
|
||||
test_resources:
|
||||
- type: bash_script
|
||||
path: test.sh
|
||||
|
||||
engines:
|
||||
- type: docker
|
||||
image: ubuntu:22.04
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
set -eo pipefail
|
||||
|
||||
function clean_up {
|
||||
rm -rf "$salmon_tmpdir"
|
||||
rm -rf "$tmpdir"
|
||||
}
|
||||
trap clean_up EXIT
|
||||
|
||||
tmpdir=$(mktemp -d "$meta_temp_dir/$meta_functionality_name-XXXXXXXX")
|
||||
tmpdir=$(mktemp -d "$meta_temp_dir/$meta_name-XXXXXXXX")
|
||||
|
||||
IFS="," read -ra results <<< $par_quant_results
|
||||
IFS=";" read -ra results <<< $par_quant_results
|
||||
for result in ${results[*]}
|
||||
do
|
||||
cp -r $result $tmpdir
|
||||
|
||||
59
src/tximport/test.sh
Normal file
59
src/tximport/test.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "> Prepare test data"
|
||||
|
||||
cat > "sample1_quant_results.sf" << HERE
|
||||
Name Length EffectiveLength TPM NumReads
|
||||
ENSSASG00005000004 3822 3572 15216.8 753
|
||||
ENSSASG00005000003 13218 12968 1502.34 269.9
|
||||
ENSSASG00005000002 21290 21040 23916.3 6971.1
|
||||
HERE
|
||||
|
||||
cat > "sample2_quant_results.sf" << HERE
|
||||
Name Length EffectiveLength TPM NumReads
|
||||
ENSSASG00005000004 3822 3572 23713.5 703
|
||||
ENSSASG00005000003 13218 12968 14280 1536.92
|
||||
ENSSASG00005000002 21290 21040 37447.4 6539.08
|
||||
HERE
|
||||
|
||||
cat > tx2gene.tsv << HERE
|
||||
ENSSASG00005000002 ENSSASG00005000002 ORF1ab
|
||||
ENSSASG00005000003 ENSSASG00005000003 ORF1ab
|
||||
ENSSASG00005000004 ENSSASG00005000004 S
|
||||
HERE
|
||||
|
||||
echo "> Run test"
|
||||
"$meta_executable" \
|
||||
--quant_results "sample1_quant_results.sf;sample2_quant_results.sf" \
|
||||
--tx2gene_tsv "tx2gene.tsv" \
|
||||
--quant_type "salmon" \
|
||||
# --tpm_gene gene_tpm.tsv \
|
||||
# --counts_gene gene_counts.tsv \
|
||||
# --counts_gene_length_scaled gene_counts_length_scaled.tsv \
|
||||
# --counts_gene_scaled gene_counts_scaled.tsv \
|
||||
# --lengths_gene gene_length.tsv \
|
||||
# --tpm_transcript transcript_tpm.tsv \
|
||||
# --counts_transcript transcript_counts.tsv \
|
||||
# --lengths_transcript transcript_length.tsv
|
||||
|
||||
echo "> Check results"
|
||||
[ ! -f "merged.gene_tpm.tsv" ] && echo "merged.gene_tpm.tsv was not created" && exit 1
|
||||
[ ! -s "merged.gene_tpm.tsv" ] && echo "merged.gene_tpm.tsv is empty" && exit 1
|
||||
[ ! -f "merged.gene_counts.tsv" ] && echo "merged.gene_counts.tsv was not created" && exit 1
|
||||
[ ! -s "merged.gene_counts.tsv" ] && echo "merged.gene_counts.tsv is empty" && exit 1
|
||||
[ ! -f "merged.gene_counts_length_scaled.tsv" ] && echo "merged.gene_counts_length_scaled.tsv was not created" && exit 1
|
||||
[ ! -s "merged.gene_counts_length_scaled.tsv" ] && echo "merged.gene_counts_length_scaled.tsv is empty" && exit 1
|
||||
[ ! -f "merged.gene_counts_scaled.tsv" ] && echo "merged.gene_counts_scaled.tsv was not created" && exit 1
|
||||
[ ! -s "merged.gene_counts_scaled.tsv" ] && echo "merged.gene_counts_scaled.tsv is empty" && exit 1
|
||||
[ ! -f "merged.gene_lengths.tsv" ] && echo "merged.gene_lengths.tsv was not created" && exit 1
|
||||
[ ! -s "merged.gene_lengths.tsv" ] && echo "merged.gene_lengths.tsv is empty" && exit 1
|
||||
[ ! -f "merged.transcript_tpm.tsv" ] && echo "merged.transcript_tpm.tsv was not created" && exit 1
|
||||
[ ! -s "merged.transcript_tpm.tsv" ] && echo "merged.transcript_tpm.tsv is empty" && exit 1
|
||||
[ ! -f "merged.transcript_counts.tsv" ] && echo "merged.transcript_counts.tsv was not created" && exit 1
|
||||
[ ! -s "merged.transcript_counts.tsv" ] && echo "merged.transcript_counts.tsv is empty" && exit 1
|
||||
[ ! -f "merged.transcript_lengths.tsv" ] && echo "merged.transcript_lengths.tsv was not created" && exit 1
|
||||
[ ! -s "merged.transcript_lengths.tsv" ] && echo "merged.transcript_lengths.tsv is empty" && exit 1
|
||||
|
||||
exit 0
|
||||
@@ -39,16 +39,9 @@ argument_groups:
|
||||
type: boolean
|
||||
default: false
|
||||
description: When using pre-built STAR indices do not re-extract and use splice junctions from the GTF file
|
||||
- name: "--seq_platform"
|
||||
- name: --star_sjdb_gtf_feature_exon
|
||||
type: string
|
||||
description: Sequencing platform.
|
||||
- name: "--seq_center"
|
||||
type: string
|
||||
description: Sequencing center.
|
||||
- name: "--extra_star_align_args"
|
||||
type: string
|
||||
default: ''
|
||||
description: Extra arguments to pass to STAR alignment command in addition to defaults defined by the pipeline.
|
||||
description: Feature type in GTF file to be used as exons for building transcripts
|
||||
- name: "--bam_csi_index"
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
@@ -4,381 +4,382 @@ workflow run_wf {
|
||||
|
||||
main:
|
||||
output_ch = input_ch
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired, input: input ] ]
|
||||
}
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired, input: input ] ]
|
||||
}
|
||||
|
||||
| star_align_reads.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "fastq_1",
|
||||
"input_r2": "fastq_2",
|
||||
"genome_dir": "star_index",
|
||||
"sjdb_gtf_file": "gtf",
|
||||
"out_sam_attr_rg_line": "star_sam_attr_rg_line"
|
||||
],
|
||||
toState: [
|
||||
"genome_bam": "aligned_reads",
|
||||
"transcriptome_bam": "reads_aligned_to_transcriptome",
|
||||
"star_multiqc": "log"
|
||||
],
|
||||
args: [
|
||||
quant_mode: "TranscriptomeSAM",
|
||||
twopass_mode: "Basic",
|
||||
out_sam_type: "BAM;Unsorted",
|
||||
run_rng_seed: 0,
|
||||
out_filter_multimap_nmax: 20,
|
||||
align_sjdb_overhang_min: 1,
|
||||
out_sam_attributes: "NH;HI;AS;NM;MD",
|
||||
quant_transcriptome_sam_output: "BanSingleEnd"
|
||||
]
|
||||
)
|
||||
| star_align_reads.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "fastq_1",
|
||||
"input_r2": "fastq_2",
|
||||
"genome_dir": "star_index",
|
||||
"sjdb_gtf_file": "gtf",
|
||||
"out_sam_attr_rg_line": "star_sam_attr_rg_line",
|
||||
"sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon"
|
||||
],
|
||||
toState: [
|
||||
"genome_bam": "aligned_reads",
|
||||
"transcriptome_bam": "reads_aligned_to_transcriptome",
|
||||
"star_multiqc": "log"
|
||||
],
|
||||
args: [
|
||||
quant_mode: "TranscriptomeSAM",
|
||||
twopass_mode: "Basic",
|
||||
out_sam_type: "BAM;Unsorted",
|
||||
run_rng_seed: 0,
|
||||
out_filter_multimap_nmax: 20,
|
||||
align_sjdb_overhang_min: 1,
|
||||
out_sam_attributes: "NH;HI;AS;NM;MD",
|
||||
quant_transcriptome_sam_output: "BanSingleEnd"
|
||||
]
|
||||
)
|
||||
|
||||
// GENOME BAM
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: ["input": "genome_bam"],
|
||||
toState: ["genome_bam_sorted": "output"],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_idxstats"
|
||||
)
|
||||
// GENOME BAM
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: ["input": "genome_bam"],
|
||||
toState: ["genome_bam_sorted": "output"],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_idxstats"
|
||||
)
|
||||
|
||||
//
|
||||
// Remove duplicate reads from BAM file based on UMIs
|
||||
//
|
||||
|
||||
// Deduplicate genome BAM file
|
||||
| umitools_dedup.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"paired": "paired",
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"get_output_stats": "umi_dedup_stats"
|
||||
],
|
||||
toState: [ "genome_bam_sorted": "output_bam" ],
|
||||
key: "genome_deduped"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_deduped"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_deduped_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_deduped_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta",
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_deduped_idxstats"
|
||||
)
|
||||
//
|
||||
// Remove duplicate reads from BAM file based on UMIs
|
||||
//
|
||||
|
||||
// Deduplicate genome BAM file
|
||||
| umitools_dedup.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"paired": "paired",
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"get_output_stats": "umi_dedup_stats"
|
||||
],
|
||||
toState: [ "genome_bam_sorted": "output_bam" ],
|
||||
key: "genome_deduped"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_deduped"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_deduped_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_deduped_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta",
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_deduped_idxstats"
|
||||
)
|
||||
|
||||
// Deduplicate transcriptome BAM file
|
||||
// Deduplicate transcriptome BAM file
|
||||
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [ "input": "transcriptome_bam" ],
|
||||
toState: [ "transcriptome_bam": "output" ],
|
||||
key: "transcriptome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [ "input": "transcriptome_bam" ],
|
||||
toState: [ "transcriptome_bam": "output" ],
|
||||
key: "transcriptome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_index": "output" ],
|
||||
key: "transcriptome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index",
|
||||
],
|
||||
toState: [ "transcriptome_bam_stats": "output" ],
|
||||
key: "transcriptome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_flagstat": "output" ],
|
||||
key: "transcriptome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_idxstats": "output" ],
|
||||
key: "transcriptome_idxstats"
|
||||
)
|
||||
|
||||
| umitools_dedup.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"paired": "paired",
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index",
|
||||
"get_output_stats": "umi_dedup_stats",
|
||||
],
|
||||
toState: [ "transcriptome_bam_deduped": "output_bam" ],
|
||||
key: "transcriptome_deduped"
|
||||
)
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [ "input": "transcriptome_bam_deduped" ],
|
||||
toState: [ "transcriptome_bam": "output" ],
|
||||
key: "transcriptome_deduped_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_index": "output" ],
|
||||
key: "transcriptome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index",
|
||||
],
|
||||
toState: [ "transcriptome_bam_stats": "output" ],
|
||||
key: "transcriptome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_flagstat": "output" ],
|
||||
key: "transcriptome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_idxstats": "output" ],
|
||||
key: "transcriptome_idxstats"
|
||||
)
|
||||
|
||||
| umitools_dedup.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"paired": "paired",
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index",
|
||||
"get_output_stats": "umi_dedup_stats",
|
||||
],
|
||||
toState: [ "transcriptome_bam_deduped": "output_bam" ],
|
||||
key: "transcriptome_deduped"
|
||||
)
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [ "input": "transcriptome_bam_deduped" ],
|
||||
toState: [ "transcriptome_bam": "output" ],
|
||||
key: "transcriptome_deduped_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_index": "output" ],
|
||||
key: "transcriptome_deduped_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_stats": "output" ],
|
||||
key: "transcriptome_deduped_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_flagstat": "output" ],
|
||||
key: "transcriptome_deduped_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_idxstats": "output" ],
|
||||
key: "transcriptome_deduped_idxstats"
|
||||
)
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"input": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_stats": "output" ],
|
||||
key: "transcriptome_deduped_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_flagstat": "output" ],
|
||||
key: "transcriptome_deduped_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.with_umi && state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"bam": "transcriptome_bam",
|
||||
"bai": "transcriptome_bam_index"
|
||||
],
|
||||
toState: [ "transcriptome_bam_idxstats": "output" ],
|
||||
key: "transcriptome_deduped_idxstats"
|
||||
)
|
||||
|
||||
// Fix paired-end reads in name sorted BAM file
|
||||
| umitools_prepareforquant.run (
|
||||
runIf: { id, state -> state.with_umi && state.paired && state.aligner == 'star_salmon' },
|
||||
fromState: [ "bam": "transcriptome_bam" ],
|
||||
toState: [ "transcriptome_bam": "output" ]
|
||||
)
|
||||
// Fix paired-end reads in name sorted BAM file
|
||||
| umitools_prepareforquant.run (
|
||||
runIf: { id, state -> state.with_umi && state.paired && state.aligner == 'star_salmon' },
|
||||
fromState: [ "bam": "transcriptome_bam" ],
|
||||
toState: [ "transcriptome_bam": "output" ]
|
||||
)
|
||||
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
|
||||
// Count reads from BAM alignments using Salmon
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"lib_type": "lib_type",
|
||||
"alignments": "transcriptome_bam",
|
||||
"targets": "transcript_fasta",
|
||||
"gene_map": "gtf"
|
||||
],
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"quant_results_file": "quant_results"
|
||||
]
|
||||
)
|
||||
// Count reads from BAM alignments using Salmon
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.aligner == 'star_salmon' },
|
||||
fromState: [
|
||||
"lib_type": "lib_type",
|
||||
"alignments": "transcriptome_bam",
|
||||
"targets": "transcript_fasta",
|
||||
"gene_map": "gtf"
|
||||
],
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"quant_results_file": "quant_results"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = (state.aligner == 'star_salmon') ? state + [salmon_multiqc: state.quant_out_dir] : state
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| rsem_calculate_expression.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"strandedness": "strandedness",
|
||||
"paired": "paired",
|
||||
"input": "input",
|
||||
"index": "rsem_index",
|
||||
"extra_args": "extra_rsem_calculate_expression_args"
|
||||
],
|
||||
toState: [
|
||||
"rsem_counts_gene": "counts_gene",
|
||||
"rsem_counts_transcripts": "counts_transcripts",
|
||||
"rsem_multiqc": "stat",
|
||||
"star_multiqc": "logs",
|
||||
"bam_star_rsem": "bam_star",
|
||||
"bam_genome_rsem": "bam_genome",
|
||||
"bam_transcript_rsem": "bam_transcript"
|
||||
]
|
||||
)
|
||||
|
||||
// RSEM_Star BAM
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: ["input": "bam_star_rsem"],
|
||||
toState: ["genome_bam_sorted": "output"],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_idxstats"
|
||||
)
|
||||
| map { id, state ->
|
||||
def mod_state = (state.aligner == 'star_salmon') ? state + [salmon_multiqc: state.quant_out_dir] : state
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| rsem_calculate_expression.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"strandedness": "strandedness",
|
||||
"paired": "paired",
|
||||
"input": "input",
|
||||
"index": "rsem_index",
|
||||
"extra_args": "extra_rsem_calculate_expression_args"
|
||||
],
|
||||
toState: [
|
||||
"rsem_counts_gene": "counts_gene",
|
||||
"rsem_counts_transcripts": "counts_transcripts",
|
||||
"rsem_multiqc": "stat",
|
||||
"star_multiqc": "logs",
|
||||
"bam_star_rsem": "bam_star",
|
||||
"bam_genome_rsem": "bam_genome",
|
||||
"bam_transcript_rsem": "bam_transcript"
|
||||
]
|
||||
)
|
||||
|
||||
// RSEM_Star BAM
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: ["input": "bam_star_rsem"],
|
||||
toState: ["genome_bam_sorted": "output"],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted"
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"input": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "genome_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "genome_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> state.aligner == 'star_rsem' },
|
||||
fromState: [
|
||||
"bam": "genome_bam_sorted",
|
||||
"bai": "genome_bam_index",
|
||||
"fasta": "fasta"
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "genome_idxstats"
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
[ "star_multiqc": "star_multiqc",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"genome_bam_sorted": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"transcriptome_bam": "transcriptome_bam",
|
||||
"transcriptome_bam_index": "transcriptome_bam_index",
|
||||
"transcriptome_bam_stats": "transcriptome_bam_stats",
|
||||
"transcriptome_bam_flagstat": "transcriptome_bam_flagstat",
|
||||
"transcriptome_bam_idxstats": "transcriptome_bam_idxstats",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"bam_genome_rsem": "bam_genome_rsem",
|
||||
"bam_transcript_rsem": "bam_transcript_rsem" ]
|
||||
)
|
||||
| setState (
|
||||
[ "star_multiqc": "star_multiqc",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"genome_bam_sorted": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"transcriptome_bam": "transcriptome_bam",
|
||||
"transcriptome_bam_index": "transcriptome_bam_index",
|
||||
"transcriptome_bam_stats": "transcriptome_bam_stats",
|
||||
"transcriptome_bam_flagstat": "transcriptome_bam_flagstat",
|
||||
"transcriptome_bam_idxstats": "transcriptome_bam_idxstats",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"bam_genome_rsem": "bam_genome_rsem",
|
||||
"bam_transcript_rsem": "bam_transcript_rsem" ]
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -5,62 +5,62 @@ workflow run_wf {
|
||||
main:
|
||||
output_ch = input_ch
|
||||
|
||||
| map { id, state ->
|
||||
def quant_results = state.quant_type == 'kallisto' ? state.kallisto_quant_results : state.salmon_quant_results
|
||||
[id, state + [quant_results: quant_results]]
|
||||
}
|
||||
|
||||
| tx2gene.run (
|
||||
fromState: [
|
||||
"quant_results": "quant_results",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"gtf": "gtf",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"quant_type": "quant_type"
|
||||
],
|
||||
toState: [ "tx2gene_tsv": "tsv" ]
|
||||
)
|
||||
| map { id, state ->
|
||||
def quant_results = state.quant_type == 'kallisto' ? state.kallisto_quant_results : state.salmon_quant_results
|
||||
[id, state + [quant_results: quant_results]]
|
||||
}
|
||||
|
||||
| tx2gene.run (
|
||||
fromState: [
|
||||
"quant_results": "quant_results",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"gtf": "gtf",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"quant_type": "quant_type"
|
||||
],
|
||||
toState: [ "tx2gene_tsv": "tsv" ]
|
||||
)
|
||||
|
||||
| tximport.run (
|
||||
fromState: [
|
||||
"quant_results": "quant_results",
|
||||
"tx2gene_tsv": "tx2gene_tsv",
|
||||
"quant_type": "quant_type"
|
||||
],
|
||||
toState: [
|
||||
"tpm_gene": "tpm_gene",
|
||||
| tximport.run (
|
||||
fromState: [
|
||||
"quant_results": "quant_results",
|
||||
"tx2gene_tsv": "tx2gene_tsv",
|
||||
"quant_type": "quant_type"
|
||||
],
|
||||
toState: [
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"length_gene": "length_gene",
|
||||
"length_transcript": "length_transcript"
|
||||
]
|
||||
)
|
||||
|
||||
| summarizedexperiment.run (
|
||||
fromState: [
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"tx2gene_tsv": "tx2gene_tsv"
|
||||
],
|
||||
toState: [ "quant_merged_summarizedexperiment": "output" ]
|
||||
)
|
||||
|
||||
| setState (
|
||||
[ "tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"length_gene": "length_gene",
|
||||
"length_transcript": "length_transcript"
|
||||
]
|
||||
)
|
||||
|
||||
| summarizedexperiment.run (
|
||||
fromState: [
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"tx2gene_tsv": "tx2gene_tsv"
|
||||
],
|
||||
toState: [ "quant_merged_summarizedexperiment": "output" ]
|
||||
)
|
||||
|
||||
| setState (
|
||||
[ "tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"quant_merged_summarizedexperiment": "quant_merged_summarizedexperiment" ]
|
||||
)
|
||||
"quant_merged_summarizedexperiment": "quant_merged_summarizedexperiment" ]
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -7,154 +7,154 @@ workflow run_wf {
|
||||
main:
|
||||
output_ch = input_ch
|
||||
|
||||
| picard_markduplicates.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"bam": "genome_bam",
|
||||
"fasta": "fasta",
|
||||
"fai": "fai",
|
||||
"extra_picard_args": "extra_picard_args"
|
||||
],
|
||||
toState: [
|
||||
"processed_genome_bam": "output_bam",
|
||||
"markduplicates_metrics": "metrics"
|
||||
]
|
||||
)
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [ "input": "processed_genome_bam" ],
|
||||
toState: [ "processed_genome_bam": "output" ],
|
||||
key: "genome_sorted_MarkDuplicates"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"input": "processed_genome_bam",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted_MarkDuplicates",
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"input": "processed_genome_bam",
|
||||
"bai": "genome_bam_index"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "MarkDuplicates_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
| picard_markduplicates.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"bam": "genome_bam",
|
||||
"fasta": "fasta",
|
||||
"fai": "fai",
|
||||
"extra_picard_args": "extra_picard_args"
|
||||
],
|
||||
toState: [
|
||||
"processed_genome_bam": "output_bam",
|
||||
"markduplicates_metrics": "metrics"
|
||||
]
|
||||
)
|
||||
| samtools_sort.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [ "input": "processed_genome_bam" ],
|
||||
toState: [ "processed_genome_bam": "output" ],
|
||||
key: "genome_sorted_MarkDuplicates"
|
||||
)
|
||||
| samtools_index.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"input": "processed_genome_bam",
|
||||
"csi": "bam_csi_index"
|
||||
],
|
||||
toState: [ "genome_bam_index": "output" ],
|
||||
key: "genome_sorted_MarkDuplicates",
|
||||
)
|
||||
| samtools_stats.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"input": "processed_genome_bam",
|
||||
"bai": "genome_bam_index"
|
||||
],
|
||||
toState: [ "genome_bam_stats": "output" ],
|
||||
key: "MarkDuplicates_stats"
|
||||
)
|
||||
| samtools_flagstat.run (
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"bam": "processed_genome_bam",
|
||||
"bai": "genome_bam_index"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "MarkDuplicates_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"bam": "processed_genome_bam",
|
||||
"bai": "genome_bam_index"
|
||||
],
|
||||
toState: [ "genome_bam_flagstat": "output" ],
|
||||
key: "MarkDuplicates_flagstat"
|
||||
)
|
||||
| samtools_idxstats.run(
|
||||
runIf: { id, state -> !state.skip_markduplicates && !state.with_umi },
|
||||
fromState: [
|
||||
"bam": "processed_genome_bam",
|
||||
"bai": "genome_bam_index"
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "MarkDuplicates_idxstats"
|
||||
)
|
||||
],
|
||||
toState: [ "genome_bam_idxstats": "output" ],
|
||||
key: "MarkDuplicates_idxstats"
|
||||
)
|
||||
|
||||
| stringtie.run (
|
||||
runIf: { id, state -> !state.skip_stringtie },
|
||||
fromState: [
|
||||
"strandedness": "strandedness",
|
||||
"bam": "processed_genome_bam",
|
||||
"annotation_gtf": "gtf",
|
||||
"extra_stringtie_args": "extra_stringtie_args"
|
||||
],
|
||||
toState: [
|
||||
"stringtie_transcript_gtf": "transcript_gtf",
|
||||
"stringtie_coverage_gtf": "coverage_gtf",
|
||||
"stringtie_abundance": "abundance",
|
||||
"stringtie_ballgown": "ballgown"
|
||||
]
|
||||
)
|
||||
| stringtie.run (
|
||||
runIf: { id, state -> !state.skip_stringtie },
|
||||
fromState: [
|
||||
"strandedness": "strandedness",
|
||||
"bam": "processed_genome_bam",
|
||||
"annotation_gtf": "gtf",
|
||||
"extra_stringtie_args": "extra_stringtie_args"
|
||||
],
|
||||
toState: [
|
||||
"stringtie_transcript_gtf": "transcript_gtf",
|
||||
"stringtie_coverage_gtf": "coverage_gtf",
|
||||
"stringtie_abundance": "abundance",
|
||||
"stringtie_ballgown": "ballgown"
|
||||
]
|
||||
)
|
||||
|
||||
// Genome-wide coverage with BEDTools
|
||||
// Genome-wide coverage with BEDTools
|
||||
|
||||
| bedtools_genomecov.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"strandedness": "strandedness",
|
||||
"bam": "processed_genome_bam",
|
||||
"extra_bedtools_args": "extra_bedtools_args"
|
||||
],
|
||||
toState: [
|
||||
| bedtools_genomecov.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"strandedness": "strandedness",
|
||||
"bam": "processed_genome_bam",
|
||||
"extra_bedtools_args": "extra_bedtools_args"
|
||||
],
|
||||
toState: [
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse"
|
||||
]
|
||||
)
|
||||
|
||||
| bedclip.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"input_bedgraph": "bedgraph_forward",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bedgraph_forward": "output_bedgraph" ],
|
||||
key: "bedclip_forward"
|
||||
)
|
||||
|
||||
| bedgraphtobigwig.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"bedgraph": "bedgraph_forward",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bigwig_forward": "bigwig" ],
|
||||
key: "bedgraphtobigwig_forward"
|
||||
)
|
||||
|
||||
| bedclip.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"input_bedgraph": "bedgraph_reverse",
|
||||
"sizes": "chrom_sizes",
|
||||
],
|
||||
toState: [ "bedgraph_reverse": "output_bedgraph" ],
|
||||
key: "bedclip_reverse"
|
||||
)
|
||||
|
||||
| bedgraphtobigwig.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"bedgraph": "bedgraph_reverse",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bigwig_reverse": "bigwig" ],
|
||||
key: "bedgraphtobigwig_reverse"
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
"processed_genome_bam": "processed_genome_bam",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"markduplicates_metrics": "markduplicates_metrics",
|
||||
"stringtie_transcript_gtf": "stringtie_transcript_gtf",
|
||||
"stringtie_coverage_gtf": "stringtie_coverage_gtf",
|
||||
"stringtie_abundance": "stringtie_abundance",
|
||||
"stringtie_ballgown": "stringtie_ballgown",
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse"
|
||||
]
|
||||
)
|
||||
|
||||
| bedclip.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"input_bedgraph": "bedgraph_forward",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bedgraph_forward": "output_bedgraph" ],
|
||||
key: "bedclip_forward"
|
||||
)
|
||||
|
||||
| bedgraphtobigwig.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"bedgraph": "bedgraph_forward",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bigwig_forward": "bigwig" ],
|
||||
key: "bedgraphtobigwig_forward"
|
||||
)
|
||||
|
||||
| bedclip.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"input_bedgraph": "bedgraph_reverse",
|
||||
"sizes": "chrom_sizes",
|
||||
],
|
||||
toState: [ "bedgraph_reverse": "output_bedgraph" ],
|
||||
key: "bedclip_reverse"
|
||||
)
|
||||
|
||||
| bedgraphtobigwig.run (
|
||||
runIf: { id, state -> !state.skip_bigwig },
|
||||
fromState: [
|
||||
"bedgraph": "bedgraph_reverse",
|
||||
"sizes": "chrom_sizes"
|
||||
],
|
||||
toState: [ "bigwig_reverse": "bigwig" ],
|
||||
key: "bedgraphtobigwig_reverse"
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
"processed_genome_bam": "processed_genome_bam",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"markduplicates_metrics": "markduplicates_metrics",
|
||||
"stringtie_transcript_gtf": "stringtie_transcript_gtf",
|
||||
"stringtie_coverage_gtf": "stringtie_coverage_gtf",
|
||||
"stringtie_abundance": "stringtie_abundance",
|
||||
"stringtie_ballgown": "stringtie_ballgown",
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse",
|
||||
"bigwig_forward": "bigwig_forward",
|
||||
"bigwig_reverse": "bigwig_reverse"
|
||||
)
|
||||
"bedgraph_reverse": "bedgraph_reverse",
|
||||
"bigwig_forward": "bigwig_forward",
|
||||
"bigwig_reverse": "bigwig_reverse"
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -6,238 +6,238 @@ workflow run_wf {
|
||||
main:
|
||||
output_ch = input_ch
|
||||
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [paired: paired, input: input] ]
|
||||
}
|
||||
|
||||
// Perform QC on input fastq files
|
||||
| fastqc.run (
|
||||
runIf: { id, state -> !state.skip_qc && !state.skip_fastqc },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input ]
|
||||
},
|
||||
toState: [
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Extract UMIs from fastq files and discard read 1 or read 2 if required
|
||||
| umitools_extract.run (
|
||||
runIf: { id, state -> state.with_umi && !state.skip_umi_extract },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def bc_pattern = state.paired ? [ state.umitools_bc_pattern, state.umitools_bc_pattern2 ] : [ state.umitools_bc_pattern ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
bc_pattern: bc_pattern,
|
||||
umi_discard_read: state.umi_discard_read ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Discard read if required
|
||||
| map { id, state ->
|
||||
def paired = state.paired
|
||||
def fastq_2 = state.fastq_2
|
||||
if (paired && state.with_umi && !state.skip_umi_extract && state.umi_discard_read != 0) {
|
||||
fastq_2 = state.remove(state.fastq_2)
|
||||
paired = false
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [paired: paired, input: input] ]
|
||||
}
|
||||
[ id, state + [paired: paired, fastq_2: fastq_2] ]
|
||||
}
|
||||
|
||||
// Trim reads using Trim galore!
|
||||
| trimgalore.run (
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "trimgalore" },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
min_trimmed_reads: state.min_trimmed_reads ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "trimmed_r1",
|
||||
"fastq_2": "trimmed_r2",
|
||||
"trim_log_1": "trimming_report_r1",
|
||||
"trim_log_2": "trimming_report_r2",
|
||||
"trim_zip_1": "trimmed_fastqc_zip_1",
|
||||
"trim_zip_2": "trimmed_fastqc_zip_2",
|
||||
"trim_html_1": "trimmed_fastqc_html_1",
|
||||
"trim_html_2": "trimmed_fastqc_html_2"
|
||||
],
|
||||
args: [gzip: true, fastqc: true]
|
||||
)
|
||||
|
||||
// Trim reads using fastp
|
||||
| fastp.run(
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "fastp" },
|
||||
fromState: [
|
||||
"in1": "fastq_1",
|
||||
"in2": "fastq_2",
|
||||
"merge": "fastp_save_merged",
|
||||
"interleaved_in": "interleaved_reads",
|
||||
"detect_adapter_for_pe": "fastp_pe_detect_adapter",
|
||||
"adapter_fasta": "fastp_adapter_fasta"
|
||||
],
|
||||
toState: [
|
||||
"fastq_1": "out1",
|
||||
"fastq_2": "out2",
|
||||
"failed_trim": "failed_out",
|
||||
"failed_trim_unpaired1": "unpaired1",
|
||||
"failed_trim_unpaired2": "unpaired2",
|
||||
"trim_json": "json",
|
||||
"trim_html": "html",
|
||||
"trim_merged_out": "merged_out"
|
||||
]
|
||||
)
|
||||
|
||||
// Perform FASTQC on reads trimmed using fastp
|
||||
| fastqc.run(
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "fastp" },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input ]
|
||||
},
|
||||
toState: [
|
||||
"trim_html_1": "fastqc_html_1",
|
||||
"trim_html_2": "fastqc_html_2",
|
||||
"trim_zip_1": "fastqc_zip_1",
|
||||
"trim_zip_2": "fastqc_zip_2"
|
||||
],
|
||||
key: "fastqc_trimming"
|
||||
)
|
||||
|
||||
// Filter out contaminant RNA
|
||||
| bbmap_bbsplit.run (
|
||||
runIf: { id, state -> !state.skip_bbsplit },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
built_bbsplit_index: state.bbsplit_index ]
|
||||
},
|
||||
args: ["only_build_index": false],
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Sort reads by rRNA and non-rRNA
|
||||
| sortmerna.run (
|
||||
runIf: { id, state -> state.remove_ribo_rna },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def filePaths = state.ribo_database_manifest.readLines()
|
||||
def refs = filePaths.collect { it }
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
ribo_database_manifest: refs ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"sortmerna_log": "sortmerna_log"
|
||||
]
|
||||
)
|
||||
|
||||
// Sub-sample FastQ files and pseudo-align with Salmon to auto-infer strandedness
|
||||
| fq_subsample.run (
|
||||
runIf: { id, state -> state.strandedness == 'auto' },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[
|
||||
input: input,
|
||||
extra_args: state.extra_fq_subsample_args
|
||||
// Perform QC on input fastq files
|
||||
| fastqc.run (
|
||||
runIf: { id, state -> !state.skip_qc && !state.skip_fastqc },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input ]
|
||||
},
|
||||
toState: [
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2"
|
||||
]
|
||||
},
|
||||
toState: [
|
||||
"subsampled_fastq_1": "output_1",
|
||||
"subsampled_fastq_2": "output_2"
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.strandedness == 'auto' },
|
||||
fromState: { id, state ->
|
||||
def unmated_reads = !state.paired ? state.subsampled_fastq_1 : null
|
||||
def mates1 = state.paired ? state.subsampled_fastq_1 : null
|
||||
def mates2 = state.paired ? state.subsampled_fastq_2 : null
|
||||
[ unmated_reads: unmated_reads,
|
||||
mates1: mates1,
|
||||
mates2: mates2,
|
||||
gene_map: state.gtf,
|
||||
index: state.salmon_index,
|
||||
lib_type: state.lib_type ]
|
||||
},
|
||||
args: [ "skip_quant": true ],
|
||||
toState: [ "salmon_quant_output": "output" ]
|
||||
)
|
||||
// Extract UMIs from fastq files and discard read 1 or read 2 if required
|
||||
| umitools_extract.run (
|
||||
runIf: { id, state -> state.with_umi && !state.skip_umi_extract },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def bc_pattern = state.paired ? [ state.umitools_bc_pattern, state.umitools_bc_pattern2 ] : [ state.umitools_bc_pattern ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
bc_pattern: bc_pattern,
|
||||
umi_discard_read: state.umi_discard_read ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Discard read if required
|
||||
| map { id, state ->
|
||||
def paired = state.paired
|
||||
def fastq_2 = state.fastq_2
|
||||
if (paired && state.with_umi && !state.skip_umi_extract && state.umi_discard_read != 0) {
|
||||
fastq_2 = state.remove(state.fastq_2)
|
||||
paired = false
|
||||
}
|
||||
[ id, state + [paired: paired, fastq_2: fastq_2] ]
|
||||
}
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = (!state.paired) ?
|
||||
[trim_log_2: state.remove(state.trim_log_2), trim_zip_2: state.remove(state.trim_zip_2), trim_html_2: state.remove(state.trim_html_2), failed_trim_unpaired2: state.remove(state.failed_trim_unpaired2)] :
|
||||
[]
|
||||
[ id, state + mod_state ]
|
||||
}
|
||||
// Trim reads using Trim galore!
|
||||
| trimgalore.run (
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "trimgalore" },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
min_trimmed_reads: state.min_trimmed_reads ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "trimmed_r1",
|
||||
"fastq_2": "trimmed_r2",
|
||||
"trim_log_1": "trimming_report_r1",
|
||||
"trim_log_2": "trimming_report_r2",
|
||||
"trim_zip_1": "trimmed_fastqc_zip_1",
|
||||
"trim_zip_2": "trimmed_fastqc_zip_2",
|
||||
"trim_html_1": "trimmed_fastqc_html_1",
|
||||
"trim_html_2": "trimmed_fastqc_html_2"
|
||||
],
|
||||
args: [gzip: true, fastqc: true]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
// Trim reads using fastp
|
||||
| fastp.run(
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "fastp" },
|
||||
fromState: [
|
||||
"in1": "fastq_1",
|
||||
"in2": "fastq_2",
|
||||
"merge": "fastp_save_merged",
|
||||
"interleaved_in": "interleaved_reads",
|
||||
"detect_adapter_for_pe": "fastp_pe_detect_adapter",
|
||||
"adapter_fasta": "fastp_adapter_fasta"
|
||||
],
|
||||
toState: [
|
||||
"fastq_1": "out1",
|
||||
"fastq_2": "out2",
|
||||
"failed_trim": "failed_out",
|
||||
"failed_trim_unpaired1": "unpaired1",
|
||||
"failed_trim_unpaired2": "unpaired2",
|
||||
"trim_json": "json",
|
||||
"trim_html": "html",
|
||||
"trim_merged_out": "merged_out"
|
||||
]
|
||||
)
|
||||
|
||||
| setState (
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"qc_output1": "fastq_1",
|
||||
"qc_output2": "fastq_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"trim_html_1": "trim_html_1",
|
||||
"trim_html_2": "trim_html_2",
|
||||
"sortmerna_log": "sortmerna_log",
|
||||
"failed_trim": "failed_trim",
|
||||
"failed_trim_unpaired1": "failed_trim_unpaired1",
|
||||
"failed_trim_unpaired2": "failed_trim_unpaired2",
|
||||
"trim_json": "trim_json",
|
||||
"trim_html": "trim_html",
|
||||
"trim_merged_out": "trim_merged_out",
|
||||
"salmon_quant_output": "salmon_quant_output"
|
||||
)
|
||||
// Perform FASTQC on reads trimmed using fastp
|
||||
| fastqc.run(
|
||||
runIf: { id, state -> !state.skip_trimming && state.trimmer == "fastp" },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input ]
|
||||
},
|
||||
toState: [
|
||||
"trim_html_1": "fastqc_html_1",
|
||||
"trim_html_2": "fastqc_html_2",
|
||||
"trim_zip_1": "fastqc_zip_1",
|
||||
"trim_zip_2": "fastqc_zip_2"
|
||||
],
|
||||
key: "fastqc_trimming"
|
||||
)
|
||||
|
||||
// Filter out contaminant RNA
|
||||
| bbmap_bbsplit.run (
|
||||
runIf: { id, state -> !state.skip_bbsplit },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
built_bbsplit_index: state.bbsplit_index ]
|
||||
},
|
||||
args: ["only_build_index": false],
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Sort reads by rRNA and non-rRNA
|
||||
| sortmerna.run (
|
||||
runIf: { id, state -> state.remove_ribo_rna },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def filePaths = state.ribo_database_manifest.readLines()
|
||||
def refs = filePaths.collect { it }
|
||||
[ paired: state.paired,
|
||||
input: input,
|
||||
ribo_database_manifest: refs ]
|
||||
},
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"sortmerna_log": "sortmerna_log"
|
||||
]
|
||||
)
|
||||
|
||||
// Sub-sample FastQ files and pseudo-align with Salmon to auto-infer strandedness
|
||||
| fq_subsample.run (
|
||||
runIf: { id, state -> state.strandedness == 'auto' },
|
||||
fromState: { id, state ->
|
||||
def input = state.paired ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
[
|
||||
input: input,
|
||||
extra_args: state.extra_fq_subsample_args
|
||||
]
|
||||
},
|
||||
toState: [
|
||||
"subsampled_fastq_1": "output_1",
|
||||
"subsampled_fastq_2": "output_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.strandedness == 'auto' },
|
||||
fromState: { id, state ->
|
||||
def unmated_reads = !state.paired ? state.subsampled_fastq_1 : null
|
||||
def mates1 = state.paired ? state.subsampled_fastq_1 : null
|
||||
def mates2 = state.paired ? state.subsampled_fastq_2 : null
|
||||
[ unmated_reads: unmated_reads,
|
||||
mates1: mates1,
|
||||
mates2: mates2,
|
||||
gene_map: state.gtf,
|
||||
index: state.salmon_index,
|
||||
lib_type: state.lib_type ]
|
||||
},
|
||||
args: [ "skip_quant": true ],
|
||||
toState: [ "salmon_quant_output": "output" ]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = (!state.paired) ?
|
||||
[trim_log_2: state.remove(state.trim_log_2), trim_zip_2: state.remove(state.trim_zip_2), trim_html_2: state.remove(state.trim_html_2), failed_trim_unpaired2: state.remove(state.failed_trim_unpaired2)] :
|
||||
[]
|
||||
[ id, state + mod_state ]
|
||||
}
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"qc_output1": "fastq_1",
|
||||
"qc_output2": "fastq_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"trim_html_1": "trim_html_1",
|
||||
"trim_html_2": "trim_html_2",
|
||||
"sortmerna_log": "sortmerna_log",
|
||||
"failed_trim": "failed_trim",
|
||||
"failed_trim_unpaired1": "failed_trim_unpaired1",
|
||||
"failed_trim_unpaired2": "failed_trim_unpaired2",
|
||||
"trim_json": "trim_json",
|
||||
"trim_html": "trim_html",
|
||||
"trim_merged_out": "trim_merged_out",
|
||||
"salmon_quant_output": "salmon_quant_output"
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -6,278 +6,280 @@ workflow run_wf {
|
||||
main:
|
||||
output_ch = input_ch
|
||||
|
||||
// Uncompress fasta
|
||||
| gunzip.run (
|
||||
fromState: [ "input": "fasta" ],
|
||||
toState: [ "fasta": "output" ],
|
||||
key: "gunzip_fasta",
|
||||
args: [ output: "reference_genome.fasta" ]
|
||||
)
|
||||
// Uncompress fasta
|
||||
| gunzip.run (
|
||||
fromState: [ "input": "fasta" ],
|
||||
toState: [ "fasta": "output" ],
|
||||
key: "gunzip_fasta",
|
||||
args: [ output: "reference_genome.fasta" ]
|
||||
)
|
||||
|
||||
// uncompress gtf
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.gtf},
|
||||
fromState: [ "input": "gtf" ],
|
||||
toState: [ "gtf": "output" ],
|
||||
key: "gunzip_gtf",
|
||||
args: [output: "gene_annotation.gtf"]
|
||||
)
|
||||
// uncompress gtf
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.gtf},
|
||||
fromState: [ "input": "gtf" ],
|
||||
toState: [ "gtf": "output" ],
|
||||
key: "gunzip_gtf",
|
||||
args: [output: "gene_annotation.gtf"]
|
||||
)
|
||||
|
||||
// uncompress gff
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> !state.gtf && state.gff},
|
||||
fromState: [ "input": "gff" ],
|
||||
toState: [ "gff": "output" ],
|
||||
key: "gunzip_gff",
|
||||
args: [output: "gene_annotation.gff"]
|
||||
)
|
||||
// uncompress gff
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> !state.gtf && state.gff},
|
||||
fromState: [ "input": "gff" ],
|
||||
toState: [ "gff": "output" ],
|
||||
key: "gunzip_gff",
|
||||
args: [output: "gene_annotation.gff"]
|
||||
)
|
||||
|
||||
// gff to gtf
|
||||
| gffread.run (
|
||||
runIf: {id, state -> !state.gtf && state.gff},
|
||||
fromState: [
|
||||
"input": "gff",
|
||||
"genome": "fasta"
|
||||
],
|
||||
toState: [ "gtf": "outfile" ],
|
||||
args: [
|
||||
outfile: "gene_annotation.gtf",
|
||||
gtf_output: true
|
||||
]
|
||||
)
|
||||
// gff to gtf
|
||||
| gffread.run (
|
||||
runIf: {id, state -> !state.gtf && state.gff},
|
||||
fromState: [
|
||||
"input": "gff",
|
||||
"genome": "fasta"
|
||||
],
|
||||
toState: [ "gtf": "outfile" ],
|
||||
args: [
|
||||
outfile: "gene_annotation.gtf",
|
||||
gtf_output: true,
|
||||
keep_attrs: true,
|
||||
keep_exon_attrs: true
|
||||
]
|
||||
)
|
||||
|
||||
| gtf_filter.run(
|
||||
runIf: {id, state -> state.gtf && state.filter_gtf},
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "gtf": "filtered_gtf" ],
|
||||
args: [filtered_gtf: "gene_annotation.gtf"]
|
||||
)
|
||||
| gtf_filter.run(
|
||||
runIf: {id, state -> state.gtf && state.filter_gtf},
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "gtf": "filtered_gtf" ],
|
||||
args: [filtered_gtf: "gene_annotation.gtf"]
|
||||
)
|
||||
|
||||
// uncompress additional fasta
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.additional_fasta},
|
||||
fromState: [ "input": "additional_fasta" ],
|
||||
toState: [ "additional_fasta": "output" ],
|
||||
key: "gunzip_additional_fasta",
|
||||
args: [output: "additional.fasta"]
|
||||
)
|
||||
// uncompress additional fasta
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.additional_fasta},
|
||||
fromState: [ "input": "additional_fasta" ],
|
||||
toState: [ "additional_fasta": "output" ],
|
||||
key: "gunzip_additional_fasta",
|
||||
args: [output: "additional.fasta"]
|
||||
)
|
||||
|
||||
// concatenate additional fasta
|
||||
| cat_additional_fasta.run (
|
||||
runIf: {id, state -> state.additional_fasta},
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf",
|
||||
"additional_fasta": "additional_fasta",
|
||||
"biotype": "biotype"
|
||||
],
|
||||
toState: [
|
||||
"fasta": "fasta_output",
|
||||
"gtf": "gtf_output"
|
||||
],
|
||||
args: [
|
||||
fasta_output: "genome_additional.fasta",
|
||||
gtf_output: "genome_additional.gtf"
|
||||
]
|
||||
)
|
||||
// concatenate additional fasta
|
||||
| cat_additional_fasta.run (
|
||||
runIf: {id, state -> state.additional_fasta},
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf",
|
||||
"additional_fasta": "additional_fasta",
|
||||
"biotype": "biotype"
|
||||
],
|
||||
toState: [
|
||||
"fasta": "fasta_output",
|
||||
"gtf": "gtf_output"
|
||||
],
|
||||
args: [
|
||||
fasta_output: "genome_additional.fasta",
|
||||
gtf_output: "genome_additional.gtf"
|
||||
]
|
||||
)
|
||||
|
||||
// uncompress bed file
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.gene_bed},
|
||||
fromState: [ "input": "gene_bed" ],
|
||||
toState: [ "gene_bed": "output" ],
|
||||
key: "gunzip_gene_bed",
|
||||
args: [output: "genome_additional.bed"]
|
||||
)
|
||||
// uncompress bed file
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.gene_bed},
|
||||
fromState: [ "input": "gene_bed" ],
|
||||
toState: [ "gene_bed": "output" ],
|
||||
key: "gunzip_gene_bed",
|
||||
args: [output: "genome_additional.bed"]
|
||||
)
|
||||
|
||||
// gtf to bed
|
||||
| gtf2bed.run (
|
||||
runIf: { id, state -> !state.gene_bed},
|
||||
fromState: [ "gtf": "gtf" ],
|
||||
toState: [ "gene_bed": "bed_output" ],
|
||||
args: [bed_output: "genome_additional.bed"]
|
||||
)
|
||||
// gtf to bed
|
||||
| gtf2bed.run (
|
||||
runIf: { id, state -> !state.gene_bed},
|
||||
fromState: [ "gtf": "gtf" ],
|
||||
toState: [ "gene_bed": "bed_output" ],
|
||||
args: [bed_output: "genome_additional.bed"]
|
||||
)
|
||||
|
||||
// uncompress transcript fasta
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.transcript_fasta},
|
||||
fromState: [ "input": "transcript_fasta" ],
|
||||
toState: [ "transcript_fasta": "output" ],
|
||||
key: "transcript_fasta",
|
||||
args: [output: "transcriptome.fasta"]
|
||||
)
|
||||
// uncompress transcript fasta
|
||||
| gunzip.run (
|
||||
runIf: {id, state -> state.transcript_fasta},
|
||||
fromState: [ "input": "transcript_fasta" ],
|
||||
toState: [ "transcript_fasta": "output" ],
|
||||
key: "transcript_fasta",
|
||||
args: [output: "transcriptome.fasta"]
|
||||
)
|
||||
|
||||
// preprocess transcripts fasta if gtf is in gencode format
|
||||
| preprocess_transcripts_fasta.run (
|
||||
runIf: {id, state -> state.transcript_fasta && state.gencode},
|
||||
fromState: [ "transcript_fasta": "transcript_fasta" ],
|
||||
toState: [ "transcript_fasta": "output" ],
|
||||
args: [output: "transcriptome.fasta"]
|
||||
)
|
||||
// preprocess transcripts fasta if gtf is in gencode format
|
||||
| preprocess_transcripts_fasta.run (
|
||||
runIf: {id, state -> state.transcript_fasta && state.gencode},
|
||||
fromState: [ "transcript_fasta": "transcript_fasta" ],
|
||||
toState: [ "transcript_fasta": "output" ],
|
||||
args: [output: "transcriptome.fasta"]
|
||||
)
|
||||
|
||||
// make transcript FASTA if not provided
|
||||
| rsem_prepare_reference.run (
|
||||
runIf: {id, state -> !state.transcript_fasta},
|
||||
fromState: [
|
||||
"reference_fasta_files": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "make_transcript_fasta_output": "output" ],
|
||||
key: "make_transcript_fasta",\
|
||||
args: [reference_name: "genome"]
|
||||
)
|
||||
| map { id, state ->
|
||||
def transcript_fasta = (!state.transcript_fasta) ?
|
||||
state.make_transcript_fasta_output.listFiles().find{it.name == "genome.transcripts.fa"} :
|
||||
state.transcript_fasta
|
||||
[ id, state + [transcript_fasta: transcript_fasta] ]
|
||||
}
|
||||
// make transcript FASTA if not provided
|
||||
| rsem_prepare_reference.run (
|
||||
runIf: {id, state -> !state.transcript_fasta},
|
||||
fromState: [
|
||||
"reference_fasta_files": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "make_transcript_fasta_output": "output" ],
|
||||
key: "make_transcript_fasta",
|
||||
args: [reference_name: "genome"]
|
||||
)
|
||||
| map { id, state ->
|
||||
def transcript_fasta = (!state.transcript_fasta) ?
|
||||
state.make_transcript_fasta_output.listFiles().find{it.name == "genome.transcripts.fa"} :
|
||||
state.transcript_fasta
|
||||
[ id, state + [transcript_fasta: transcript_fasta] ]
|
||||
}
|
||||
|
||||
// chromosome size and fai index
|
||||
| getchromsizes.run (
|
||||
fromState: [ "fasta": "fasta" ],
|
||||
toState: [
|
||||
"fai": "fai",
|
||||
"sizes": "sizes"
|
||||
],
|
||||
key: "chromsizes",
|
||||
args: [
|
||||
fai: "genome_additional.fasta.fai",
|
||||
sizes: "genome_additional.fasta.sizes"
|
||||
]
|
||||
)
|
||||
|
||||
// untar bbsplit index, if available
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.bbsplit_index},
|
||||
fromState: [ "input": "bbsplit_index" ],
|
||||
toState: [ "bbsplit_index": "output" ],
|
||||
key: "untar_bbsplit_index",
|
||||
args: [output: "BBSplit_index"]
|
||||
)
|
||||
|
||||
// create bbsplit index, if not already availble
|
||||
| bbmap_bbsplit.run (
|
||||
runIf: {id, state -> !state.skip_bbsplit && !state.bbsplit_index},
|
||||
fromState: [
|
||||
"primary_ref": "fasta",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list"
|
||||
],
|
||||
toState: [ "bbsplit_index": "bbsplit_index" ],
|
||||
args: [
|
||||
only_build_index: true,
|
||||
bbsplit_index: "BBSplit_index"
|
||||
],
|
||||
key: "generate_bbsplit_index"
|
||||
)
|
||||
// chromosome size and fai index
|
||||
| getchromsizes.run (
|
||||
fromState: [ "fasta": "fasta" ],
|
||||
toState: [
|
||||
"fai": "fai",
|
||||
"sizes": "sizes"
|
||||
],
|
||||
key: "chromsizes",
|
||||
args: [
|
||||
fai: "genome_additional.fasta.fai",
|
||||
sizes: "genome_additional.fasta.sizes"
|
||||
]
|
||||
)
|
||||
|
||||
// untar bbsplit index, if available
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.bbsplit_index},
|
||||
fromState: [ "input": "bbsplit_index" ],
|
||||
toState: [ "bbsplit_index": "output" ],
|
||||
key: "untar_bbsplit_index",
|
||||
args: [output: "BBSplit_index"]
|
||||
)
|
||||
|
||||
// create bbsplit index, if not already availble
|
||||
| bbmap_bbsplit.run (
|
||||
runIf: {id, state -> !state.skip_bbsplit && !state.bbsplit_index},
|
||||
fromState: [
|
||||
"primary_ref": "fasta",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list"
|
||||
],
|
||||
toState: [ "bbsplit_index": "bbsplit_index" ],
|
||||
args: [
|
||||
only_build_index: true,
|
||||
bbsplit_index: "BBSplit_index"
|
||||
],
|
||||
key: "generate_bbsplit_index"
|
||||
)
|
||||
|
||||
// Uncompress STAR index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.star_index},
|
||||
fromState: [ "input": "star_index" ],
|
||||
toState: [ "star_index": "output" ],
|
||||
key: "untar_star_index",
|
||||
args: [output: "STAR_index"]
|
||||
)
|
||||
|
||||
// TODO: Add to viah-hub or adapt star_align_reads to enable the generateGenome runMode
|
||||
| star_genome_generate.run (
|
||||
runIf: {id, state -> !state.star_index && !state.skip_alignment},
|
||||
fromState: [
|
||||
"genome_fasta_files": "fasta",
|
||||
"sjdb_gtf_file": "gtf",
|
||||
"sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon"
|
||||
],
|
||||
toState: [ "star_index": "index" ],
|
||||
key: "generate_star_index",
|
||||
args: [index: "STAR_index"]
|
||||
)
|
||||
// Uncompress STAR index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.star_index},
|
||||
fromState: [ "input": "star_index" ],
|
||||
toState: [ "star_index": "output" ],
|
||||
key: "untar_star_index",
|
||||
args: [output: "STAR_index"]
|
||||
)
|
||||
|
||||
// TODO: Add to viah-hub or adapt star_align_reads to enable the generateGenome runMode
|
||||
| star_genome_generate.run (
|
||||
runIf: {id, state -> !state.star_index && !state.skip_alignment},
|
||||
fromState: [
|
||||
"genome_fasta_files": "fasta",
|
||||
"sjdb_gtf_file": "gtf",
|
||||
"sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon"
|
||||
],
|
||||
toState: [ "star_index": "index" ],
|
||||
key: "generate_star_index",
|
||||
args: [index: "STAR_index"]
|
||||
)
|
||||
|
||||
// Uncompress RSEM index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.rsem_index},
|
||||
fromState: [ "input": "rsem_index" ],
|
||||
toState: [ "rsem_index": "output" ],
|
||||
key: "untar_rsem_index",
|
||||
args: [output: "RSEM_index"]
|
||||
)
|
||||
// Uncompress RSEM index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.rsem_index},
|
||||
fromState: [ "input": "rsem_index" ],
|
||||
toState: [ "rsem_index": "output" ],
|
||||
key: "untar_rsem_index",
|
||||
args: [output: "RSEM_index"]
|
||||
)
|
||||
|
||||
| rsem_prepare_reference.run (
|
||||
runIf: {id, state -> !state.rsem_index && state.aligner == 'star_rsem'},
|
||||
fromState: [
|
||||
"reference_fasta_files": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "rsem_index": "output" ],
|
||||
key: "generate_rsem_index",
|
||||
args: [reference_name: "genome"]
|
||||
)
|
||||
|
||||
// TODO: Uncompress HISAT2 index or generate from scratch if required
|
||||
| rsem_prepare_reference.run (
|
||||
runIf: {id, state -> !state.rsem_index && state.aligner == 'star_rsem'},
|
||||
fromState: [
|
||||
"reference_fasta_files": "fasta",
|
||||
"gtf": "gtf"
|
||||
],
|
||||
toState: [ "rsem_index": "output" ],
|
||||
key: "generate_rsem_index",
|
||||
args: [reference_name: "genome"]
|
||||
)
|
||||
|
||||
// TODO: Uncompress HISAT2 index or generate from scratch if required
|
||||
|
||||
// Uncompress Salmon index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.salmon_index},
|
||||
fromState: [ "input": "salmon_index" ],
|
||||
toState: [ "salmon_index": "output" ],
|
||||
key: "untar_salmon_index",
|
||||
args: [output: "Salmon_index"]
|
||||
)
|
||||
// Uncompress Salmon index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.salmon_index},
|
||||
fromState: [ "input": "salmon_index" ],
|
||||
toState: [ "salmon_index": "output" ],
|
||||
key: "untar_salmon_index",
|
||||
args: [output: "Salmon_index"]
|
||||
)
|
||||
|
||||
| salmon_index.run (
|
||||
runIf: {id, state -> (state.aligner == 'star_salmon' || state.pseudo_aligner == "salmon") && !state.salmon_index},
|
||||
fromState: [
|
||||
"genome": "fasta",
|
||||
"transcripts": "transcript_fasta",
|
||||
"kmer_len": "pseudo_aligner_kmer_size",
|
||||
"gencode": "gencode"
|
||||
],
|
||||
toState: [ "salmon_index": "index" ],
|
||||
key: "generate_salmon_index",
|
||||
args: [index: "Salmon_index"]
|
||||
)
|
||||
| salmon_index.run (
|
||||
runIf: {id, state -> (state.aligner == 'star_salmon' || state.pseudo_aligner == "salmon") && !state.salmon_index},
|
||||
fromState: [
|
||||
"genome": "fasta",
|
||||
"transcripts": "transcript_fasta",
|
||||
"kmer_len": "pseudo_aligner_kmer_size",
|
||||
"gencode": "gencode"
|
||||
],
|
||||
toState: [ "salmon_index": "index" ],
|
||||
key: "generate_salmon_index",
|
||||
args: [index: "Salmon_index"]
|
||||
)
|
||||
|
||||
// Uncompress Kallisto index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.kallisto_index},
|
||||
fromState: [ "input": "kallisto_index" ],
|
||||
toState: [ "kallisto_index": "output" ],
|
||||
key: "untar_kallisto_index",
|
||||
args: [output: "Kallisto_index"]
|
||||
)
|
||||
// Uncompress Kallisto index or generate from scratch if required
|
||||
| untar.run (
|
||||
runIf: {id, state -> state.kallisto_index},
|
||||
fromState: [ "input": "kallisto_index" ],
|
||||
toState: [ "kallisto_index": "output" ],
|
||||
key: "untar_kallisto_index",
|
||||
args: [output: "Kallisto_index"]
|
||||
)
|
||||
|
||||
| kallisto_index.run(
|
||||
runIf: {id, state -> state.pseudo_aligner == "kallisto" && !state.kallisto_index},
|
||||
fromState: [
|
||||
"transcriptome_fasta": "transcript_fasta",
|
||||
"pseudo_aligner_kmer_size": "pseudo_aligner_kmer_size"
|
||||
],
|
||||
toState: [ "kallisto_index": "kallisto_index" ],
|
||||
key: "generate_kallisto_index",
|
||||
args: [kallisto_index: "Kallisto_index"]
|
||||
)
|
||||
| kallisto_index.run(
|
||||
runIf: {id, state -> state.pseudo_aligner == "kallisto" && !state.kallisto_index},
|
||||
fromState: [
|
||||
"transcriptome_fasta": "transcript_fasta",
|
||||
"pseudo_aligner_kmer_size": "pseudo_aligner_kmer_size"
|
||||
],
|
||||
toState: [ "kallisto_index": "kallisto_index" ],
|
||||
key: "generate_kallisto_index",
|
||||
args: [kallisto_index: "Kallisto_index"]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
"fasta_uncompressed": "fasta",
|
||||
"gtf_uncompressed": "gtf",
|
||||
"transcript_fasta_uncompressed": "transcript_fasta",
|
||||
"gene_bed_uncompressed": "gene_bed",
|
||||
"star_index_uncompressed": "star_index",
|
||||
"salmon_index_uncompressed": "salmon_index",
|
||||
"kallisto_index_uncompressed": "kallisto_index",
|
||||
"bbsplit_index_uncompressed": "bbsplit_index",
|
||||
"rsem_index_uncompressed": "rsem_index",
|
||||
"chrom_sizes": "sizes",
|
||||
"fai": "fai"
|
||||
)
|
||||
| setState (
|
||||
"fasta_uncompressed": "fasta",
|
||||
"gtf_uncompressed": "gtf",
|
||||
"transcript_fasta_uncompressed": "transcript_fasta",
|
||||
"gene_bed_uncompressed": "gene_bed",
|
||||
"star_index_uncompressed": "star_index",
|
||||
"salmon_index_uncompressed": "salmon_index",
|
||||
"kallisto_index_uncompressed": "kallisto_index",
|
||||
"bbsplit_index_uncompressed": "bbsplit_index",
|
||||
"rsem_index_uncompressed": "rsem_index",
|
||||
"chrom_sizes": "sizes",
|
||||
"fai": "fai"
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -4,86 +4,87 @@ workflow run_wf {
|
||||
|
||||
main:
|
||||
output_ch = input_ch
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired, input: input ] ]
|
||||
}
|
||||
|
||||
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
|
||||
// Count reads from BAM alignments using Salmon
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.pseudo_aligner == 'salmon' },
|
||||
fromState: { id, state ->
|
||||
def unmated_reads = !state.paired ? state.fastq_1 : null
|
||||
def mates1 = state.paired ? state.fastq_1 : null
|
||||
def mates2 = state.paired ? state.fastq_2 : null
|
||||
[ unmated_reads: unmated_reads,
|
||||
mates1: mates1,
|
||||
mates2: mates2,
|
||||
gene_map: state.gtf,
|
||||
index: state.salmon_index,
|
||||
lib_type: state.lib_type ]
|
||||
},
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"salmon_quant_results_file": "quant_results"
|
||||
]
|
||||
)
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired, input: input ] ]
|
||||
}
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = (state.pseudo_aligner == 'salmon') ? state + [pseudo_multiqc: state.quant_out_dir] : state
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| kallisto_quant.run (
|
||||
runIf: { id, state -> state.pseudo_aligner == 'kallisto'},
|
||||
fromState: [
|
||||
"input": "input",
|
||||
"paired": "paired",
|
||||
"gtf": "gtf",
|
||||
"index": "kallisto_index",
|
||||
"fragment_length": "kallisto_quant_fragment_length",
|
||||
"fragment_length_sd": "kallisto_quant_fragment_length_sd"
|
||||
],
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"kallisto_quant_results_file": "quant_results_file",
|
||||
"pseudo_multiqc": "log"
|
||||
]
|
||||
)
|
||||
// Infer lib-type for salmon quant
|
||||
| map { id, state ->
|
||||
def lib_type = (state.paired) ?
|
||||
(
|
||||
(state.strandedness == "forward") ?
|
||||
"ISF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "ISR" : "IU"
|
||||
)
|
||||
)
|
||||
: (
|
||||
(state.strandedness == "forward") ?
|
||||
"SF" :
|
||||
(
|
||||
(state.strandedness == "reverse") ? "SR" : "U"
|
||||
)
|
||||
)
|
||||
[ id, state + [lib_type: lib_type] ]
|
||||
}
|
||||
|
||||
// Count reads from BAM alignments using Salmon
|
||||
| salmon_quant.run (
|
||||
runIf: { id, state -> state.pseudo_aligner == 'salmon' },
|
||||
fromState: { id, state ->
|
||||
def unmated_reads = !state.paired ? state.fastq_1 : null
|
||||
def mates1 = state.paired ? state.fastq_1 : null
|
||||
def mates2 = state.paired ? state.fastq_2 : null
|
||||
[ unmated_reads: unmated_reads,
|
||||
mates1: mates1,
|
||||
mates2: mates2,
|
||||
gene_map: state.gtf,
|
||||
index: state.salmon_index,
|
||||
lib_type: state.lib_type ]
|
||||
},
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"salmon_quant_results_file": "quant_results"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
| map { id, state ->
|
||||
def mod_state = (state.pseudo_aligner == 'salmon') ? state + [pseudo_multiqc: state.quant_out_dir] : state
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
[ "pseudo_multiqc": "quant_results",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"salmon_quant_results_file": "salmon_quant_results_file",
|
||||
"kallisto_quant_results_file": "kallisto_quant_results_file" ]
|
||||
)
|
||||
| kallisto_quant.run (
|
||||
runIf: { id, state -> state.pseudo_aligner == 'kallisto'},
|
||||
fromState: [
|
||||
"input": "input",
|
||||
"paired": "paired",
|
||||
"gtf": "gtf",
|
||||
"index": "kallisto_index",
|
||||
"fragment_length": "kallisto_quant_fragment_length",
|
||||
"fragment_length_sd": "kallisto_quant_fragment_length_sd"
|
||||
],
|
||||
toState: [
|
||||
"quant_out_dir": "output",
|
||||
"kallisto_quant_results_file": "quant_results_file",
|
||||
"pseudo_multiqc": "log"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
[ "pseudo_multiqc": "quant_results",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"salmon_quant_results_file": "salmon_quant_results_file",
|
||||
"kallisto_quant_results_file": "kallisto_quant_results_file" ]
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
|
||||
@@ -120,9 +120,9 @@ argument_groups:
|
||||
- name: "--rseqc_modules"
|
||||
type: string
|
||||
multiple: true
|
||||
multiple_sep: ","
|
||||
multiple_sep: ";"
|
||||
description: Specify the RSeQC modules to run_wf
|
||||
default: bam_stat,inner_distance,infer_experiment,junction_annotation,junction_saturation,read_distribution,read_duplication
|
||||
default: bam_stat;inner_distance;infer_experiment;junction_annotation;junction_saturation;read_distribution;read_duplication
|
||||
choices: [ "bam_stat", "inner_distance", "infer_experiment", "junction_annotation", "junction_saturation", "read_distribution", "read_duplication", "tin" ]
|
||||
- name: "--sample_size"
|
||||
type: integer
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -193,19 +193,6 @@ argument_groups:
|
||||
- name: "--bam_csi_index"
|
||||
type: boolean_true
|
||||
description: Create a CSI index for BAM files instead of the traditional BAI index. This will be required for genomes with larger chromosome sizes.
|
||||
# - name: "--extra_star_align_args"
|
||||
# type: string
|
||||
# default: '--quantMode TranscriptomeSAM --twopassMode Basic --outSAMtype BAM Unsorted --runRNGseed 0 --outFilterMultimapNmax 20 --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD --quantTranscriptomeBan Singleend --outSAMstrandField intronMotif'
|
||||
# description: Extra arguments to pass to STAR alignment command in addition to defaults defined by the pipeline.
|
||||
# - name: "--star_ignore_sjdbgtf"
|
||||
# type: boolean_true
|
||||
# description: When using pre-built STAR indices, do not re-extract and use splice junctions from the GTF file.
|
||||
# - name: "--seq_platform"
|
||||
# type: string
|
||||
# description: Sequencing platform.
|
||||
# - name: "--seq_center"
|
||||
# type: string
|
||||
# description: Sequencing center information to be added to read group of BAM files.
|
||||
- name: "--salmon_quant_libtype"
|
||||
type: string
|
||||
description: Override Salmon library type inferred based on strandedness defined in meta object.
|
||||
@@ -317,12 +304,12 @@ argument_groups:
|
||||
- name: "--rseqc_modules"
|
||||
type: string
|
||||
multiple: true
|
||||
multiple_sep: ","
|
||||
description: Specify the RSeQC modules to run_wf
|
||||
default: bam_stat,inner_distance,infer_experiment,junction_annotation,junction_saturation,read_distribution,read_duplication
|
||||
multiple_sep: ";"
|
||||
description: Specify the RSeQC modules to run_wf (comma-separated list)
|
||||
default: bam_stat;inner_distance;infer_experiment;junction_annotation;junction_saturation;read_distribution;read_duplication
|
||||
choices: [ "bam_stat", "inner_distance", "infer_experiment", "junction_annotation", "junction_saturation", "read_distribution", "read_duplication", "tin" ]
|
||||
|
||||
- name: Multiqc paramenters
|
||||
- name: MultiQC paramenters
|
||||
arguments:
|
||||
- name: "--multiqc_custom_config"
|
||||
type: file
|
||||
@@ -380,14 +367,14 @@ argument_groups:
|
||||
required: false
|
||||
must_exist: false
|
||||
description: Path to output directory
|
||||
default: fastq/$id.read_1.fastq
|
||||
default: fastq/$id.read_1.fastq.gz
|
||||
- name: "--output_fastq_2"
|
||||
type: file
|
||||
direction: output
|
||||
required: false
|
||||
must_exist: false
|
||||
description: Path to output directory
|
||||
default: fastq/$id.read_2.fastq
|
||||
default: fastq/$id.read_2.fastq.gz
|
||||
|
||||
# FastQC
|
||||
- name: "--fastqc_html_1"
|
||||
@@ -872,6 +859,10 @@ argument_groups:
|
||||
type: file
|
||||
direction: output
|
||||
default: deseq2_qc
|
||||
- name: "--deseq2_output_pseudo"
|
||||
type: file
|
||||
direction: output
|
||||
default: deseq2_qc_pseudo
|
||||
|
||||
# MultiQC
|
||||
- name: "--multiqc_report"
|
||||
@@ -903,6 +894,10 @@ argument_groups:
|
||||
type: file
|
||||
direction: output
|
||||
default: pseudo_alignment_quantification/gene_counts_scaled.tsv
|
||||
- name: "--pseudo_tpm_gene"
|
||||
type: file
|
||||
direction: output
|
||||
default: pseudo_alignment_quantification/gene_tpm.tsv
|
||||
- name: "--pseudo_tpm_transcript"
|
||||
type: file
|
||||
direction: output
|
||||
|
||||
@@ -5,22 +5,22 @@ workflow run_wf {
|
||||
main:
|
||||
reference_ch = input_ch
|
||||
|
||||
| map { id, state ->
|
||||
def biotype = state.gencode ? "gene_type" : state.featurecounts_group_type
|
||||
def filter_gtf =
|
||||
(
|
||||
( !state.skip_alignment && state.aligner) // Condition 1: Alignment is required and aligner is set
|
||||
|| ( !state.skip_pseudo_alignment && state.pseudo_aligner ) // Condition 2: Pseudoalignment is required and pseudoaligner is set
|
||||
|| ( !state.transcript_fasta ) // Condition 3: Transcript FASTA file is not provided
|
||||
)
|
||||
&&
|
||||
( !state.skip_gtf_filter ) // Condition 4: --skip_gtf_filter is not provided
|
||||
[ id, state + [ biotype: biotype, filter_gtf: filter_gtf ] ]
|
||||
}
|
||||
|
||||
| toSortedList
|
||||
|
||||
| map { list ->
|
||||
| map { id, state ->
|
||||
def biotype = state.gencode ? "gene_type" : state.featurecounts_group_type
|
||||
def filter_gtf =
|
||||
(
|
||||
( !state.skip_alignment && state.aligner) // Condition 1: Alignment is required and aligner is set
|
||||
|| ( !state.skip_pseudo_alignment && state.pseudo_aligner ) // Condition 2: Pseudoalignment is required and pseudoaligner is set
|
||||
|| ( !state.transcript_fasta ) // Condition 3: Transcript FASTA file is not provided
|
||||
)
|
||||
&&
|
||||
( !state.skip_gtf_filter ) // Condition 4: --skip_gtf_filter is not provided
|
||||
[ id, state + [ biotype: biotype, filter_gtf: filter_gtf ] ]
|
||||
}
|
||||
|
||||
| toSortedList
|
||||
|
||||
| map { list ->
|
||||
[ "ref",
|
||||
[ fasta: list.collect { id, state -> state.fasta }.unique()[0],
|
||||
gtf: list.collect { id, state -> state.gtf }.unique()[0],
|
||||
@@ -46,184 +46,438 @@ workflow run_wf {
|
||||
filter_gtf: list.collect { id, state -> state.filter_gtf }.unique()[0],
|
||||
pseudo_aligner_kmer_size: list.collect { id, state -> state.pseudo_aligner_kmer_size }.unique()[0] ]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
// prepare all the necessary files for reference genome
|
||||
| prepare_genome.run (
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf",
|
||||
"gff": "gff",
|
||||
"additional_fasta": "additional_fasta",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"gene_bed": "gene_bed",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list",
|
||||
"star_index": "star_index",
|
||||
"rsem_index": "rsem_index",
|
||||
"salmon_index": "salmon_index",
|
||||
"kallisto_index": "kallisto_index",
|
||||
"pseudo_aligner_kmer_size": "pseudo_aligner_kmer_size",
|
||||
// "splicesites": "splicesites",
|
||||
// "hisat2_index": "hisat2_index",
|
||||
"bbsplit_index": "bbsplit_index",
|
||||
"skip_bbsplit": "skip_bbsplit",
|
||||
"gencode": "gencode",
|
||||
"biotype": "biotype",
|
||||
"filter_gtf": "filter_gtf",
|
||||
"aligner": "aligner",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"skip_alignment": "skip_alignment",
|
||||
"star_sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon"
|
||||
],
|
||||
toState: [
|
||||
"fasta": "uncompressed_fasta",
|
||||
"gtf": "gtf_uncompressed",
|
||||
"transcript_fasta": "transcript_fasta_uncompressed",
|
||||
"fai": "fai",
|
||||
"chrom_sizes": "chrom_sizes",
|
||||
"bbsplit_index": "bbsplit_index_uncompressed",
|
||||
"star_index": "star_index_uncompressed",
|
||||
"salmon_index": "salmon_index_uncompressed",
|
||||
"kallisto_index": "kallisto_index_uncompressed",
|
||||
"gene_bed": "gene_bed_uncompressed"
|
||||
]
|
||||
)
|
||||
// prepare all the necessary files for reference genome
|
||||
| prepare_genome.run (
|
||||
fromState: [
|
||||
"fasta": "fasta",
|
||||
"gtf": "gtf",
|
||||
"gff": "gff",
|
||||
"additional_fasta": "additional_fasta",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"gene_bed": "gene_bed",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list",
|
||||
"star_index": "star_index",
|
||||
"rsem_index": "rsem_index",
|
||||
"salmon_index": "salmon_index",
|
||||
"kallisto_index": "kallisto_index",
|
||||
"pseudo_aligner_kmer_size": "pseudo_aligner_kmer_size",
|
||||
// "splicesites": "splicesites",
|
||||
// "hisat2_index": "hisat2_index",
|
||||
"bbsplit_index": "bbsplit_index",
|
||||
"skip_bbsplit": "skip_bbsplit",
|
||||
"gencode": "gencode",
|
||||
"biotype": "biotype",
|
||||
"filter_gtf": "filter_gtf",
|
||||
"aligner": "aligner",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"skip_alignment": "skip_alignment",
|
||||
"star_sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon"
|
||||
],
|
||||
toState: [
|
||||
"fasta": "uncompressed_fasta",
|
||||
"gtf": "gtf_uncompressed",
|
||||
"transcript_fasta": "transcript_fasta_uncompressed",
|
||||
"fai": "fai",
|
||||
"chrom_sizes": "chrom_sizes",
|
||||
"bbsplit_index": "bbsplit_index_uncompressed",
|
||||
"star_index": "star_index_uncompressed",
|
||||
"salmon_index": "salmon_index_uncompressed",
|
||||
"kallisto_index": "kallisto_index_uncompressed",
|
||||
"gene_bed": "gene_bed_uncompressed"
|
||||
]
|
||||
)
|
||||
|
||||
// Check if contigs in genome fasta file > 512 Mbp
|
||||
| map { id, state ->
|
||||
(isBelowMaxContigSize(state.fai)) ? [id, state] : [id, state + [bam_csi_index: true]]
|
||||
}
|
||||
// Check if contigs in genome fasta file > 512 Mbp
|
||||
| map { id, state ->
|
||||
(isBelowMaxContigSize(state.fai)) ? [id, state] : [id, state + [bam_csi_index: true]]
|
||||
}
|
||||
|
||||
| map { list -> list[1]}
|
||||
| map { list -> list[1]}
|
||||
|
||||
analysis_ch = input_ch
|
||||
|
||||
| combine(reference_ch)
|
||||
| combine(reference_ch)
|
||||
|
||||
| map { list -> [list[0], list[1] + list[2]] }
|
||||
| map { list -> [list[0], list[1] + list[2]] }
|
||||
|
||||
// Concatenate FastQ files from same sample if required
|
||||
| cat_fastq.run (
|
||||
fromState: [
|
||||
"read_1": "fastq_1",
|
||||
"read_2": "fastq_2"
|
||||
],
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
// Concatenate FastQ files from same sample if required
|
||||
| cat_fastq.run (
|
||||
fromState: [
|
||||
"read_1": "fastq_1",
|
||||
"read_2": "fastq_2"
|
||||
],
|
||||
toState: [
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2"
|
||||
]
|
||||
)
|
||||
|
||||
// Pre-process fastq files
|
||||
| pre_processing.run (
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"umitools_bc_pattern": "umitools_bc_pattern",
|
||||
"umitools_bc_pattern2": "umitools_bc_pattern2",
|
||||
"strandedness": "strandedness",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"gtf": "gtf",
|
||||
"with_umi": "with_umi",
|
||||
"bbsplit_index": "bbsplit_index",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list",
|
||||
"bc_pattern": "bc_pattern",
|
||||
"ribo_database_manifest": "ribo_database_manifest",
|
||||
"salmon_index": "salmon_index",
|
||||
"skip_qc": "skip_qc",
|
||||
"skip_fastqc": "skip_fastqc",
|
||||
"skip_skip_umi_extract": "skip_umi_extract",
|
||||
"umi_discard_read": "umi_discard_read",
|
||||
"skip_trimming": "skip_trimming",
|
||||
"trimmer": "trimmer",
|
||||
"skip_bbsplit": "skip_bbsplit",
|
||||
"remove_ribo_rna": "remove_ribo_rna"
|
||||
],
|
||||
toState: [
|
||||
// Pre-process fastq files
|
||||
| pre_processing.run (
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"umitools_bc_pattern": "umitools_bc_pattern",
|
||||
"umitools_bc_pattern2": "umitools_bc_pattern2",
|
||||
"strandedness": "strandedness",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"gtf": "gtf",
|
||||
"with_umi": "with_umi",
|
||||
"bbsplit_index": "bbsplit_index",
|
||||
"bbsplit_fasta_list": "bbsplit_fasta_list",
|
||||
"bc_pattern": "bc_pattern",
|
||||
"ribo_database_manifest": "ribo_database_manifest",
|
||||
"salmon_index": "salmon_index",
|
||||
"skip_qc": "skip_qc",
|
||||
"skip_fastqc": "skip_fastqc",
|
||||
"skip_skip_umi_extract": "skip_umi_extract",
|
||||
"umi_discard_read": "umi_discard_read",
|
||||
"skip_trimming": "skip_trimming",
|
||||
"trimmer": "trimmer",
|
||||
"skip_bbsplit": "skip_bbsplit",
|
||||
"remove_ribo_rna": "remove_ribo_rna"
|
||||
],
|
||||
toState: [
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"fastq_1": "qc_output1",
|
||||
"fastq_2": "qc_output2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"trim_html_1": "trim_html_1",
|
||||
"trim_html_2": "trim_html_2",
|
||||
"passed_trimmed_reads": "passed_trimmed_reads",
|
||||
"num_trimmed_reads": "num_trimmed_reads",
|
||||
"sortmerna_log": "sortmerna_log",
|
||||
"salmon_quant_output": "salmon_quant_output",
|
||||
"fastp_failed_trim": "failed_trim",
|
||||
"fastp_failed_trim_unpaired1": "failed_trim_unpaired1",
|
||||
"fastp_failed_trim_unpaired2": "failed_trim_unpaired2",
|
||||
"fastp_trim_json": "trim_json",
|
||||
"fastp_trim_html": "trim_html",
|
||||
"fastp_trim_merged_out": "trim_merged_out"
|
||||
]
|
||||
)
|
||||
|
||||
// Infer strandedness from Salmon pseudo-alignment results
|
||||
| map { id, state ->
|
||||
(state.strandedness == 'auto') ?
|
||||
[ id, state + [strandedness: getSalmonInferredStrandedness(state.salmon_quant_output)] ] :
|
||||
[id, state]
|
||||
}
|
||||
|
||||
// Filter FastQ files based on minimum trimmed read count after adapter trimming
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def num_reads = (state.skip_trimming) ?
|
||||
state.min_trimmed_reads + 1 :
|
||||
(
|
||||
(state.trimmer == "fastp") ?
|
||||
getFastpReadsAfterFiltering(state.fastp_trim_json) :
|
||||
(
|
||||
(!state.skip_trimming && input.size() == 2) ?
|
||||
getTrimGaloreReadsAfterFiltering(state.trim_log_2) :
|
||||
getTrimGaloreReadsAfterFiltering(state.trim_log_1)
|
||||
)
|
||||
)
|
||||
def passed_trimmed_reads =
|
||||
(state.skip_trimming || (num_reads >= state.min_trimmed_reads)) ?
|
||||
true :
|
||||
false
|
||||
[ id, state + [num_trimmed_reads: num_reads, passed_trimmed_reads: passed_trimmed_reads] ]
|
||||
}
|
||||
|
||||
// Genome alignment and quantification
|
||||
| genome_alignment_and_quant.run (
|
||||
runIf: { id, state -> !state.skip_alignment && state.passed_trimmed_reads },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"strandedness": "strandedness",
|
||||
"gtf": "gtf",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"bam_csi_index": "bam_csi_index",
|
||||
"aligner": "aligner",
|
||||
"rsem_index": "rsem_index",
|
||||
"star_index": "star_index",
|
||||
"star_sjdb_gtf_feature_exon": "star_sjdb_gtf_feature_exon",
|
||||
"star_ignore_sjdbgtf": "star_ignore_sjdbgtf",
|
||||
"with_umi": "with_umi",
|
||||
"umi_dedup_stats": "umi_dedup_stats",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"salmon_quant_libtype": "salmon_quant_libtype",
|
||||
"salmon_index": "salmon_index",
|
||||
"extra_rsem_calculate_expression_args": "extra_rsem_calculate_expression_args"
|
||||
],
|
||||
toState: [
|
||||
"star_multiqc": "star_multiqc",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"genome_bam_sorted": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"transcriptome_bam": "transcriptome_bam",
|
||||
"transcriptome_bam_index": "transcriptome_bam_index",
|
||||
"transcriptome_bam_stats": "transcriptome_bam_stats",
|
||||
"transcriptome_bam_flagstat": "transcriptome_bam_flagstat",
|
||||
"transcriptome_bam_idxstats": "transcriptome_bam_idxstats",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"bam_genome_rsem": "bam_genome_rsem",
|
||||
"bam_transcript_rsem": "bam_transcript_rsem"
|
||||
]
|
||||
)
|
||||
|
||||
// Filter channels to get samples that passed STAR minimum mapping percentage
|
||||
| map { id, state ->
|
||||
def percent_mapped = (!state.skip_alignment && state.passed_trimmed_reads) ? getStarPercentMapped(state.star_multiqc) : 0.0
|
||||
def passed_mapping = (percent_mapped >= state.min_mapped_reads) ? true : false
|
||||
[ id, state + [percent_mapped: percent_mapped, passed_mapping: passed_mapping] ]
|
||||
}
|
||||
|
||||
// Pseudo-alignment and quantification
|
||||
| pseudo_alignment_and_quant.run (
|
||||
runIf: { id, state -> !state.skip_pseudo_alignment && state.passed_trimmed_reads },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"strandedness": "strandedness",
|
||||
"gtf": "gtf",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"salmon_index": "salmon_index",
|
||||
"kallisto_index": "kallisto_index",
|
||||
"extra_star_align_args": "extra_star_align_args",
|
||||
"star_ignore_sjdbgtf": "star_ignore_sjdbgtf",
|
||||
"seq_platform": "seq_platform",
|
||||
"seq_center": "seq_center",
|
||||
"with_umi": "with_umi",
|
||||
"umi_dedup_stats": "umi_dedup_stats",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"lib_type": "salmon_quant_libtype",
|
||||
"kallisto_quant_fragment_length": "kallisto_quant_fragment_length",
|
||||
"kallisto_quant_fragment_length_sd": "kallisto_quant_fragment_length_sd"
|
||||
],
|
||||
toState: [
|
||||
"pseudo_quant_out_dir": "quant_out_dir",
|
||||
"pseudo_salmon_quant_results_file": "salmon_quant_results_file",
|
||||
"pseudo_kallisto_quant_results_file": "kallisto_quant_results_file",
|
||||
"pseudo_multiqc": "pseudo_multiqc"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired ] ]
|
||||
}
|
||||
|
||||
// Post-processing
|
||||
| post_processing.run (
|
||||
runIf: { id, state -> !state.skip_alignment && state.passed_trimmed_reads && state.passed_mapping },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"paired": "paired",
|
||||
"strandedness": "strandedness",
|
||||
"fasta": "fasta",
|
||||
"fai": "fai",
|
||||
"gtf": "gtf",
|
||||
"genome_bam": "genome_bam_sorted",
|
||||
"chrom_sizes": "chrom_sizes",
|
||||
"star_multiqc": "star_multiqc",
|
||||
"extra_picard_args": "extra_picard_args",
|
||||
"extra_stringtie_args": "extra_stringtie_args",
|
||||
"stringtie_ignore_gtf": "stringtie_ignore_gtf",
|
||||
"extra_bedtools_args": "extra_bedtools_args",
|
||||
"bam_csi_index": "bam_csi_index",
|
||||
"min_mapped_reads": "min_mapped_reads",
|
||||
"with_umi": "with_umi",
|
||||
"skip_qc": "skip_qc",
|
||||
"skip_markduplicates": "skip_markduplicates",
|
||||
"skip_stringtie": "skip_stringtie",
|
||||
"skip_bigwig":"gencode"
|
||||
],
|
||||
toState: [
|
||||
"genome_bam_sorted": "processed_genome_bam",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"markduplicates_metrics": "markduplicates_metrics",
|
||||
"stringtie_transcript_gtf": "stringtie_transcript_gtf",
|
||||
"stringtie_coverage_gtf": "stringtie_coverage_gtf",
|
||||
"stringtie_abundance": "stringtie_abundance",
|
||||
"stringtie_ballgown": "stringtie_ballgown",
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse",
|
||||
"bigwig_forward": "bigwig_forward",
|
||||
"bigwig_reverse": "bigwig_reverse"
|
||||
]
|
||||
)
|
||||
|
||||
// Final QC
|
||||
| quality_control.run (
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"paired": "paired",
|
||||
"strandedness": "strandedness",
|
||||
"skip_align": "skip_alignment",
|
||||
"skip_pseudo_align": "skip_pseudo_alignment",
|
||||
"skip_dupradar": "skip_dupradar",
|
||||
"skip_qualimap": "skip_qualimap",
|
||||
"skip_rseqc": "skip_rseqc",
|
||||
"skip_multiqc": "skip_multiqc",
|
||||
"skip_preseq": "skip_preseq",
|
||||
"gtf": "gtf",
|
||||
"num_trimmed_reads": "num_trimmed_reads",
|
||||
"passed_trimmed_reads": "passed_trimmed_reads",
|
||||
"passed_mapping": "passed_mapping",
|
||||
"percent_mapped": "percent_mapped",
|
||||
"genome_bam": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"pseudo_multiqc": "pseudo_multiqc",
|
||||
"pseudo_quant_out_dir": "pseudo_quant_out_dir",
|
||||
"pseudo_salmon_quant_results_file": "pseudo_salmon_quant_results_file",
|
||||
"pseudo_kallisto_quant_results_file": "pseudo_kallisto_quant_results_file",
|
||||
"aligner": "aligner",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"gene_bed": "gene_bed",
|
||||
"extra_preseq_args": "extra_preseq_args",
|
||||
"biotype": "biotype",
|
||||
"skip_biotype_qc": "skip_biotype_qc",
|
||||
"featurecounts_group_type": "featurecounts_group_type",
|
||||
"featurecounts_feature_type": "featurecounts_feature_type",
|
||||
"gencode": "gencode",
|
||||
"skip_deseq2_qc": "skip_deseq2_qc",
|
||||
"deseq2_vst": "deseq2_vst",
|
||||
"multiqc_custom_config": "multiqc_custom_config",
|
||||
"multiqc_title": "multiqc_title",
|
||||
"multiqc_methods_description": "multiqc_methods_description",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"sortmerna_multiqc": "sortmerna_log",
|
||||
"star_multiqc": "star_multiqc",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"markduplicates_multiqc": "markduplicates_metrics",
|
||||
"rseqc_modules": "rseqc_modules"
|
||||
],
|
||||
toState: [
|
||||
"preseq_output": "preseq_output",
|
||||
"bamstat_output": "bamstat_output",
|
||||
"strandedness_output": "strandedness_output",
|
||||
"inner_dist_output_stats": "inner_dist_output_stats",
|
||||
"inner_dist_output_dist": "inner_dist_output_dist",
|
||||
"inner_dist_output_freq": "inner_dist_output_freq",
|
||||
"inner_dist_output_plot": "inner_dist_output_plot",
|
||||
"inner_dist_output_plot_r": "inner_dist_output_plot_r",
|
||||
"junction_annotation_output_log": "junction_annotation_output_log",
|
||||
"junction_annotation_output_plot_r": "junction_annotation_output_plot_r",
|
||||
"junction_annotation_output_junction_bed": "junction_annotation_output_junction_bed",
|
||||
"junction_annotation_output_junction_interact": "junction_annotation_output_junction_interact",
|
||||
"junction_annotation_output_junction_sheet": "junction_annotation_output_junction_sheet",
|
||||
"junction_annotation_output_splice_events_plot": "junction_annotation_output_splice_events_plot",
|
||||
"junction_annotation_output_splice_junctions_plot": "junction_annotation_output_splice_junctions_plot",
|
||||
"junction_saturation_output_plot_r": "junction_saturation_output_plot_r",
|
||||
"junction_saturation_output_plot": "junction_saturation_output_plot",
|
||||
"read_distribution_output": "read_distribution_output",
|
||||
"read_duplication_output_duplication_rate_plot_r": "read_duplication_output_duplication_rate_plot_r",
|
||||
"read_duplication_output_duplication_rate_plot": "read_duplication_output_duplication_rate_plot",
|
||||
"read_duplication_output_duplication_rate_mapping": "read_duplication_output_duplication_rate_mapping",
|
||||
"read_duplication_output_duplication_rate_sequence": "read_duplication_output_duplication_rate_sequence",
|
||||
"tin_output_summary": "tin_output_summary",
|
||||
"tin_output_metrics": "tin_output_metrics",
|
||||
"dupradar_output_dupmatrix": "dupradar_output_dupmatrix",
|
||||
"dupradar_output_dup_intercept_mqc": "dupradar_output_dup_intercept_mqc",
|
||||
"dupradar_output_duprate_exp_boxplot": "dupradar_output_duprate_exp_boxplot",
|
||||
"dupradar_output_duprate_exp_densplot": "dupradar_output_duprate_exp_densplot",
|
||||
"dupradar_output_duprate_exp_denscurve_mqc": "dupradar_output_duprate_exp_denscurve_mqc",
|
||||
"dupradar_output_expression_histogram": "dupradar_output_expression_histogram",
|
||||
"dupradar_output_intercept_slope": "dupradar_output_intercept_slope",
|
||||
"qualimap_output_dir": "qualimap_output_dir",
|
||||
"qualimap_output_pdf": "qualimap_output_pdf",
|
||||
"featurecounts": "featurecounts",
|
||||
"featurecounts_summary": "featurecounts_summary",
|
||||
"featurecounts_multiqc": "featurecounts_multiqc",
|
||||
"featurecounts_rrna_multiqc": "featurecounts_rrna_multiqc",
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"qunat_merged_summarizedexperiment": "quant_merged_summarizedexperiment",
|
||||
"deseq2_output": "deseq2_output",
|
||||
"pseudo_tpm_gene": "pseudo_tpm_gene",
|
||||
"pseudo_counts_gene": "pseudo_counts_gene",
|
||||
"pseudo_counts_gene_length_scaled": "pseudo_counts_gene_length_scaled",
|
||||
"pseudo_counts_gene_scaled": "pseudo_counts_gene_scaled",
|
||||
"pseudo_tpm_transcript": "pseudo_tpm_transcript",
|
||||
"pseudo_counts_transcript": "pseudo_counts_transcript",
|
||||
"pseudo_lengths_gene": "pseudo_lengths_gene",
|
||||
"pseudo_lengths_transcript": "pseudo_lengths_transcript",
|
||||
"pseudo_quant_merged_summarizedexperiment": "pseudo_quant_merged_summarizedexperiment",
|
||||
"deseq2_output_pseudo": "deseq2_output_pseudo",
|
||||
"multiqc_report": "multiqc_report",
|
||||
"multiqc_data": "multiqc_data",
|
||||
"multiqc_plots": "multiqc_plots"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
[
|
||||
"output_fasta": "fasta",
|
||||
"output_gtf": "gtf",
|
||||
"output_transcript_fasta": "transcript_fasta",
|
||||
"output_gene_bed": "gene_bed",
|
||||
"output_bbsplit_index": "bbsplit_index",
|
||||
"output_star_index": "star_index",
|
||||
"output_salmon_index": "salmon_index",
|
||||
"output_kallisto_index": "kallisto_index",
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"fastq_1": "qc_output1",
|
||||
"fastq_2": "qc_output2",
|
||||
"output_fastq_1": "fastq_1",
|
||||
"output_fastq_2": "fastq_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"trim_html_1": "trim_html_1",
|
||||
"trim_html_2": "trim_html_2",
|
||||
"passed_trimmed_reads": "passed_trimmed_reads",
|
||||
"num_trimmed_reads": "num_trimmed_reads",
|
||||
"sortmerna_log": "sortmerna_log",
|
||||
"salmon_quant_output": "salmon_quant_output",
|
||||
"fastp_failed_trim": "failed_trim",
|
||||
"fastp_failed_trim_unpaired1": "failed_trim_unpaired1",
|
||||
"fastp_failed_trim_unpaired2": "failed_trim_unpaired2",
|
||||
"fastp_trim_json": "trim_json",
|
||||
"fastp_trim_html": "trim_html",
|
||||
"fastp_trim_merged_out": "trim_merged_out"
|
||||
]
|
||||
)
|
||||
|
||||
// Infer strandedness from Salmon pseudo-alignment results
|
||||
| map { id, state ->
|
||||
(state.strandedness == 'auto') ?
|
||||
[ id, state + [strandedness: getSalmonInferredStrandedness(state.salmon_quant_output)] ] :
|
||||
[id, state]
|
||||
}
|
||||
|
||||
// Filter FastQ files based on minimum trimmed read count after adapter trimming
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def num_reads = (state.skip_trimming) ?
|
||||
state.min_trimmed_reads + 1 :
|
||||
(
|
||||
(state.trimmer == "fastp") ?
|
||||
getFastpReadsAfterFiltering(state.fastp_trim_json) :
|
||||
(
|
||||
(!state.skip_trimming && input.size() == 2) ?
|
||||
getTrimGaloreReadsAfterFiltering(state.trim_log_2) :
|
||||
getTrimGaloreReadsAfterFiltering(state.trim_log_1)
|
||||
)
|
||||
)
|
||||
def passed_trimmed_reads =
|
||||
(state.skip_trimming || (num_reads >= state.min_trimmed_reads)) ?
|
||||
true :
|
||||
false
|
||||
[ id, state + [num_trimmed_reads: num_reads, passed_trimmed_reads: passed_trimmed_reads] ]
|
||||
}
|
||||
|
||||
// Genome alignment and quantification
|
||||
| genome_alignment_and_quant.run (
|
||||
runIf: { id, state -> !state.skip_alignment && state.passed_trimmed_reads },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"strandedness": "strandedness",
|
||||
"gtf": "gtf",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"bam_csi_index": "bam_csi_index",
|
||||
"aligner": "aligner",
|
||||
"rsem_index": "rsem_index",
|
||||
"star_index": "star_index",
|
||||
"extra_star_align_args": "extra_star_align_args",
|
||||
"star_ignore_sjdbgtf": "star_ignore_sjdbgtf",
|
||||
"seq_platform": "seq_platform",
|
||||
"seq_center": "seq_center",
|
||||
"with_umi": "with_umi",
|
||||
"umi_dedup_stats": "umi_dedup_stats",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"salmon_quant_libtype": "salmon_quant_libtype",
|
||||
"salmon_index": "salmon_index",
|
||||
"extra_rsem_calculate_expression_args": "extra_rsem_calculate_expression_args"
|
||||
],
|
||||
toState: [
|
||||
"star_multiqc": "star_multiqc",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"star_log": "star_multiqc",
|
||||
"genome_bam_sorted": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
@@ -234,162 +488,21 @@ workflow run_wf {
|
||||
"transcriptome_bam_stats": "transcriptome_bam_stats",
|
||||
"transcriptome_bam_flagstat": "transcriptome_bam_flagstat",
|
||||
"transcriptome_bam_idxstats": "transcriptome_bam_idxstats",
|
||||
"quant_out_dir": "quant_out_dir",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"bam_genome_rsem": "bam_genome_rsem",
|
||||
"bam_transcript_rsem": "bam_transcript_rsem"
|
||||
]
|
||||
)
|
||||
|
||||
// Filter channels to get samples that passed STAR minimum mapping percentage
|
||||
| map { id, state ->
|
||||
def percent_mapped = (!state.skip_alignment) ? getStarPercentMapped(state.star_multiqc) : 0.0
|
||||
def passed_mapping = (percent_mapped >= state.min_mapped_reads) ? true : false
|
||||
[ id, state + [percent_mapped: percent_mapped, passed_mapping: passed_mapping] ]
|
||||
}
|
||||
|
||||
// Pseudo-alignment and quantification
|
||||
| pseudo_alignment_and_quant.run (
|
||||
runIf: { id, state -> !state.skip_pseudo_alignment && state.passed_trimmed_reads },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"fastq_1": "fastq_1",
|
||||
"fastq_2": "fastq_2",
|
||||
"strandedness": "strandedness",
|
||||
"gtf": "gtf",
|
||||
"transcript_fasta": "transcript_fasta",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"salmon_index": "salmon_index",
|
||||
"kallisto_index": "kallisto_index",
|
||||
"extra_star_align_args": "extra_star_align_args",
|
||||
"star_ignore_sjdbgtf": "star_ignore_sjdbgtf",
|
||||
"seq_platform": "seq_platform",
|
||||
"seq_center": "seq_center",
|
||||
"with_umi": "with_umi",
|
||||
"umi_dedup_stats": "umi_dedup_stats",
|
||||
"gtf_group_features": "gtf_group_features",
|
||||
"gtf_extra_attributes": "gtf_extra_attributes",
|
||||
"lib_type": "salmon_quant_libtype",
|
||||
"kallisto_quant_fragment_length": "kallisto_quant_fragment_length",
|
||||
"kallisto_quant_fragment_length_sd": "kallisto_quant_fragment_length_sd"
|
||||
],
|
||||
toState: [
|
||||
"pseudo_quant_out_dir": "quant_out_dir",
|
||||
"pseudo_salmon_quant_results_file": "salmon_quant_results_file",
|
||||
"pseudo_kallisto_quant_results_file": "kallisto_quant_results_file",
|
||||
"pseudo_multiqc": "pseudo_multiqc"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def input = state.fastq_2 ? [ state.fastq_1, state.fastq_2 ] : [ state.fastq_1 ]
|
||||
def paired = input.size() == 2
|
||||
[ id, state + [ paired: paired ] ]
|
||||
}
|
||||
|
||||
// Post-processing
|
||||
| post_processing.run (
|
||||
runIf: { id, state -> !state.skip_alignment && state.passed_trimmed_reads && state.passed_mapping },
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"paired": "paired",
|
||||
"strandedness": "strandedness",
|
||||
"fasta": "fasta",
|
||||
"fai": "fai",
|
||||
"gtf": "gtf",
|
||||
"genome_bam": "genome_bam_sorted",
|
||||
"chrom_sizes": "chrom_sizes",
|
||||
"star_multiqc": "star_multiqc",
|
||||
"extra_picard_args": "extra_picard_args",
|
||||
"extra_stringtie_args": "extra_stringtie_args",
|
||||
"stringtie_ignore_gtf": "stringtie_ignore_gtf",
|
||||
"extra_bedtools_args": "extra_bedtools_args",
|
||||
"bam_csi_index": "bam_csi_index",
|
||||
"min_mapped_reads": "min_mapped_reads",
|
||||
"with_umi": "with_umi",
|
||||
"skip_qc": "skip_qc",
|
||||
"skip_markduplicates": "skip_markduplicates",
|
||||
"skip_stringtie": "skip_stringtie",
|
||||
"skip_bigwig":"gencode"
|
||||
],
|
||||
toState: [
|
||||
"genome_bam_sorted": "processed_genome_bam",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"salmon_quant_results": "quant_out_dir",
|
||||
"pseudo_quant_results": "pseudo_quant_out_dir",
|
||||
"markduplicates_metrics": "markduplicates_metrics",
|
||||
"stringtie_transcript_gtf": "stringtie_transcript_gtf",
|
||||
"stringtie_coverage_gtf": "stringtie_coverage_gtf",
|
||||
"stringtie_abundance": "stringtie_abundance",
|
||||
"stringtie_ballgown": "stringtie_ballgown",
|
||||
"featurecounts": "featurecounts",
|
||||
"featurecounts_summary": "featurecounts_summary",
|
||||
"featurecounts_multiqc": "featurecounts_multiqc",
|
||||
"featurecounts_rrna_multiqc": "featurecounts_rrna_multiqc",
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse",
|
||||
"bigwig_forward": "bigwig_forward",
|
||||
"bigwig_reverse": "bigwig_reverse"
|
||||
]
|
||||
)
|
||||
|
||||
// Final QC
|
||||
| quality_control.run (
|
||||
fromState: [
|
||||
"id": "id",
|
||||
"paired": "paired",
|
||||
"strandedness": "strandedness",
|
||||
"skip_align": "skip_alignment",
|
||||
"skip_pseudo_align": "skip_pseudo_alignment",
|
||||
"skip_dupradar": "skip_dupradar",
|
||||
"skip_qualimap": "skip_qualimap",
|
||||
"skip_rseqc": "skip_rseqc",
|
||||
"skip_multiqc": "skip_multiqc",
|
||||
"skip_preseq": "skip_preseq",
|
||||
"gtf": "gtf",
|
||||
"num_trimmed_reads": "num_trimmed_reads",
|
||||
"passed_trimmed_reads": "passed_trimmed_reads",
|
||||
"passed_mapping": "passed_mapping",
|
||||
"percent_mapped": "percent_mapped",
|
||||
"genome_bam": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"salmon_multiqc": "salmon_multiqc",
|
||||
"quant_results_file": "quant_results_file",
|
||||
"rsem_multiqc": "rsem_multiqc",
|
||||
"rsem_counts_gene": "rsem_counts_gene",
|
||||
"rsem_counts_transcripts": "rsem_counts_transcripts",
|
||||
"pseudo_multiqc": "pseudo_multiqc",
|
||||
"pseudo_quant_out_dir": "pseudo_quant_out_dir",
|
||||
"pseudo_salmon_quant_results_file": "pseudo_salmon_quant_results_file",
|
||||
"pseudo_kallisto_quant_results_file": "pseudo_kallisto_quant_results_file",
|
||||
"aligner": "aligner",
|
||||
"pseudo_aligner": "pseudo_aligner",
|
||||
"gene_bed": "gene_bed",
|
||||
"extra_preseq_args": "extra_preseq_args",
|
||||
"biotype": "biotype",
|
||||
"skip_biotype_qc": "skip_biotype_qc",
|
||||
"featurecounts_group_type": "featurecounts_group_type",
|
||||
"featurecounts_feature_type": "featurecounts_feature_type",
|
||||
"gencode": "gencode",
|
||||
"skip_deseq2_qc": "skip_deseq2_qc",
|
||||
"deseq2_vst": "deseq2_vst",
|
||||
"multiqc_custom_config": "multiqc_custom_config",
|
||||
"multiqc_title": "multiqc_title",
|
||||
"multiqc_methods_description": "multiqc_methods_description",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"sortmerna_multiqc": "sortmerna_log",
|
||||
"star_multiqc": "star_multiqc",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"markduplicates_multiqc": "markduplicates_metrics",
|
||||
"rseqc_modules": "rseqc_modules"
|
||||
],
|
||||
toState: [
|
||||
"bigwig_reverse": "bigwig_reverse",
|
||||
"preseq_output": "preseq_output",
|
||||
"bamstat_output": "bamstat_output",
|
||||
"strandedness_output": "strandedness_output",
|
||||
@@ -422,140 +535,33 @@ workflow run_wf {
|
||||
"dupradar_output_expression_histogram": "dupradar_output_expression_histogram",
|
||||
"dupradar_output_intercept_slope": "dupradar_output_intercept_slope",
|
||||
"qualimap_output_dir": "qualimap_output_dir",
|
||||
"qualimap_output_pdf": "qualimap_output_pdf",
|
||||
"featurecounts": "featurecounts",
|
||||
"featurecounts_summary": "featurecounts_summary",
|
||||
"featurecounts_multiqc": "featurecounts_multiqc",
|
||||
"featurecounts_rrna_multiqc": "featurecounts_rrna_multiqc",
|
||||
"qualimap_output_pdf": "qualimap_output_pdf",
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"qunat_merged_summarizedexperiment": "quant_merged_summarizedexperiment",
|
||||
"quant_merged_summarizedexperiment": "quant_merged_summarizedexperiment",
|
||||
"deseq2_output": "deseq2_output",
|
||||
"pseudo_tpm_gene": "pseudo_tpm_gene",
|
||||
"pseudo_counts_gene": "pseudo_counts_gene",
|
||||
"pseudo_counts_gene_length_scaled": "pseudo_counts_gene_length_scaled",
|
||||
"pseudo_counts_gene_scaled": "pseudo_counts_gene_scaled",
|
||||
"pseudo_tpm_transcript": "pseudo_tpm_transcript",
|
||||
"pseudo_counts_transcript": "pseudo_counts_transcript",
|
||||
"pseudo_lengths_gene": "pseudo_lengths_gene",
|
||||
"pseudo_lengths_transcript": "pseudo_lengths_transcript",
|
||||
"pseudo_quant_merged_summarizedexperiment": "pseudo_quant_merged_summarizedexperiment",
|
||||
"deseq2_output_pseudo": "deseq2_output_pseudo",
|
||||
"multiqc_report": "multiqc_report",
|
||||
"multiqc_data": "multiqc_data",
|
||||
"multiqc_plots": "multiqc_plots"
|
||||
]
|
||||
)
|
||||
|
||||
| map { id, state ->
|
||||
def mod_state = state.findAll { key, value -> value instanceof java.nio.file.Path && value.exists() }
|
||||
[ id, mod_state ]
|
||||
}
|
||||
|
||||
| setState (
|
||||
[
|
||||
"output_fasta": "fasta",
|
||||
"output_gtf": "gtf",
|
||||
"output_transcript_fasta": "transcript_fasta",
|
||||
"output_gene_bed": "gene_bed",
|
||||
"output_bbsplit_index": "bbsplit_index",
|
||||
"output_star_index": "star_index",
|
||||
"output_salmon_index": "salmon_index",
|
||||
"output_kallisto_index": "kallisto_index",
|
||||
"fastqc_html_1": "fastqc_html_1",
|
||||
"fastqc_html_2": "fastqc_html_2",
|
||||
"fastqc_zip_1": "fastqc_zip_1",
|
||||
"fastqc_zip_2": "fastqc_zip_2",
|
||||
"output_fastq_1": "fastq_1",
|
||||
"output_fastq_2": "fastq_2",
|
||||
"trim_log_1": "trim_log_1",
|
||||
"trim_log_2": "trim_log_2",
|
||||
"trim_zip_1": "trim_zip_1",
|
||||
"trim_zip_2": "trim_zip_2",
|
||||
"trim_html_1": "trim_html_1",
|
||||
"trim_html_2": "trim_html_2",
|
||||
"sortmerna_log": "sortmerna_log",
|
||||
"star_log": "star_multiqc",
|
||||
"genome_bam_sorted": "genome_bam_sorted",
|
||||
"genome_bam_index": "genome_bam_index",
|
||||
"genome_bam_stats": "genome_bam_stats",
|
||||
"genome_bam_flagstat": "genome_bam_flagstat",
|
||||
"genome_bam_idxstats": "genome_bam_idxstats",
|
||||
"transcriptome_bam": "transcriptome_bam",
|
||||
"transcriptome_bam_index": "transcriptome_bam_index",
|
||||
"transcriptome_bam_stats": "transcriptome_bam_stats",
|
||||
"transcriptome_bam_flagstat": "transcriptome_bam_flagstat",
|
||||
"transcriptome_bam_idxstats": "transcriptome_bam_idxstats",
|
||||
"salmon_quant_results": "quant_out_dir",
|
||||
"pseudo_quant_results": "pseudo_quant_out_dir",
|
||||
"markduplicates_metrics": "markduplicates_metrics",
|
||||
"stringtie_transcript_gtf": "stringtie_transcript_gtf",
|
||||
"stringtie_coverage_gtf": "stringtie_coverage_gtf",
|
||||
"stringtie_abundance": "stringtie_abundance",
|
||||
"stringtie_ballgown": "stringtie_ballgown",
|
||||
"featurecounts": "featurecounts",
|
||||
"featurecounts_summary": "featurecounts_summary",
|
||||
"featurecounts_multiqc": "featurecounts_multiqc",
|
||||
"featurecounts_rrna_multiqc": "featurecounts_rrna_multiqc",
|
||||
"bedgraph_forward": "bedgraph_forward",
|
||||
"bedgraph_reverse": "bedgraph_reverse",
|
||||
"bigwig_forward": "bigwig_forward",
|
||||
"bigwig_reverse": "bigwig_reverse",
|
||||
"preseq_output": "preseq_output",
|
||||
"bamstat_output": "bamstat_output",
|
||||
"strandedness_output": "strandedness_output",
|
||||
"inner_dist_output_stats": "inner_dist_output_stats",
|
||||
"inner_dist_output_dist": "inner_dist_output_dist",
|
||||
"inner_dist_output_freq": "inner_dist_output_freq",
|
||||
"inner_dist_output_plot": "inner_dist_output_plot",
|
||||
"inner_dist_output_plot_r": "inner_dist_output_plot_r",
|
||||
"junction_annotation_output_log": "junction_annotation_output_log",
|
||||
"junction_annotation_output_plot_r": "junction_annotation_output_plot_r",
|
||||
"junction_annotation_output_junction_bed": "junction_annotation_output_junction_bed",
|
||||
"junction_annotation_output_junction_interact": "junction_annotation_output_junction_interact",
|
||||
"junction_annotation_output_junction_sheet": "junction_annotation_output_junction_sheet",
|
||||
"junction_annotation_output_splice_events_plot": "junction_annotation_output_splice_events_plot",
|
||||
"junction_annotation_output_splice_junctions_plot": "junction_annotation_output_splice_junctions_plot",
|
||||
"junction_saturation_output_plot_r": "junction_saturation_output_plot_r",
|
||||
"junction_saturation_output_plot": "junction_saturation_output_plot",
|
||||
"read_distribution_output": "read_distribution_output",
|
||||
"read_duplication_output_duplication_rate_plot_r": "read_duplication_output_duplication_rate_plot_r",
|
||||
"read_duplication_output_duplication_rate_plot": "read_duplication_output_duplication_rate_plot",
|
||||
"read_duplication_output_duplication_rate_mapping": "read_duplication_output_duplication_rate_mapping",
|
||||
"read_duplication_output_duplication_rate_sequence": "read_duplication_output_duplication_rate_sequence",
|
||||
"tin_output_summary": "tin_output_summary",
|
||||
"tin_output_metrics": "tin_output_metrics",
|
||||
"dupradar_output_dupmatrix": "dupradar_output_dupmatrix",
|
||||
"dupradar_output_dup_intercept_mqc": "dupradar_output_dup_intercept_mqc",
|
||||
"dupradar_output_duprate_exp_boxplot": "dupradar_output_duprate_exp_boxplot",
|
||||
"dupradar_output_duprate_exp_densplot": "dupradar_output_duprate_exp_densplot",
|
||||
"dupradar_output_duprate_exp_denscurve_mqc": "dupradar_output_duprate_exp_denscurve_mqc",
|
||||
"dupradar_output_expression_histogram": "dupradar_output_expression_histogram",
|
||||
"dupradar_output_intercept_slope": "dupradar_output_intercept_slope",
|
||||
"qualimap_output_dir": "qualimap_output_dir",
|
||||
"qualimap_output_pdf": "qualimap_output_pdf",
|
||||
"tpm_gene": "tpm_gene",
|
||||
"counts_gene": "counts_gene",
|
||||
"counts_gene_length_scaled": "counts_gene_length_scaled",
|
||||
"counts_gene_scaled": "counts_gene_scaled",
|
||||
"tpm_transcript": "tpm_transcript",
|
||||
"counts_transcript": "counts_transcript",
|
||||
"quant_merged_summarizedexperiment": "quant_merged_summarizedexperiment",
|
||||
"deseq2_output": "deseq2_output",
|
||||
"pseudo_tpm_gene": "pseudo_tpm_gene",
|
||||
"pseudo_counts_gene": "pseudo_counts_gene",
|
||||
"pseudo_counts_gene_length_scaled": "pseudo_counts_gene_length_scaled",
|
||||
"pseudo_counts_gene_scaled": "pseudo_counts_gene_scaled",
|
||||
"pseudo_tpm_transcript": "pseudo_tpm_transcript",
|
||||
"pseudo_counts_transcript": "pseudo_counts_transcript",
|
||||
"pseudo_lengths_gene": "pseudo_lengths_gene",
|
||||
"pseudo_lengths_transcript": "pseudo_lengths_transcript",
|
||||
"pseudo_quant_merged_summarizedexperiment": "pseudo_quant_merged_summarizedexperiment",
|
||||
"deseq2_output_pseudo": "deseq2_output_pseudo",
|
||||
"multiqc_report": "multiqc_report",
|
||||
"multiqc_data": "multiqc_data",
|
||||
"multiqc_plots": "multiqc_plots"
|
||||
]
|
||||
)
|
||||
|
||||
output_ch = analysis_ch
|
||||
]
|
||||
)
|
||||
|
||||
emit:
|
||||
output_ch
|
||||
analysis_ch
|
||||
}
|
||||
|
||||
import nextflow.Nextflow
|
||||
|
||||
@@ -1083,9 +1083,9 @@ build_info:
|
||||
output: "target/nextflow/fastp"
|
||||
executable: "target/nextflow/fastp/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -4023,9 +4023,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/fastp",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -645,9 +645,9 @@ build_info:
|
||||
output: "target/nextflow/featurecounts"
|
||||
executable: "target/nextflow/featurecounts/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3549,9 +3549,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/featurecounts",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -685,9 +685,9 @@ build_info:
|
||||
output: "target/nextflow/gffread"
|
||||
executable: "target/nextflow/gffread/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3606,9 +3606,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/gffread",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -456,9 +456,9 @@ build_info:
|
||||
output: "target/nextflow/multiqc"
|
||||
executable: "target/nextflow/multiqc/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3366,9 +3366,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/multiqc",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -416,9 +416,9 @@ build_info:
|
||||
output: "target/nextflow/rsem/rsem_prepare_reference"
|
||||
executable: "target/nextflow/rsem/rsem_prepare_reference/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3245,9 +3245,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/rsem/rsem_prepare_reference",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -277,9 +277,9 @@ build_info:
|
||||
output: "target/nextflow/salmon/salmon_index"
|
||||
executable: "target/nextflow/salmon/salmon_index/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3129,9 +3129,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/salmon/salmon_index",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -1173,9 +1173,9 @@ build_info:
|
||||
output: "target/nextflow/salmon/salmon_quant"
|
||||
executable: "target/nextflow/salmon/salmon_quant/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3964,9 +3964,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/salmon/salmon_quant",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -173,9 +173,9 @@ build_info:
|
||||
output: "target/nextflow/samtools/samtools_flagstat"
|
||||
executable: "target/nextflow/samtools/samtools_flagstat/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3028,9 +3028,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/samtools/samtools_flagstat",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -183,9 +183,9 @@ build_info:
|
||||
output: "target/nextflow/samtools/samtools_idxstats"
|
||||
executable: "target/nextflow/samtools/samtools_idxstats/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3040,9 +3040,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/samtools/samtools_idxstats",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -189,9 +189,9 @@ build_info:
|
||||
output: "target/nextflow/samtools/samtools_index"
|
||||
executable: "target/nextflow/samtools/samtools_index/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3053,9 +3053,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/samtools/samtools_index",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -332,9 +332,9 @@ build_info:
|
||||
output: "target/nextflow/samtools/samtools_sort"
|
||||
executable: "target/nextflow/samtools/samtools_sort/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3225,9 +3225,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/samtools/samtools_sort",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -401,9 +401,9 @@ build_info:
|
||||
output: "target/nextflow/samtools/samtools_stats"
|
||||
executable: "target/nextflow/samtools/samtools_stats/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3295,9 +3295,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/samtools/samtools_stats",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -2663,9 +2663,9 @@ build_info:
|
||||
output: "target/nextflow/star/star_align_reads"
|
||||
executable: "target/nextflow/star/star_align_reads/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -5943,9 +5943,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/star/star_align_reads",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -333,9 +333,9 @@ build_info:
|
||||
output: "target/nextflow/star/star_genome_generate"
|
||||
executable: "target/nextflow/star/star_genome_generate/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3195,9 +3195,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/star/star_genome_generate",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -434,9 +434,9 @@ build_info:
|
||||
output: "target/nextflow/umi_tools/umi_tools_extract"
|
||||
executable: "target/nextflow/umi_tools/umi_tools_extract/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "065297be5fb2d88020fc50e042bb3f49c9254ae9"
|
||||
git_remote: "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-25-g065297b"
|
||||
git_commit: "a13b57d04a3f3741eedd1af10fd96a9bee126f55"
|
||||
git_remote: "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox"
|
||||
git_tag: "v0.2.0-26-ga13b57d"
|
||||
package_config:
|
||||
name: "biobox"
|
||||
version: "main"
|
||||
|
||||
@@ -3299,9 +3299,9 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/umi_tools/umi_tools_extract",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "065297be5fb2d88020fc50e042bb3f49c9254ae9",
|
||||
"git_remote" : "https://x-access-token:ghs_bGw8YykA469ibXe1g5GsidZ6N0n23m22jhvl@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-25-g065297b"
|
||||
"git_commit" : "a13b57d04a3f3741eedd1af10fd96a9bee126f55",
|
||||
"git_remote" : "https://x-access-token:ghs_xpDMoQpz4lF1RaGsMH4IlMbO48cLeW1cIYSF@github.com/viash-hub/biobox",
|
||||
"git_tag" : "v0.2.0-26-ga13b57d"
|
||||
},
|
||||
"package_config" : {
|
||||
"name" : "biobox",
|
||||
|
||||
@@ -238,8 +238,8 @@ build_info:
|
||||
output: "target/executable/bbmap_bbsplit"
|
||||
executable: "target/executable/bbmap_bbsplit/bbmap_bbsplit"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -506,9 +506,9 @@ tar xzf BBMap_39.01.tar.gz && \
|
||||
cp -r bbmap/* /usr/local/bin
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component bbmap_bbsplit"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:07Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:31Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -178,8 +178,8 @@ build_info:
|
||||
output: "target/executable/bedtools_genomecov"
|
||||
executable: "target/executable/bedtools_genomecov/bedtools_genomecov"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -481,9 +481,9 @@ mv bedtools.static /usr/local/bin/bedtools && \
|
||||
chmod a+x /usr/local/bin/bedtools
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component bedtools_genomecov"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:05Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:29Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -182,8 +182,8 @@ build_info:
|
||||
output: "target/executable/cat_additional_fasta"
|
||||
executable: "target/executable/cat_additional_fasta/cat_additional_fasta"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -480,9 +480,9 @@ function ViashDockerfile {
|
||||
FROM python:latest
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component cat_additional_fasta"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:04Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:28Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -169,8 +169,8 @@ build_info:
|
||||
output: "target/executable/cat_fastq"
|
||||
executable: "target/executable/cat_fastq/cat_fastq"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -472,9 +472,9 @@ function ViashDockerfile {
|
||||
FROM ubuntu:22.04
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component cat_fastq"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:03Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:27Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -237,8 +237,8 @@ build_info:
|
||||
output: "target/executable/deseq2_qc"
|
||||
executable: "target/executable/deseq2_qc/deseq2_qc"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -506,9 +506,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
|
||||
Rscript -e 'remotes::install_cran(c("optparse", "ggplot2", "RColorBrewer", "pheatmap", "stringr", "matrixStats"), repos = "https://cran.rstudio.com")'
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component deseq2_qc"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:05Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:30Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -266,8 +266,8 @@ build_info:
|
||||
output: "target/executable/dupradar"
|
||||
executable: "target/executable/dupradar/dupradar"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -520,9 +520,9 @@ RUN Rscript -e 'if (!requireNamespace("BiocManager", quietly = TRUE)) install.pa
|
||||
Rscript -e 'if (!requireNamespace("dupRadar", quietly = TRUE)) BiocManager::install("dupRadar")'
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component dupradar"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:05Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:30Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -198,8 +198,8 @@ build_info:
|
||||
output: "target/executable/fastqc"
|
||||
executable: "target/executable/fastqc/fastqc"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -490,9 +490,9 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component fastqc"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:08Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:33Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -177,8 +177,8 @@ build_info:
|
||||
output: "target/executable/fq_subsample"
|
||||
executable: "target/executable/fq_subsample/fq_subsample"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -485,9 +485,9 @@ cargo install --locked --path . && \
|
||||
mv /usr/local/fq/target/release/fq /usr/local/bin/
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component fq_subsample"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:06Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:32Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -167,8 +167,8 @@ build_info:
|
||||
output: "target/executable/getchromsizes"
|
||||
executable: "target/executable/getchromsizes/getchromsizes"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -480,9 +480,9 @@ make && \
|
||||
make install
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component getchromsizes"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:04Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:29Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -145,8 +145,8 @@ build_info:
|
||||
output: "target/executable/gtf2bed"
|
||||
executable: "target/executable/gtf2bed/gtf2bed"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -466,9 +466,9 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component gtf2bed"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:06Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:30Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -155,8 +155,8 @@ build_info:
|
||||
output: "target/executable/gtf_filter"
|
||||
executable: "target/executable/gtf_filter/gtf_filter"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -470,9 +470,9 @@ function ViashDockerfile {
|
||||
FROM python:latest
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component gtf_filter"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:04Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:29Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -144,8 +144,8 @@ build_info:
|
||||
output: "target/executable/gunzip"
|
||||
executable: "target/executable/gunzip/gunzip"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -466,9 +466,9 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component gunzip"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:05:59Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:24Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -155,8 +155,8 @@ build_info:
|
||||
output: "target/executable/kallisto/kallisto_index"
|
||||
executable: "target/executable/kallisto/kallisto_index/kallisto_index"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -471,9 +471,9 @@ tar -xzf kallisto_linux-v0.50.1.tar.gz && \
|
||||
mv kallisto/kallisto /usr/local/bin/
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component kallisto kallisto_index"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:00Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:25Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -253,8 +253,8 @@ build_info:
|
||||
output: "target/executable/kallisto/kallisto_quant"
|
||||
executable: "target/executable/kallisto/kallisto_quant/kallisto_quant"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -515,9 +515,9 @@ tar -xzf kallisto_linux-v0.50.1.tar.gz && \
|
||||
mv kallisto/kallisto /usr/local/bin/
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component kallisto kallisto_quant"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:00Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:25Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -64,6 +64,10 @@ resources:
|
||||
- type: "file"
|
||||
path: "biotypes_header.txt"
|
||||
description: "Calculate features percentage for biotype counts"
|
||||
test_resources:
|
||||
- type: "bash_script"
|
||||
path: "test.sh"
|
||||
is_executable: true
|
||||
info: null
|
||||
status: "enabled"
|
||||
requirements:
|
||||
@@ -161,8 +165,8 @@ build_info:
|
||||
output: "target/executable/multiqc_custom_biotype"
|
||||
executable: "target/executable/multiqc_custom_biotype/multiqc_custom_biotype"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -476,9 +476,9 @@ function ViashDockerfile {
|
||||
FROM python:latest
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component multiqc_custom_biotype"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:03Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:28Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
@@ -1183,7 +1183,7 @@ if __name__ == "__main__":
|
||||
filtered_lines.append(filtered_line)
|
||||
|
||||
# Concatenate the header and the processed lines
|
||||
result = biotypes_header + '\\n' + '\\n'.join(filtered_lines) + '\\n'
|
||||
result = biotypes_header + '\\n'.join(filtered_lines) + '\\n'
|
||||
|
||||
# Write the result to par_featurecounts_multiqc
|
||||
with open(par["featurecounts_multiqc"], 'w') as output_file:
|
||||
|
||||
@@ -207,8 +207,8 @@ build_info:
|
||||
output: "target/executable/picard_markduplicates"
|
||||
executable: "target/executable/picard_markduplicates/picard_markduplicates"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -494,9 +494,9 @@ wget --no-check-certificate https://github.com/broadinstitute/picard/releases/do
|
||||
mv picard.jar /usr/local/bin
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component picard_markduplicates"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:02Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:26Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -409,8 +409,8 @@ build_info:
|
||||
output: "target/executable/prepare_multiqc_input"
|
||||
executable: "target/executable/prepare_multiqc_input/prepare_multiqc_input"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -557,9 +557,9 @@ function ViashDockerfile {
|
||||
FROM ubuntu:22.04
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component prepare_multiqc_input"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:05:57Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:22Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -138,8 +138,8 @@ build_info:
|
||||
output: "target/executable/preprocess_transcripts_fasta"
|
||||
executable: "target/executable/preprocess_transcripts_fasta/preprocess_transcripts_fasta"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -462,9 +462,9 @@ function ViashDockerfile {
|
||||
FROM ubuntu:22.04
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component preprocess_transcripts_fasta"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:02Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:27Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -191,8 +191,8 @@ build_info:
|
||||
output: "target/executable/preseq_lcextrap"
|
||||
executable: "target/executable/preseq_lcextrap/preseq_lcextrap"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -495,9 +495,9 @@ mkdir build && cd build && \
|
||||
make && make install && make HAVE_HTSLIB=1 all
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component preseq_lcextrap"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:01Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:26Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -271,8 +271,8 @@ build_info:
|
||||
output: "target/executable/qualimap"
|
||||
executable: "target/executable/qualimap/qualimap"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -537,9 +537,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
|
||||
Rscript -e 'remotes::install_cran(c("optparse"), repos = "https://cran.rstudio.com")'
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component qualimap"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:05:59Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:24Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -299,8 +299,8 @@ build_info:
|
||||
output: "target/executable/rsem/rsem_calculate_expression"
|
||||
executable: "target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -542,9 +542,9 @@ echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc && \
|
||||
/bin/bash -c "source /etc/profile && source ~/.bashrc && echo $PATH && which STAR"
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component rsem rsem_calculate_expression"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:05:59Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:24Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -182,8 +182,8 @@ build_info:
|
||||
output: "target/executable/rsem/rsem_merge_counts"
|
||||
executable: "target/executable/rsem/rsem_merge_counts/rsem_merge_counts"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -483,9 +483,9 @@ function ViashDockerfile {
|
||||
FROM ubuntu:22.04
|
||||
ENTRYPOINT []
|
||||
LABEL org.opencontainers.image.description="Companion container for running component rsem rsem_merge_counts"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:05:58Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:23Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -163,8 +163,8 @@ build_info:
|
||||
output: "target/executable/rseqc/rseqc_bamstat"
|
||||
executable: "target/executable/rseqc/rseqc_bamstat/rseqc_bamstat"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -477,9 +477,9 @@ RUN pip install --upgrade pip && \
|
||||
pip install --upgrade --no-cache-dir "RSeQC"
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_bamstat"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:03Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:28Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -186,8 +186,8 @@ build_info:
|
||||
output: "target/executable/rseqc/rseqc_inferexperiment"
|
||||
executable: "target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -487,9 +487,9 @@ RUN pip install --upgrade pip && \
|
||||
pip install --upgrade --no-cache-dir "RSeQC"
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_inferexperiment"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:05Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:30Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -272,8 +272,8 @@ build_info:
|
||||
output: "target/executable/rseqc/rseqc_innerdistance"
|
||||
executable: "target/executable/rseqc/rseqc_innerdistance/rseqc_innerdistance"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
git_remote: "https://x-access-token:ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
git_commit: "ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
git_remote: "https://x-access-token:ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "main"
|
||||
|
||||
@@ -529,9 +529,9 @@ RUN pip install --upgrade pip && \
|
||||
pip install --upgrade --no-cache-dir "RSeQC"
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_innerdistance"
|
||||
LABEL org.opencontainers.image.created="2024-11-21T08:06:03Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_hUComHHyuHIIVQYt2HdqulL85sCkXr3K9lOo@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="a4f2c7d5a1d0c27cc538c9b06ec4dec5c62f8d74"
|
||||
LABEL org.opencontainers.image.created="2024-11-27T08:42:27Z"
|
||||
LABEL org.opencontainers.image.source="https://x-access-token/ghs_ot0XYuiYvcS5ZVYMUffn1TKOgZgnL00x8gE9@github.com/viash-hub/rnaseq"
|
||||
LABEL org.opencontainers.image.revision="ce40a4a6d9e94ca2d63978c9b4c2ea4004b9fcb3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user