Build branch reporting with version reporting (6343c3c)
Build pipeline: viash-hub.rnaseq.reporting-bsrzh
Source commit: 6343c3cfef
Source message: add toolbox, update craftbox
This commit is contained in:
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
.nextflow*
|
||||
work
|
||||
testData
|
||||
test_results
|
||||
target
|
||||
resources_test
|
||||
resources
|
||||
20
CHANGELOG.md
Normal file
20
CHANGELOG.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# rnaseq v0.3.0
|
||||
|
||||
## Minor changes
|
||||
|
||||
* Pin biobox version to v0.3.1 (PR #44).
|
||||
|
||||
* Bump viash version to 0.9.4 (PR #45).
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* Fix `summarizedexperiment` build PR (#42).
|
||||
|
||||
* Fix an issue with the `deseq2_qc` component not being able to create the DESeq2 object (PR #41).
|
||||
|
||||
## Known issues
|
||||
|
||||
The following caveats are known and will be addressed in future releases:
|
||||
|
||||
- [`bbmap_bbsplit` input file logic requires revision](https://github.com/viash-hub/rnaseq/issues/30)
|
||||
- [Setting `--skip_deseq2_qc=false` results in an error](https://github.com/viash-hub/rnaseq/issues/31)
|
||||
144
README.md
Normal file
144
README.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# rnaseq
|
||||
|
||||
|
||||
<!-- README.md is generated by running 'quarto render README.qmd' -->
|
||||
|
||||
## RNA-seq
|
||||
|
||||
``` mermaid
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
reference_fasta[Reference fasta]
|
||||
reference_gtf[Reference GTF]
|
||||
end
|
||||
inputs:::io
|
||||
|
||||
input_r1 & input_r2 & sample_metadata --> prepare_reads --> processed_r1 & processed_r2 & processed_metadata
|
||||
prepare_reads[/prepare_reads/]:::comp
|
||||
|
||||
reference_fasta & reference_gtf --> prepare_reference --> processed_fasta & processed_gtf & star_index
|
||||
prepare_reference[/prepare_reference/]:::comp
|
||||
|
||||
processed_r1 & processed_r2 & star_index & processed_fasta & processed_gtf --> align_and_quant --> aligned_reads_bam & quant_matrix
|
||||
align_and_quant[/align_and_quant/]:::comp
|
||||
|
||||
aligned_reads_bam --> postprocess_bam --> output_aligned_reads_bam
|
||||
postprocess_bam[/postprocess_bam/]:::comp
|
||||
|
||||
quant_matrix & processed_metadata --> postprocess_mtx --> output_quant_matrix
|
||||
postprocess_mtx[/postprocess_mtx/]:::comp
|
||||
|
||||
processed_metadata & output_quant_matrix & output_combined_qc_data --> conversion --> output_anndata & output_sce
|
||||
conversion[/conversion/]:::comp
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
output_aligned_reads_bam[Aligned reads]
|
||||
output_quant_matrix[Quant matrix]
|
||||
output_combined_qc_data[QC Data]
|
||||
output_combined_qc_report[QC Report]
|
||||
output_anndata[AnnData]
|
||||
output_sce[SCE]
|
||||
end
|
||||
outputs:::io
|
||||
|
||||
subgraph legend[Legend]
|
||||
comp[/Component/]:::comp
|
||||
end
|
||||
legend:::info
|
||||
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
|
||||
## RNA-seq (With reporting)
|
||||
|
||||
``` mermaid
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
reference_fasta[Reference fasta]
|
||||
reference_gtf[Reference GTF]
|
||||
end
|
||||
inputs:::io
|
||||
|
||||
input_r1 & input_r2 & sample_metadata --> prepare_reads --> processed_r1 & processed_r2 & processed_metadata
|
||||
prepare_reads[/prepare_reads/]:::comp
|
||||
|
||||
prepare_reads -.-> prepare_reads_qc_data
|
||||
|
||||
reference_fasta & reference_gtf --> prepare_reference --> processed_fasta & processed_gtf & star_index
|
||||
prepare_reference[/prepare_reference/]:::comp
|
||||
|
||||
prepare_reference -.-> prepare_reference_qc_data
|
||||
|
||||
processed_r1 & processed_r2 & star_index & processed_fasta & processed_gtf --> align_and_quant --> aligned_reads_bam & quant_matrix
|
||||
align_and_quant[/align_and_quant/]:::comp
|
||||
align_and_quant -.-> align_and_quant_qc_data
|
||||
|
||||
aligned_reads_bam --> postprocess_bam --> output_aligned_reads_bam
|
||||
postprocess_bam[/postprocess_bam/]:::comp
|
||||
postprocess_bam -.-> postprocess_bam_qc_data
|
||||
|
||||
quant_matrix & processed_metadata --> postprocess_mtx --> output_quant_matrix
|
||||
postprocess_mtx[/postprocess_mtx/]:::comp
|
||||
postprocess_mtx -.-> postprocess_mtx_qc_data
|
||||
|
||||
prepare_reads_qc_data & prepare_reference_qc_data & align_and_quant_qc_data & postprocess_bam_qc_data & postprocess_mtx_qc_data -.-> reporting -.-> output_combined_qc_data & output_combined_qc_report
|
||||
reporting[/reporting/]:::comp
|
||||
|
||||
processed_metadata & output_quant_matrix & output_combined_qc_data --> conversion --> output_anndata & output_sce
|
||||
conversion[/conversion/]:::comp
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
output_aligned_reads_bam[Aligned reads]
|
||||
output_quant_matrix[Quant matrix]
|
||||
output_combined_qc_data[QC Data]
|
||||
output_combined_qc_report[QC Report]
|
||||
output_anndata[AnnData]
|
||||
output_sce[SCE]
|
||||
end
|
||||
outputs:::io
|
||||
|
||||
subgraph legend[Legend]
|
||||
comp[/Component/]:::comp
|
||||
end
|
||||
legend:::info
|
||||
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
|
||||
## Prepare reads
|
||||
|
||||
``` mermaid
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
end
|
||||
|
||||
input_r1 --> cat_fastq_r1 --> trim_r1 --> infer_strandedness_r1 --> processed_r1
|
||||
input_r2 --> cat_fastq_r2 --> trim_r2 --> infer_strandedness_r2 --> processed_r2
|
||||
|
||||
processed_r1 & processed_r2 --> fastqc --> prepare_reads_qc_data
|
||||
|
||||
sample_metadata --> processed_metadata
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
processed_r1
|
||||
processed_r2
|
||||
processed_metadata
|
||||
prepare_reads_qc_data
|
||||
end
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
150
README.qmd
Normal file
150
README.qmd
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
title: rnaseq
|
||||
format: gfm
|
||||
---
|
||||
|
||||
<!-- README.md is generated by running 'quarto render README.qmd' -->
|
||||
|
||||
```{r, echo = FALSE, message = FALSE, error = FALSE, warning = FALSE}
|
||||
library(tidyverse)
|
||||
```
|
||||
|
||||
## RNA-seq
|
||||
|
||||
```{mermaid}
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
reference_fasta[Reference fasta]
|
||||
reference_gtf[Reference GTF]
|
||||
end
|
||||
inputs:::io
|
||||
|
||||
input_r1 & input_r2 & sample_metadata --> prepare_reads --> processed_r1 & processed_r2 & processed_metadata
|
||||
prepare_reads[/prepare_reads/]:::comp
|
||||
|
||||
reference_fasta & reference_gtf --> prepare_reference --> processed_fasta & processed_gtf & star_index
|
||||
prepare_reference[/prepare_reference/]:::comp
|
||||
|
||||
processed_r1 & processed_r2 & star_index & processed_fasta & processed_gtf --> align_and_quant --> aligned_reads_bam & quant_matrix
|
||||
align_and_quant[/align_and_quant/]:::comp
|
||||
|
||||
aligned_reads_bam --> postprocess_bam --> output_aligned_reads_bam
|
||||
postprocess_bam[/postprocess_bam/]:::comp
|
||||
|
||||
quant_matrix & processed_metadata --> postprocess_mtx --> output_quant_matrix
|
||||
postprocess_mtx[/postprocess_mtx/]:::comp
|
||||
|
||||
processed_metadata & output_quant_matrix & output_combined_qc_data --> conversion --> output_anndata & output_sce
|
||||
conversion[/conversion/]:::comp
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
output_aligned_reads_bam[Aligned reads]
|
||||
output_quant_matrix[Quant matrix]
|
||||
output_combined_qc_data[QC Data]
|
||||
output_combined_qc_report[QC Report]
|
||||
output_anndata[AnnData]
|
||||
output_sce[SCE]
|
||||
end
|
||||
outputs:::io
|
||||
|
||||
subgraph legend[Legend]
|
||||
comp[/Component/]:::comp
|
||||
end
|
||||
legend:::info
|
||||
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
|
||||
## RNA-seq (With reporting)
|
||||
|
||||
```{mermaid}
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
reference_fasta[Reference fasta]
|
||||
reference_gtf[Reference GTF]
|
||||
end
|
||||
inputs:::io
|
||||
|
||||
input_r1 & input_r2 & sample_metadata --> prepare_reads --> processed_r1 & processed_r2 & processed_metadata
|
||||
prepare_reads[/prepare_reads/]:::comp
|
||||
|
||||
prepare_reads -.-> prepare_reads_qc_data
|
||||
|
||||
reference_fasta & reference_gtf --> prepare_reference --> processed_fasta & processed_gtf & star_index
|
||||
prepare_reference[/prepare_reference/]:::comp
|
||||
|
||||
prepare_reference -.-> prepare_reference_qc_data
|
||||
|
||||
processed_r1 & processed_r2 & star_index & processed_fasta & processed_gtf --> align_and_quant --> aligned_reads_bam & quant_matrix
|
||||
align_and_quant[/align_and_quant/]:::comp
|
||||
align_and_quant -.-> align_and_quant_qc_data
|
||||
|
||||
aligned_reads_bam --> postprocess_bam --> output_aligned_reads_bam
|
||||
postprocess_bam[/postprocess_bam/]:::comp
|
||||
postprocess_bam -.-> postprocess_bam_qc_data
|
||||
|
||||
quant_matrix & processed_metadata --> postprocess_mtx --> output_quant_matrix
|
||||
postprocess_mtx[/postprocess_mtx/]:::comp
|
||||
postprocess_mtx -.-> postprocess_mtx_qc_data
|
||||
|
||||
prepare_reads_qc_data & prepare_reference_qc_data & align_and_quant_qc_data & postprocess_bam_qc_data & postprocess_mtx_qc_data -.-> reporting -.-> output_combined_qc_data & output_combined_qc_report
|
||||
reporting[/reporting/]:::comp
|
||||
|
||||
processed_metadata & output_quant_matrix & output_combined_qc_data --> conversion --> output_anndata & output_sce
|
||||
conversion[/conversion/]:::comp
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
output_aligned_reads_bam[Aligned reads]
|
||||
output_quant_matrix[Quant matrix]
|
||||
output_combined_qc_data[QC Data]
|
||||
output_combined_qc_report[QC Report]
|
||||
output_anndata[AnnData]
|
||||
output_sce[SCE]
|
||||
end
|
||||
outputs:::io
|
||||
|
||||
subgraph legend[Legend]
|
||||
comp[/Component/]:::comp
|
||||
end
|
||||
legend:::info
|
||||
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
|
||||
## Prepare reads
|
||||
|
||||
```{mermaid}
|
||||
flowchart TB
|
||||
|
||||
subgraph inputs[Inputs]
|
||||
input_r1[Input R1 FastQ]
|
||||
input_r2[Input R2 FastQ]
|
||||
sample_metadata[Sample metadata]
|
||||
end
|
||||
|
||||
input_r1 --> cat_fastq_r1 --> trim_r1 --> infer_strandedness_r1 --> processed_r1
|
||||
input_r2 --> cat_fastq_r2 --> trim_r2 --> infer_strandedness_r2 --> processed_r2
|
||||
|
||||
processed_r1 & processed_r2 --> fastqc --> prepare_reads_qc_data
|
||||
|
||||
sample_metadata --> processed_metadata
|
||||
|
||||
subgraph outputs[Outputs]
|
||||
processed_r1
|
||||
processed_r2
|
||||
processed_metadata
|
||||
prepare_reads_qc_data
|
||||
end
|
||||
|
||||
classDef info stroke-dasharray: 4 4
|
||||
```
|
||||
22
_viash.yaml
Normal file
22
_viash.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
name: rnaseq
|
||||
|
||||
viash_version: 0.9.4
|
||||
|
||||
repositories:
|
||||
- name: biobox
|
||||
type: vsh
|
||||
repo: biobox
|
||||
tag: v0.3.1
|
||||
- name: craftbox
|
||||
type: vsh
|
||||
repo: craftbox
|
||||
tag: v0.2.0
|
||||
- name: toolbox
|
||||
type: vsh
|
||||
repo: toolbox
|
||||
tag: v0.1.1
|
||||
|
||||
info:
|
||||
test_resources:
|
||||
- path: gs://viash-hub-resources/rnaseq/v1
|
||||
dest: resources_test
|
||||
3
main.nf
Normal file
3
main.nf
Normal file
@@ -0,0 +1,3 @@
|
||||
workflow {
|
||||
print("This is a dummy placeholder for pipeline execution. Please use the corresponding nf files for running pipelines.")
|
||||
}
|
||||
6
nextflow.config
Normal file
6
nextflow.config
Normal file
@@ -0,0 +1,6 @@
|
||||
manifest {
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
homePage = 'https://github.com/viash-hub/rnaseq'
|
||||
description = 'Bulk RNAseq pipeline'
|
||||
mainScript = 'target/nextflow/workflows/rnaseq/main.nf'
|
||||
}
|
||||
3
scripts/sync_resources.sh
Executable file
3
scripts/sync_resources.sh
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
viash run https://raw.githubusercontent.com/viash-hub/craftbox/refs/heads/remove_authors/src/sync_resources/config.vsh.yaml
|
||||
39
src/prepare_reference/config.vsh.yaml
Normal file
39
src/prepare_reference/config.vsh.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
name: prepare_genome
|
||||
description: |
|
||||
Prepare genome and transcriptome FASTA files for STAR alignment by adding
|
||||
necessary headers and creating a STAR index.
|
||||
|
||||
argument_groups:
|
||||
- name: Inputs
|
||||
arguments:
|
||||
- name: --input_genome_fasta
|
||||
type: file
|
||||
example: "genome.fasta.gz"
|
||||
- name: --input_transcriptome_gtf
|
||||
type: file
|
||||
example: "genes.gtf.gz"
|
||||
- name: Outputs
|
||||
arguments:
|
||||
- name: --output_genome_fasta
|
||||
type: file
|
||||
direction: output
|
||||
example: "genome.fasta"
|
||||
- name: --output_transcriptome_gtf
|
||||
type: file
|
||||
direction: output
|
||||
example: "transcriptome.gtf"
|
||||
- name: --output_star_index
|
||||
type: file
|
||||
direction: output
|
||||
|
||||
dependencies:
|
||||
- name: bgzip
|
||||
repository: toolbox
|
||||
|
||||
resources:
|
||||
- type: nextflow_script
|
||||
path: main.nf
|
||||
entrypoint: run
|
||||
|
||||
runners:
|
||||
- type: nextflow
|
||||
28
src/prepare_reference/main.nf
Normal file
28
src/prepare_reference/main.nf
Normal file
@@ -0,0 +1,28 @@
|
||||
workflow run {
|
||||
take: input_channel
|
||||
main:
|
||||
output_channel = input_channel
|
||||
|
||||
| bgzip.run(
|
||||
runIf: { id, state ->
|
||||
// TODO: check if the input_genome_fasta is gzipped
|
||||
def is_fasta_gzipped = true
|
||||
is_fasta_gzipped
|
||||
},
|
||||
fromState: [
|
||||
input: "input_genome_fasta"
|
||||
],
|
||||
toState: [
|
||||
input_genome_fasta: "output"
|
||||
]
|
||||
)
|
||||
|
||||
| setState(
|
||||
[
|
||||
output_genome_fasta: "input_genome_fasta",
|
||||
output_transcriptome_gtf: "input_transcriptome_gtf",
|
||||
]
|
||||
)
|
||||
|
||||
emit: output_channel
|
||||
}
|
||||
0
target/.build.yaml
Normal file
0
target/.build.yaml
Normal file
@@ -0,0 +1,268 @@
|
||||
name: "bgzip"
|
||||
version: "v0.1.1"
|
||||
argument_groups:
|
||||
- name: "Inputs"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--input"
|
||||
description: "file to be compressed or decompressed"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: true
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- name: "Outputs"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--output"
|
||||
description: "compressed or decompressed output"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: true
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--index_name"
|
||||
alternatives:
|
||||
- "-I"
|
||||
description: "name of BGZF index file [file.gz.gzi]"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- name: "Arguments"
|
||||
arguments:
|
||||
- type: "integer"
|
||||
name: "--offset"
|
||||
alternatives:
|
||||
- "-b"
|
||||
description: "decompress at virtual file pointer (0-based uncompressed offset)"
|
||||
info: null
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "boolean_true"
|
||||
name: "--decompress"
|
||||
alternatives:
|
||||
- "-d"
|
||||
description: "decompress the input file"
|
||||
info: null
|
||||
direction: "input"
|
||||
- type: "boolean_true"
|
||||
name: "--rebgzip"
|
||||
alternatives:
|
||||
- "-g"
|
||||
description: "use an index file to bgzip a file"
|
||||
info: null
|
||||
direction: "input"
|
||||
- type: "boolean_true"
|
||||
name: "--index"
|
||||
alternatives:
|
||||
- "-i"
|
||||
description: "compress and create BGZF index"
|
||||
info: null
|
||||
direction: "input"
|
||||
- type: "integer"
|
||||
name: "--compress_level"
|
||||
alternatives:
|
||||
- "-l"
|
||||
description: "compression level to use when compressing; 0 to 9, or -1 for default\
|
||||
\ [-1]"
|
||||
info: null
|
||||
required: false
|
||||
min: -1
|
||||
max: 9
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "boolean_true"
|
||||
name: "--reindex"
|
||||
alternatives:
|
||||
- "-r"
|
||||
description: "(re)index the output file"
|
||||
info: null
|
||||
direction: "input"
|
||||
- type: "integer"
|
||||
name: "--size"
|
||||
alternatives:
|
||||
- "-s"
|
||||
description: "decompress INT bytes (uncompressed size)"
|
||||
info: null
|
||||
required: false
|
||||
min: 0
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "boolean_true"
|
||||
name: "--test"
|
||||
alternatives:
|
||||
- "-t"
|
||||
description: "test integrity of compressed file"
|
||||
info: null
|
||||
direction: "input"
|
||||
- type: "boolean_true"
|
||||
name: "--binary"
|
||||
description: "Don't align blocks with text lines"
|
||||
info: null
|
||||
direction: "input"
|
||||
resources:
|
||||
- type: "bash_script"
|
||||
path: "script.sh"
|
||||
is_executable: true
|
||||
description: "Block compression/decompression utility"
|
||||
test_resources:
|
||||
- type: "bash_script"
|
||||
path: "test.sh"
|
||||
is_executable: true
|
||||
- type: "file"
|
||||
path: "test_data"
|
||||
info: null
|
||||
status: "enabled"
|
||||
scope:
|
||||
image: "public"
|
||||
target: "public"
|
||||
requirements:
|
||||
commands:
|
||||
- "ps"
|
||||
license: "MIT"
|
||||
references:
|
||||
doi:
|
||||
- "10.1093/gigascience/giab007"
|
||||
links:
|
||||
repository: "https://github.com/samtools/htslib"
|
||||
homepage: "https://www.htslib.org/"
|
||||
documentation: "https://www.htslib.org/doc/bgzip.html"
|
||||
runners:
|
||||
- type: "executable"
|
||||
id: "executable"
|
||||
docker_setup_strategy: "ifneedbepullelsecachedbuild"
|
||||
- type: "nextflow"
|
||||
id: "nextflow"
|
||||
directives:
|
||||
tag: "$id"
|
||||
auto:
|
||||
simplifyInput: true
|
||||
simplifyOutput: false
|
||||
transcript: false
|
||||
publish: false
|
||||
config:
|
||||
labels:
|
||||
mem1gb: "memory = 1000000000.B"
|
||||
mem2gb: "memory = 2000000000.B"
|
||||
mem5gb: "memory = 5000000000.B"
|
||||
mem10gb: "memory = 10000000000.B"
|
||||
mem20gb: "memory = 20000000000.B"
|
||||
mem50gb: "memory = 50000000000.B"
|
||||
mem100gb: "memory = 100000000000.B"
|
||||
mem200gb: "memory = 200000000000.B"
|
||||
mem500gb: "memory = 500000000000.B"
|
||||
mem1tb: "memory = 1000000000000.B"
|
||||
mem2tb: "memory = 2000000000000.B"
|
||||
mem5tb: "memory = 5000000000000.B"
|
||||
mem10tb: "memory = 10000000000000.B"
|
||||
mem20tb: "memory = 20000000000000.B"
|
||||
mem50tb: "memory = 50000000000000.B"
|
||||
mem100tb: "memory = 100000000000000.B"
|
||||
mem200tb: "memory = 200000000000000.B"
|
||||
mem500tb: "memory = 500000000000000.B"
|
||||
mem1gib: "memory = 1073741824.B"
|
||||
mem2gib: "memory = 2147483648.B"
|
||||
mem4gib: "memory = 4294967296.B"
|
||||
mem8gib: "memory = 8589934592.B"
|
||||
mem16gib: "memory = 17179869184.B"
|
||||
mem32gib: "memory = 34359738368.B"
|
||||
mem64gib: "memory = 68719476736.B"
|
||||
mem128gib: "memory = 137438953472.B"
|
||||
mem256gib: "memory = 274877906944.B"
|
||||
mem512gib: "memory = 549755813888.B"
|
||||
mem1tib: "memory = 1099511627776.B"
|
||||
mem2tib: "memory = 2199023255552.B"
|
||||
mem4tib: "memory = 4398046511104.B"
|
||||
mem8tib: "memory = 8796093022208.B"
|
||||
mem16tib: "memory = 17592186044416.B"
|
||||
mem32tib: "memory = 35184372088832.B"
|
||||
mem64tib: "memory = 70368744177664.B"
|
||||
mem128tib: "memory = 140737488355328.B"
|
||||
mem256tib: "memory = 281474976710656.B"
|
||||
mem512tib: "memory = 562949953421312.B"
|
||||
cpu1: "cpus = 1"
|
||||
cpu2: "cpus = 2"
|
||||
cpu5: "cpus = 5"
|
||||
cpu10: "cpus = 10"
|
||||
cpu20: "cpus = 20"
|
||||
cpu50: "cpus = 50"
|
||||
cpu100: "cpus = 100"
|
||||
cpu200: "cpus = 200"
|
||||
cpu500: "cpus = 500"
|
||||
cpu1000: "cpus = 1000"
|
||||
debug: false
|
||||
container: "docker"
|
||||
engines:
|
||||
- type: "docker"
|
||||
id: "docker"
|
||||
image: "quay.io/biocontainers/htslib:1.19--h81da01d_0"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "v0.1.1"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "docker"
|
||||
run:
|
||||
- "bgzip -h | grep 'Version:' 2>&1 | sed 's/Version:\\s\\(.*\\)/bgzip: \"\\1\"\
|
||||
/' > /var/software_versions.txt\n"
|
||||
entrypoint: []
|
||||
cmd: null
|
||||
- type: "native"
|
||||
id: "native"
|
||||
build_info:
|
||||
config: "src/bgzip/config.vsh.yaml"
|
||||
runner: "nextflow"
|
||||
engine: "docker|native"
|
||||
output: "target/nextflow/bgzip"
|
||||
executable: "target/nextflow/bgzip/main.nf"
|
||||
viash_version: "0.9.4"
|
||||
git_commit: "2c079795592b75ecd0db2bacaf0b748fa84e1293"
|
||||
git_remote: "https://github.com/viash-hub/toolbox"
|
||||
git_tag: "v0.1.0-13-g2c07979"
|
||||
package_config:
|
||||
name: "toolbox"
|
||||
version: "v0.1.1"
|
||||
summary: "A collection of curated command-line tools for general IT tasks, built\
|
||||
\ with Viash.\n"
|
||||
description: "`toolbox` provides a versatile suite of IT components, following the\
|
||||
\ robust Viash (https://viash.io) framework.\nThis package focuses on delivering\
|
||||
\ reliable, standalone tools that can be easily integrated into larger computational\
|
||||
\ workflows.\n\nThe core philosophy emphasizes **reusability**, **reproducibility**,\
|
||||
\ and adherence to **best practices** in component creation. Key features of `toolbox`\
|
||||
\ components include:\n\n* **Standalone & Nextflow Ready:** Execute components\
|
||||
\ directly from the command line or seamlessly incorporate them into Nextflow\
|
||||
\ workflows.\n* **High Quality Standards:**\n * Comprehensive documentation\
|
||||
\ for each component and its parameters.\n * Full exposure of the underlying\
|
||||
\ tool's arguments for maximum flexibility.\n * Containerized (Docker) to ensure\
|
||||
\ consistent environments and manage dependencies, leading to enhanced reproducibility.\n\
|
||||
\ * Unit tested to verify functionality and ensure reliability.\n"
|
||||
info: null
|
||||
viash_version: "0.9.4"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'v0.1.1'"
|
||||
keywords:
|
||||
- "toolbox"
|
||||
- "command-line"
|
||||
- "tools"
|
||||
license: "MIT"
|
||||
organization: "vsh"
|
||||
links:
|
||||
repository: "https://github.com/viash-hub/toolbox"
|
||||
issue_tracker: "https://github.com/viash-hub/toolbox/issues"
|
||||
3918
target/dependencies/vsh/vsh/toolbox/v0.1.1/nextflow/bgzip/main.nf
Normal file
3918
target/dependencies/vsh/vsh/toolbox/v0.1.1/nextflow/bgzip/main.nf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,125 @@
|
||||
manifest {
|
||||
name = 'bgzip'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'v0.1.1'
|
||||
description = 'Block compression/decompression utility'
|
||||
}
|
||||
|
||||
process.container = 'nextflow/bash:latest'
|
||||
|
||||
// detect tempdir
|
||||
tempDir = java.nio.file.Paths.get(
|
||||
System.getenv('NXF_TEMP') ?:
|
||||
System.getenv('VIASH_TEMP') ?:
|
||||
System.getenv('TEMPDIR') ?:
|
||||
System.getenv('TMPDIR') ?:
|
||||
'/tmp'
|
||||
).toAbsolutePath()
|
||||
|
||||
profiles {
|
||||
no_publish {
|
||||
process {
|
||||
withName: '.*' {
|
||||
publishDir = [
|
||||
enabled: false
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
mount_temp {
|
||||
docker.temp = tempDir
|
||||
podman.temp = tempDir
|
||||
charliecloud.temp = tempDir
|
||||
}
|
||||
docker {
|
||||
docker.enabled = true
|
||||
// docker.userEmulation = true
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
singularity {
|
||||
singularity.enabled = true
|
||||
singularity.autoMounts = true
|
||||
docker.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
podman {
|
||||
podman.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
shifter {
|
||||
shifter.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
charliecloud {
|
||||
charliecloud.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
process{
|
||||
withLabel: mem1gb { memory = 1000000000.B }
|
||||
withLabel: mem2gb { memory = 2000000000.B }
|
||||
withLabel: mem5gb { memory = 5000000000.B }
|
||||
withLabel: mem10gb { memory = 10000000000.B }
|
||||
withLabel: mem20gb { memory = 20000000000.B }
|
||||
withLabel: mem50gb { memory = 50000000000.B }
|
||||
withLabel: mem100gb { memory = 100000000000.B }
|
||||
withLabel: mem200gb { memory = 200000000000.B }
|
||||
withLabel: mem500gb { memory = 500000000000.B }
|
||||
withLabel: mem1tb { memory = 1000000000000.B }
|
||||
withLabel: mem2tb { memory = 2000000000000.B }
|
||||
withLabel: mem5tb { memory = 5000000000000.B }
|
||||
withLabel: mem10tb { memory = 10000000000000.B }
|
||||
withLabel: mem20tb { memory = 20000000000000.B }
|
||||
withLabel: mem50tb { memory = 50000000000000.B }
|
||||
withLabel: mem100tb { memory = 100000000000000.B }
|
||||
withLabel: mem200tb { memory = 200000000000000.B }
|
||||
withLabel: mem500tb { memory = 500000000000000.B }
|
||||
withLabel: mem1gib { memory = 1073741824.B }
|
||||
withLabel: mem2gib { memory = 2147483648.B }
|
||||
withLabel: mem4gib { memory = 4294967296.B }
|
||||
withLabel: mem8gib { memory = 8589934592.B }
|
||||
withLabel: mem16gib { memory = 17179869184.B }
|
||||
withLabel: mem32gib { memory = 34359738368.B }
|
||||
withLabel: mem64gib { memory = 68719476736.B }
|
||||
withLabel: mem128gib { memory = 137438953472.B }
|
||||
withLabel: mem256gib { memory = 274877906944.B }
|
||||
withLabel: mem512gib { memory = 549755813888.B }
|
||||
withLabel: mem1tib { memory = 1099511627776.B }
|
||||
withLabel: mem2tib { memory = 2199023255552.B }
|
||||
withLabel: mem4tib { memory = 4398046511104.B }
|
||||
withLabel: mem8tib { memory = 8796093022208.B }
|
||||
withLabel: mem16tib { memory = 17592186044416.B }
|
||||
withLabel: mem32tib { memory = 35184372088832.B }
|
||||
withLabel: mem64tib { memory = 70368744177664.B }
|
||||
withLabel: mem128tib { memory = 140737488355328.B }
|
||||
withLabel: mem256tib { memory = 281474976710656.B }
|
||||
withLabel: mem512tib { memory = 562949953421312.B }
|
||||
withLabel: cpu1 { cpus = 1 }
|
||||
withLabel: cpu2 { cpus = 2 }
|
||||
withLabel: cpu5 { cpus = 5 }
|
||||
withLabel: cpu10 { cpus = 10 }
|
||||
withLabel: cpu20 { cpus = 20 }
|
||||
withLabel: cpu50 { cpus = 50 }
|
||||
withLabel: cpu100 { cpus = 100 }
|
||||
withLabel: cpu200 { cpus = 200 }
|
||||
withLabel: cpu500 { cpus = 500 }
|
||||
withLabel: cpu1000 { cpus = 1000 }
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"title": "bgzip",
|
||||
"description": "Block compression/decompression utility",
|
||||
"type": "object",
|
||||
"definitions": {
|
||||
|
||||
|
||||
|
||||
"inputs" : {
|
||||
"title": "Inputs",
|
||||
"type": "object",
|
||||
"description": "No description",
|
||||
"properties": {
|
||||
|
||||
|
||||
"input": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: `file`, required. file to be compressed or decompressed",
|
||||
"help_text": "Type: `file`, required. file to be compressed or decompressed"
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"outputs" : {
|
||||
"title": "Outputs",
|
||||
"type": "object",
|
||||
"description": "No description",
|
||||
"properties": {
|
||||
|
||||
|
||||
"output": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: `file`, required, default: `$id.$key.output`. compressed or decompressed output",
|
||||
"help_text": "Type: `file`, required, default: `$id.$key.output`. compressed or decompressed output"
|
||||
,
|
||||
"default":"$id.$key.output"
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"index_name": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: `file`, default: `$id.$key.index_name`. name of BGZF index file [file",
|
||||
"help_text": "Type: `file`, default: `$id.$key.index_name`. name of BGZF index file [file.gz.gzi]"
|
||||
,
|
||||
"default":"$id.$key.index_name"
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"arguments" : {
|
||||
"title": "Arguments",
|
||||
"type": "object",
|
||||
"description": "No description",
|
||||
"properties": {
|
||||
|
||||
|
||||
"offset": {
|
||||
"type":
|
||||
"integer",
|
||||
"description": "Type: `integer`. decompress at virtual file pointer (0-based uncompressed offset)",
|
||||
"help_text": "Type: `integer`. decompress at virtual file pointer (0-based uncompressed offset)"
|
||||
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"decompress": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. decompress the input file",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. decompress the input file"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"rebgzip": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. use an index file to bgzip a file",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. use an index file to bgzip a file"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"index": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. compress and create BGZF index",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. compress and create BGZF index"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"compress_level": {
|
||||
"type":
|
||||
"integer",
|
||||
"description": "Type: `integer`. compression level to use when compressing; 0 to 9, or -1 for default [-1]",
|
||||
"help_text": "Type: `integer`. compression level to use when compressing; 0 to 9, or -1 for default [-1]"
|
||||
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"reindex": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. (re)index the output file",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. (re)index the output file"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"size": {
|
||||
"type":
|
||||
"integer",
|
||||
"description": "Type: `integer`. decompress INT bytes (uncompressed size)",
|
||||
"help_text": "Type: `integer`. decompress INT bytes (uncompressed size)"
|
||||
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"test": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. test integrity of compressed file",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. test integrity of compressed file"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"binary": {
|
||||
"type":
|
||||
"boolean",
|
||||
"description": "Type: `boolean_true`, default: `false`. Don\u0027t align blocks with text lines",
|
||||
"help_text": "Type: `boolean_true`, default: `false`. Don\u0027t align blocks with text lines"
|
||||
,
|
||||
"default":false
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
"nextflow input-output arguments" : {
|
||||
"title": "Nextflow input-output arguments",
|
||||
"type": "object",
|
||||
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
|
||||
"properties": {
|
||||
|
||||
|
||||
"publish_dir": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: `string`, required, example: `output/`. Path to an output directory",
|
||||
"help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
|
||||
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"param_list": {
|
||||
"type":
|
||||
"string",
|
||||
"description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
|
||||
"help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
|
||||
"hidden": true
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
|
||||
{
|
||||
"$ref": "#/definitions/inputs"
|
||||
},
|
||||
|
||||
{
|
||||
"$ref": "#/definitions/outputs"
|
||||
},
|
||||
|
||||
{
|
||||
"$ref": "#/definitions/arguments"
|
||||
},
|
||||
|
||||
{
|
||||
"$ref": "#/definitions/nextflow input-output arguments"
|
||||
}
|
||||
]
|
||||
}
|
||||
195
target/nextflow/prepare_genome/.config.vsh.yaml
Normal file
195
target/nextflow/prepare_genome/.config.vsh.yaml
Normal file
@@ -0,0 +1,195 @@
|
||||
name: "prepare_genome"
|
||||
version: "reporting"
|
||||
argument_groups:
|
||||
- name: "Inputs"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--input_genome_fasta"
|
||||
info: null
|
||||
example:
|
||||
- "genome.fasta.gz"
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--input_transcriptome_gtf"
|
||||
info: null
|
||||
example:
|
||||
- "genes.gtf.gz"
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- name: "Outputs"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--output_genome_fasta"
|
||||
info: null
|
||||
example:
|
||||
- "genome.fasta"
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--output_transcriptome_gtf"
|
||||
info: null
|
||||
example:
|
||||
- "transcriptome.gtf"
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--output_star_index"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
resources:
|
||||
- type: "nextflow_script"
|
||||
path: "main.nf"
|
||||
is_executable: true
|
||||
entrypoint: "run"
|
||||
description: "Prepare genome and transcriptome FASTA files for STAR alignment by adding\n\
|
||||
necessary headers and creating a STAR index.\n"
|
||||
info: null
|
||||
status: "enabled"
|
||||
scope:
|
||||
image: "public"
|
||||
target: "public"
|
||||
dependencies:
|
||||
- name: "bgzip"
|
||||
repository:
|
||||
type: "vsh"
|
||||
repo: "toolbox"
|
||||
tag: "v0.1.1"
|
||||
repositories:
|
||||
- type: "vsh"
|
||||
name: "biobox"
|
||||
repo: "biobox"
|
||||
tag: "v0.3.1"
|
||||
- type: "vsh"
|
||||
name: "craftbox"
|
||||
repo: "craftbox"
|
||||
tag: "v0.2.0"
|
||||
- type: "vsh"
|
||||
name: "toolbox"
|
||||
repo: "toolbox"
|
||||
tag: "v0.1.1"
|
||||
runners:
|
||||
- type: "nextflow"
|
||||
id: "nextflow"
|
||||
directives:
|
||||
tag: "$id"
|
||||
auto:
|
||||
simplifyInput: true
|
||||
simplifyOutput: false
|
||||
transcript: false
|
||||
publish: false
|
||||
config:
|
||||
labels:
|
||||
mem1gb: "memory = 1000000000.B"
|
||||
mem2gb: "memory = 2000000000.B"
|
||||
mem5gb: "memory = 5000000000.B"
|
||||
mem10gb: "memory = 10000000000.B"
|
||||
mem20gb: "memory = 20000000000.B"
|
||||
mem50gb: "memory = 50000000000.B"
|
||||
mem100gb: "memory = 100000000000.B"
|
||||
mem200gb: "memory = 200000000000.B"
|
||||
mem500gb: "memory = 500000000000.B"
|
||||
mem1tb: "memory = 1000000000000.B"
|
||||
mem2tb: "memory = 2000000000000.B"
|
||||
mem5tb: "memory = 5000000000000.B"
|
||||
mem10tb: "memory = 10000000000000.B"
|
||||
mem20tb: "memory = 20000000000000.B"
|
||||
mem50tb: "memory = 50000000000000.B"
|
||||
mem100tb: "memory = 100000000000000.B"
|
||||
mem200tb: "memory = 200000000000000.B"
|
||||
mem500tb: "memory = 500000000000000.B"
|
||||
mem1gib: "memory = 1073741824.B"
|
||||
mem2gib: "memory = 2147483648.B"
|
||||
mem4gib: "memory = 4294967296.B"
|
||||
mem8gib: "memory = 8589934592.B"
|
||||
mem16gib: "memory = 17179869184.B"
|
||||
mem32gib: "memory = 34359738368.B"
|
||||
mem64gib: "memory = 68719476736.B"
|
||||
mem128gib: "memory = 137438953472.B"
|
||||
mem256gib: "memory = 274877906944.B"
|
||||
mem512gib: "memory = 549755813888.B"
|
||||
mem1tib: "memory = 1099511627776.B"
|
||||
mem2tib: "memory = 2199023255552.B"
|
||||
mem4tib: "memory = 4398046511104.B"
|
||||
mem8tib: "memory = 8796093022208.B"
|
||||
mem16tib: "memory = 17592186044416.B"
|
||||
mem32tib: "memory = 35184372088832.B"
|
||||
mem64tib: "memory = 70368744177664.B"
|
||||
mem128tib: "memory = 140737488355328.B"
|
||||
mem256tib: "memory = 281474976710656.B"
|
||||
mem512tib: "memory = 562949953421312.B"
|
||||
cpu1: "cpus = 1"
|
||||
cpu2: "cpus = 2"
|
||||
cpu5: "cpus = 5"
|
||||
cpu10: "cpus = 10"
|
||||
cpu20: "cpus = 20"
|
||||
cpu50: "cpus = 50"
|
||||
cpu100: "cpus = 100"
|
||||
cpu200: "cpus = 200"
|
||||
cpu500: "cpus = 500"
|
||||
cpu1000: "cpus = 1000"
|
||||
debug: false
|
||||
container: "docker"
|
||||
engines:
|
||||
- type: "native"
|
||||
id: "native"
|
||||
build_info:
|
||||
config: "src/prepare_reference/config.vsh.yaml"
|
||||
runner: "nextflow"
|
||||
engine: "native"
|
||||
output: "target/nextflow/prepare_genome"
|
||||
executable: "target/nextflow/prepare_genome/main.nf"
|
||||
viash_version: "0.9.4"
|
||||
git_commit: "6343c3cfeff7ead6e06bdfa0fa81091b32cd7c3d"
|
||||
git_remote: "https://github.com/viash-hub/rnaseq"
|
||||
dependencies:
|
||||
- "target/dependencies/vsh/vsh/toolbox/v0.1.1/nextflow/bgzip"
|
||||
package_config:
|
||||
name: "rnaseq"
|
||||
version: "reporting"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "gs://viash-hub-resources/rnaseq/v1"
|
||||
dest: "resources_test"
|
||||
repositories:
|
||||
- type: "vsh"
|
||||
name: "biobox"
|
||||
repo: "biobox"
|
||||
tag: "v0.3.1"
|
||||
- type: "vsh"
|
||||
name: "craftbox"
|
||||
repo: "craftbox"
|
||||
tag: "v0.2.0"
|
||||
- type: "vsh"
|
||||
name: "toolbox"
|
||||
repo: "toolbox"
|
||||
tag: "v0.1.1"
|
||||
viash_version: "0.9.4"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'reporting'"
|
||||
organization: "vsh"
|
||||
3448
target/nextflow/prepare_genome/main.nf
Normal file
3448
target/nextflow/prepare_genome/main.nf
Normal file
File diff suppressed because it is too large
Load Diff
125
target/nextflow/prepare_genome/nextflow.config
Normal file
125
target/nextflow/prepare_genome/nextflow.config
Normal file
@@ -0,0 +1,125 @@
|
||||
manifest {
|
||||
name = 'prepare_genome'
|
||||
mainScript = 'main.nf'
|
||||
nextflowVersion = '!>=20.12.1-edge'
|
||||
version = 'reporting'
|
||||
description = 'Prepare genome and transcriptome FASTA files for STAR alignment by adding\nnecessary headers and creating a STAR index.\n'
|
||||
}
|
||||
|
||||
process.container = 'nextflow/bash:latest'
|
||||
|
||||
// detect tempdir
|
||||
tempDir = java.nio.file.Paths.get(
|
||||
System.getenv('NXF_TEMP') ?:
|
||||
System.getenv('VIASH_TEMP') ?:
|
||||
System.getenv('TEMPDIR') ?:
|
||||
System.getenv('TMPDIR') ?:
|
||||
'/tmp'
|
||||
).toAbsolutePath()
|
||||
|
||||
profiles {
|
||||
no_publish {
|
||||
process {
|
||||
withName: '.*' {
|
||||
publishDir = [
|
||||
enabled: false
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
mount_temp {
|
||||
docker.temp = tempDir
|
||||
podman.temp = tempDir
|
||||
charliecloud.temp = tempDir
|
||||
}
|
||||
docker {
|
||||
docker.enabled = true
|
||||
// docker.userEmulation = true
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
singularity {
|
||||
singularity.enabled = true
|
||||
singularity.autoMounts = true
|
||||
docker.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
podman {
|
||||
podman.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
shifter.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
shifter {
|
||||
shifter.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
charliecloud.enabled = false
|
||||
}
|
||||
charliecloud {
|
||||
charliecloud.enabled = true
|
||||
docker.enabled = false
|
||||
singularity.enabled = false
|
||||
podman.enabled = false
|
||||
shifter.enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
process{
|
||||
withLabel: mem1gb { memory = 1000000000.B }
|
||||
withLabel: mem2gb { memory = 2000000000.B }
|
||||
withLabel: mem5gb { memory = 5000000000.B }
|
||||
withLabel: mem10gb { memory = 10000000000.B }
|
||||
withLabel: mem20gb { memory = 20000000000.B }
|
||||
withLabel: mem50gb { memory = 50000000000.B }
|
||||
withLabel: mem100gb { memory = 100000000000.B }
|
||||
withLabel: mem200gb { memory = 200000000000.B }
|
||||
withLabel: mem500gb { memory = 500000000000.B }
|
||||
withLabel: mem1tb { memory = 1000000000000.B }
|
||||
withLabel: mem2tb { memory = 2000000000000.B }
|
||||
withLabel: mem5tb { memory = 5000000000000.B }
|
||||
withLabel: mem10tb { memory = 10000000000000.B }
|
||||
withLabel: mem20tb { memory = 20000000000000.B }
|
||||
withLabel: mem50tb { memory = 50000000000000.B }
|
||||
withLabel: mem100tb { memory = 100000000000000.B }
|
||||
withLabel: mem200tb { memory = 200000000000000.B }
|
||||
withLabel: mem500tb { memory = 500000000000000.B }
|
||||
withLabel: mem1gib { memory = 1073741824.B }
|
||||
withLabel: mem2gib { memory = 2147483648.B }
|
||||
withLabel: mem4gib { memory = 4294967296.B }
|
||||
withLabel: mem8gib { memory = 8589934592.B }
|
||||
withLabel: mem16gib { memory = 17179869184.B }
|
||||
withLabel: mem32gib { memory = 34359738368.B }
|
||||
withLabel: mem64gib { memory = 68719476736.B }
|
||||
withLabel: mem128gib { memory = 137438953472.B }
|
||||
withLabel: mem256gib { memory = 274877906944.B }
|
||||
withLabel: mem512gib { memory = 549755813888.B }
|
||||
withLabel: mem1tib { memory = 1099511627776.B }
|
||||
withLabel: mem2tib { memory = 2199023255552.B }
|
||||
withLabel: mem4tib { memory = 4398046511104.B }
|
||||
withLabel: mem8tib { memory = 8796093022208.B }
|
||||
withLabel: mem16tib { memory = 17592186044416.B }
|
||||
withLabel: mem32tib { memory = 35184372088832.B }
|
||||
withLabel: mem64tib { memory = 70368744177664.B }
|
||||
withLabel: mem128tib { memory = 140737488355328.B }
|
||||
withLabel: mem256tib { memory = 281474976710656.B }
|
||||
withLabel: mem512tib { memory = 562949953421312.B }
|
||||
withLabel: cpu1 { cpus = 1 }
|
||||
withLabel: cpu2 { cpus = 2 }
|
||||
withLabel: cpu5 { cpus = 5 }
|
||||
withLabel: cpu10 { cpus = 10 }
|
||||
withLabel: cpu20 { cpus = 20 }
|
||||
withLabel: cpu50 { cpus = 50 }
|
||||
withLabel: cpu100 { cpus = 100 }
|
||||
withLabel: cpu200 { cpus = 200 }
|
||||
withLabel: cpu500 { cpus = 500 }
|
||||
withLabel: cpu1000 { cpus = 1000 }
|
||||
}
|
||||
|
||||
|
||||
78
target/nextflow/prepare_genome/nextflow_schema.json
Normal file
78
target/nextflow/prepare_genome/nextflow_schema.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "prepare_genome",
|
||||
"description": "Prepare genome and transcriptome FASTA files for STAR alignment by adding\nnecessary headers and creating a STAR index.\n",
|
||||
"type": "object",
|
||||
"$defs": {
|
||||
"inputs": {
|
||||
"title": "Inputs",
|
||||
"type": "object",
|
||||
"description": "No description",
|
||||
"properties": {
|
||||
"input_genome_fasta": {
|
||||
"type": "string",
|
||||
"format": "path",
|
||||
"description": "",
|
||||
"help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"genome.fasta.gz\"`. "
|
||||
},
|
||||
"input_transcriptome_gtf": {
|
||||
"type": "string",
|
||||
"format": "path",
|
||||
"description": "",
|
||||
"help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"genes.gtf.gz\"`. "
|
||||
}
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"title": "Outputs",
|
||||
"type": "object",
|
||||
"description": "No description",
|
||||
"properties": {
|
||||
"output_genome_fasta": {
|
||||
"type": "string",
|
||||
"format": "path",
|
||||
"description": "",
|
||||
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output_genome_fasta.fasta\"`, direction: `output`, example: `\"genome.fasta\"`. ",
|
||||
"default": "$id.$key.output_genome_fasta.fasta"
|
||||
},
|
||||
"output_transcriptome_gtf": {
|
||||
"type": "string",
|
||||
"format": "path",
|
||||
"description": "",
|
||||
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output_transcriptome_gtf.gtf\"`, direction: `output`, example: `\"transcriptome.gtf\"`. ",
|
||||
"default": "$id.$key.output_transcriptome_gtf.gtf"
|
||||
},
|
||||
"output_star_index": {
|
||||
"type": "string",
|
||||
"format": "path",
|
||||
"description": "",
|
||||
"help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output_star_index\"`, direction: `output`. ",
|
||||
"default": "$id.$key.output_star_index"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nextflow input-output arguments": {
|
||||
"title": "Nextflow input-output arguments",
|
||||
"type": "object",
|
||||
"description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
|
||||
"properties": {
|
||||
"publish_dir": {
|
||||
"type": "string",
|
||||
"description": "Path to an output directory.",
|
||||
"help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/inputs"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/outputs"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/nextflow input-output arguments"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user