diff --git a/components/modules/annotate/onclass.qmd b/components/modules/annotate/onclass.qmd deleted file mode 100644 index 6a1ee7c0..00000000 --- a/components/modules/annotate/onclass.qmd +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: "Onclass" -namespace: "Annotate" -description: "OnClass is a python package for single-cell cell type annotation." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `onclass` -Namespace: `annotate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/onclass/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -It uses the Cell Ontology to capture the cell type similarity. -These similarities enable OnClass to annotate cell types that are never seen in the training data - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/onclass/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_var_gene_names: "foo" -input_reference_gene_overlap: 100 - -# Ongoloty -cl_nlp_emb_file: # please fill in - example: "path/to/file" -cl_ontology_file: # please fill in - example: "path/to/file" -cl_obo_file: # please fill in - example: "path/to/file" - -# Reference -# reference: "reference.h5mu" -# reference_layer: "foo" -reference_obs_target: # please fill in - example: "cell_ontology_class" -# reference_var_gene_names: "foo" -# reference_var_input: "foo" -unknown_celltype: "Unknown" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_obs_predictions: "onclass_pred" -output_obs_probability: "onclass_prob" - -# Model arguments -# model: "foo" -max_iter: 30 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/annotate/onclass/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Input dataset (query) arguments - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--input_layer` |The layer in the input data to be used for cell type annotation if .X is not to be used. |`string` | -|`--input_var_gene_names` |The name of the adata var column in the input data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | - - -### Ongoloty - -Ontology input files - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cl_nlp_emb_file` |The .nlp.emb file with the cell type embeddings. |`file`, required | -|`--cl_ontology_file` |The .ontology file with the cell type ontology. |`file`, required | -|`--cl_obo_file` |The .obo file with the cell type ontology. |`file`, required | - - -### Reference - -Arguments related to the reference dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | -|`--reference_layer` |The layer in the reference data to be used for cell type annotation if .X is not to be used. |`string` | -|`--reference_obs_target` |The name of the adata obs column in the reference data containing cell type annotations. |`string`, required, example: `"cell_ontology_class"` | -|`--reference_var_gene_names` |The name of the adata var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--reference_var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | -|`--unknown_celltype` |Label for unknown cell types. |`string`, default: `"Unknown"` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. |`string`, default: `"onclass_pred"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. |`string`, default: `"onclass_prob"` | - - -### Model arguments - -Model arguments - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |"Pretrained model path without a file extension. If not provided, the model will be trained on the reference data and --reference should be provided. The path namespace should contain: - a .npz or .pkl file - a .data file - a .meta file - a .index file e.g. /path/to/model/pretrained_model_target1 as saved by OnClass." |`string` | -|`--max_iter` |Maximum number of iterations for training the model. |`integer`, default: `30` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/annotate/popv.qmd b/components/modules/annotate/popv.qmd deleted file mode 100644 index c1a122b7..00000000 --- a/components/modules/annotate/popv.qmd +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: "Popv" -namespace: "Annotate" -description: "Performs popular major vote cell typing on single cell sequence data using multiple algorithms." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `popv` -Namespace: `annotate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/popv/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Note that this is a one-shot version of PopV. - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/popv/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_obs_batch: "foo" -# input_var_subset: "foo" -# input_obs_label: "foo" -unknown_celltype_label: "unknown" - -# Reference -reference: # please fill in - example: "TS_Bladder_filtered.h5ad" -# reference_layer: "foo" -reference_obs_label: "cell_ontology_class" -reference_obs_batch: "donor_assay" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Arguments -methods: # please fill in - example: ["knn_on_scvi", "scanvi"] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/annotate/popv/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Arguments related to the input (aka query) dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--input_layer` |Which layer to use. If no value is provided, the counts are assumed to be in the `.X` slot. Otherwise, count data is expected to be in `.layers[input_layer]`. |`string` | -|`--input_obs_batch` |Key in obs field of input adata for batch information. If no value is provided, batch label is assumed to be unknown. |`string` | -|`--input_var_subset` |Subset the input object with this column. |`string` | -|`--input_obs_label` |Key in obs field of input adata for label information. This is only used for training scANVI. Unlabelled cells should be set to `"unknown_celltype_label"`. |`string` | -|`--unknown_celltype_label` |If `input_obs_label` is specified, cells with this value will be treated as unknown and will be predicted by the model. |`string`, default: `"unknown"` | - - -### Reference - -Arguments related to the reference dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |User-provided reference tissue. The data that will be used as reference to call cell types. |`file`, required, example: `"TS_Bladder_filtered.h5ad"` | -|`--reference_layer` |Which layer to use. If no value is provided, the counts are assumed to be in the `.X` slot. Otherwise, count data is expected to be in `.layers[reference_layer]`. |`string` | -|`--reference_obs_label` |Key in obs field of reference AnnData with cell-type information. |`string`, default: `"cell_ontology_class"` | -|`--reference_obs_batch` |Key in obs field of input adata for batch information. |`string`, default: `"donor_assay"` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | - - -### Arguments - -Other arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--methods` |Methods to call cell types. By default, runs to knn_on_scvi and scanvi. |List of `string`, required, example: `"knn_on_scvi", "scanvi"`, multiple_sep: `";"` | - -## Authors - - - * Matthias Beyens [{{< fa brands github >}}](https://github.com/MatthiasBeyens) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3304-0706) [{{< fa brands linkedin >}}](https://linkedin.com/in/mbeyens) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author) - diff --git a/components/modules/annotate/random_forest_annotation.qmd b/components/modules/annotate/random_forest_annotation.qmd deleted file mode 100644 index f1062564..00000000 --- a/components/modules/annotate/random_forest_annotation.qmd +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: "Random forest annotation" -namespace: "Annotate" -description: "Automated cell type annotation tool for scRNA-seq datasets on the basis of random forest." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `random_forest_annotation` -Namespace: `annotate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/random_forest_annotation/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/random_forest_annotation/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_var_gene_names: "foo" -input_reference_gene_overlap: 100 - -# Reference -# reference: "reference.h5mu" -# reference_layer: "foo" -reference_obs_target: # please fill in - example: "foo" -# reference_var_gene_names: "foo" -# reference_var_input: "foo" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_obs_predictions: "random_forest_pred" -output_obs_probability: "random_forest_probability" - -# Model arguments -# model: "pretrained_model.pkl" -n_estimators: 100 -# max_depth: 123 -criterion: "gini" -class_weight: "balanced_subsample" -max_features: "200" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/annotate/random_forest_annotation/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Input dataset (query) arguments - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--input_layer` |The layer in the input data to be used for cell type annotation if .X is not to be used. |`string` | -|`--input_var_gene_names` |The name of the adata var column in the input data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | - - -### Reference - -Arguments related to the reference dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | -|`--reference_layer` |The layer in the reference data to be used for cell type annotation if .X is not to be used. Data are expected to be processed in the same way as the --input query dataset. |`string` | -|`--reference_obs_target` |Key in obs field of reference modality with cell-type information. |`string`, required | -|`--reference_var_gene_names` |The name of the adata var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--reference_var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. |`string`, default: `"random_forest_pred"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. |`string`, default: `"random_forest_probability"` | - - -### Model arguments - -Model arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |Pretrained model in pkl format. If not provided, the model will be trained on the reference data and --reference should be provided. |`file`, example: `"pretrained_model.pkl"` | -|`--n_estimators` |Number of trees in the random forest. |`integer`, default: `100` | -|`--max_depth` |Maximum depth of the trees in the random forest. If not provided, the nodes are expanded until all leaves only contain a single sample. |`integer` | -|`--criterion` |The function to measure the quality of a split. |`string`, default: `"gini"` | -|`--class_weight` |Weights associated with classes. The `balanced` mode uses the values of y to automatically adjust weights inversely proportional to class frequencies in the input data. The `balanced_subsample` mode is the same as `balanced` except that weights are computed based on the bootstrap sample for every tree grown. The `uniform` mode gives all classes a weight of one. |`string`, default: `"balanced_subsample"` | -|`--max_features` |The number of features to consider when looking for the best split. The value can either be a positive integer or one of `sqrt`, `log2` or `all`. If integer: consider max_features features at each split. If `sqrt`: max_features is the squareroot of all input features. If `log2`: max_features is the log2 of all input features. If `all`: max features equals all input features. |`string`, default: `"200"` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/annotate/scanvi.qmd b/components/modules/annotate/scanvi.qmd deleted file mode 100644 index b91e61c8..00000000 --- a/components/modules/annotate/scanvi.qmd +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: "Scanvi" -namespace: "Annotate" -description: "scANVI () is a semi-supervised model for single-cell transcriptomics data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scanvi` -Namespace: `annotate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/scanvi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -scANVI is an scVI extension that can leverage the cell type knowledge for a subset of the cells present in the data sets to infer the states of the rest of the cells. This component will instantiate a scANVI model from a pre-trained scVI model, integrate the data and perform label prediction - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/scanvi/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "path/to/file" -modality: "rna" -# input_layer: "foo" -# var_input: "foo" -# var_gene_names: "foo" -obs_labels: # please fill in - example: "foo" -unlabeled_category: "Unknown" - -# scVI Model -scvi_model: # please fill in - example: "scvi_model.pt" - -# Outputs -# output: "$id.$key.output" -# output_model: "$id.$key.output_model" -# output_compression: "gzip" -obsm_output: "X_scanvi_integrated" -obs_output_predictions: "scanvi_pred" -obs_output_probabilities: "scanvi_proba" - -# scANVI training arguments -# early_stopping: true -early_stopping_monitor: "elbo_validation" -early_stopping_patience: 45 -early_stopping_min_delta: 0.0 -# max_epochs: 123 -reduce_lr_on_plateau: true -lr_factor: 0.6 -lr_patience: 30.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/annotate/scanvi/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. Note that this needs to be the exact same dataset as the --scvi_model was trained on. |`file`, required | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |Input layer to use. If None, X is used |`string` | -|`--var_input` |.var column containing highly variable genes that were used to train the scVi model. By default, do not subset genes. |`string` | -|`--var_gene_names` |.var column containing gene names. By default, use the index. |`string` | -|`--obs_labels` |.obs field containing the labels |`string`, required | -|`--unlabeled_category` |Value in the --obs_labels field that indicates unlabeled observations |`string`, default: `"Unknown"` | - - -### scVI Model - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--scvi_model` |Pretrained SCVI reference model to initialize the SCANVI model with. |`file`, required, example: `"scvi_model.pt"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required | -|`--output_model` |Folder where the state of the trained model will be saved to. |`file` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_scanvi_integrated"` | -|`--obs_output_predictions` |In which .obs slot to store the predicted labels. |`string`, default: `"scanvi_pred"` | -|`--obs_output_probabilities` |In which. obs slot to store the probabilities of the predicted labels. |`string`, default: `"scanvi_proba"` | - - -### scANVI training arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean` | -|`--early_stopping_monitor` |Metric logged during validation set epoch. |`string`, default: `"elbo_validation"` | -|`--early_stopping_patience` |Number of validation epochs with no improvement after which training will be stopped. |`integer`, default: `45` | -|`--early_stopping_min_delta` |Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |`double`, default: `0` | -|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | -|`--reduce_lr_on_plateau` |Whether to monitor validation loss and reduce learning rate when validation set `lr_scheduler_metric` plateaus. |`boolean`, default: `TRUE` | -|`--lr_factor` |Factor to reduce learning rate. |`double`, default: `0.6` | -|`--lr_patience` |Number of epochs with no improvement after which learning rate will be reduced. |`double`, default: `30` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer) - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/annotate/svm_annotation.qmd b/components/modules/annotate/svm_annotation.qmd deleted file mode 100644 index c0977143..00000000 --- a/components/modules/annotate/svm_annotation.qmd +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: "Svm annotation" -namespace: "Annotate" -description: "Automated cell type annotation tool for scRNA-seq datasets on the basis of SVMs." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `svm_annotation` -Namespace: `annotate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/svm_annotation/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/svm_annotation/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_var_gene_names: "foo" -input_reference_gene_overlap: 100 - -# Reference -# reference: "reference.h5mu" -# reference_layer: "foo" -reference_obs_target: # please fill in - example: "foo" -# reference_var_gene_names: "foo" -# reference_var_input: "foo" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_obs_prediction: "svm_pred" -output_obs_probability: "svm_probability" - -# Model arguments -# model: "pretrained_model.pkl" -feature_selection: true -max_iter: 5000 -c_reg: 1.0 -class_weight: "balanced" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/annotate/svm_annotation/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Input dataset (query) arguments - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--input_layer` |The layer in the input data to be used for cell type annotation if .X is not to be used. |`string` | -|`--input_var_gene_names` |The name of the adata var column in the input data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | - - -### Reference - -Arguments related to the reference dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | -|`--reference_layer` |The layer in the reference data to be used for cell type annotation if .X is not to be used. Data are expected to be processed in the same way as the --input query dataset. |`string` | -|`--reference_obs_target` | |`string`, required | -|`--reference_var_gene_names` |The name of the adata var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--reference_var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_obs_prediction` |In which `.obs` slots to store the predicted information. |`string`, default: `"svm_pred"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. |`string`, default: `"svm_probability"` | - - -### Model arguments - -Model arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |Pretrained model in pkl format. If not provided, the model will be trained on the reference data and --reference should be provided. |`file`, example: `"pretrained_model.pkl"` | -|`--feature_selection` |Whether to perform feature selection. |`boolean`, default: `TRUE` | -|`--max_iter` |Maximum number of iterations for the SVM. |`integer`, default: `5000` | -|`--c_reg` |Regularization parameter for the SVM. |`double`, default: `1` | -|`--class_weight` |"Class weights for the SVM. The `uniform` mode gives all classes a weight of one. The `balanced` mode (default) uses the values of y to automatically adjust weights inversely proportional to class frequencies in the input data as n_samples / (n_classes * np.bincount(y))" |`string`, default: `"balanced"` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/cluster/leiden.qmd b/components/modules/cluster/leiden.qmd deleted file mode 100644 index cce56ac4..00000000 --- a/components/modules/cluster/leiden.qmd +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: "Leiden" -namespace: "Cluster" -description: "Cluster cells using the [Leiden algorithm] [Traag18] implemented in the [Scanpy framework] [Wolf18]." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `leiden` -Namespace: `cluster` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/cluster/leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - -Leiden is an improved version of the [Louvain algorithm] [Blondel08]. -It has been proposed for single-cell analysis by [Levine15] [Levine15]. -This requires having ran `neighbors/find_neighbors` or `neighbors/bbknn` first. - -[Blondel08]: Blondel et al. (2008), Fast unfolding of communities in large networks, J. Stat. Mech. -[Levine15]: Levine et al. (2015), Data-Driven Phenotypic Dissection of AML Reveals Progenitor-like Cells that Correlate with Prognosis, Cell. -[Traag18]: Traag et al. (2018), From Louvain to Leiden: guaranteeing well-connected communities arXiv. -[Wolf18]: Wolf et al. (2018), Scanpy: large-scale single-cell gene expression data analysis, Genome Biology. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/cluster/leiden/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -obsp_connectivities: "connectivities" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_name: "leiden" -resolution: # please fill in - example: [1.0] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/cluster/leiden/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input file. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obsp_connectivities` |In which .obsp slot the neighbor connectivities can be found. |`string`, default: `"connectivities"` | -|`--output` |Output file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--obsm_name` |Name of the .obsm key under which to add the cluster labels. The name of the columns in the matrix will correspond to the resolutions. |`string`, default: `"leiden"` | -|`--resolution` |A parameter value controlling the coarseness of the clustering. Higher values lead to more clusters. Multiple values will result in clustering being performed multiple times. |List of `double`, required, default: `1`, multiple_sep: `";"` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - diff --git a/components/modules/compression/compress_h5mu.qmd b/components/modules/compression/compress_h5mu.qmd deleted file mode 100644 index dae822ca..00000000 --- a/components/modules/compression/compress_h5mu.qmd +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Compress h5mu" -namespace: "Compression" -description: "Compress a MuData file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `compress_h5mu` -Namespace: `compression` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/compression/compress_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/compression/compress_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "sample_path" -# output: "$id.$key.output" -compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/compression/compress_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the input .h5mu. |`file`, required, example: `"sample_path"` | -|`--output` |location of output file. |`file`, required | -|`--compression` |Compression type. |`string`, default: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/compression/tar_extract.qmd b/components/modules/compression/tar_extract.qmd deleted file mode 100644 index 026aa793..00000000 --- a/components/modules/compression/tar_extract.qmd +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Tar extract" -namespace: "Compression" -description: "Extract files from a tar archive" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `tar_extract` -Namespace: `compression` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/compression/tar_extract/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/compression/tar_extract/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.tar.gz" -# output: "$id.$key.output" -# strip_components: 1 -# exclude: "docs/figures" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/compression/tar_extract/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input file |`file`, required, example: `"input.tar.gz"` | -|`--output` |Folder to restore file(s) to. |`file`, required, example: `"output_folder"` | -|`--strip_components` |Strip this amount of leading components from file names on extraction. For example, to extract only 'myfile.txt' from an archive containing the structure `this/goes/deep/myfile.txt', use 3 to strip 'this/goes/deep/'. |`integer`, example: `1` | -|`--exclude` |Prevents any file or member whose name matches the shell wildcard (pattern) from being extracted. |`string`, example: `"docs/figures"` | - diff --git a/components/modules/convert/from_10xh5_to_h5mu.qmd b/components/modules/convert/from_10xh5_to_h5mu.qmd deleted file mode 100644 index 06d10758..00000000 --- a/components/modules/convert/from_10xh5_to_h5mu.qmd +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "From 10xh5 to h5mu" -namespace: "Convert" -description: "Converts a 10x h5 into an h5mu file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_10xh5_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_10xh5_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_10xh5_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "raw_feature_bc_matrix.h5" -# input_metrics_summary: "metrics_cellranger.h5" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -uns_metrics: "metrics_cellranger" - -# Arguments -# min_genes: 100 -# min_counts: 1000 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_10xh5_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |A 10x h5 file as generated by Cell Ranger. |`file`, required, example: `"raw_feature_bc_matrix.h5"` | -|`--input_metrics_summary` |A metrics summary csv file as generated by Cell Ranger. |`file`, example: `"metrics_cellranger.h5"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--uns_metrics` |Name of the .uns slot under which to QC metrics (if any). |`string`, default: `"metrics_cellranger"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_genes` |Minimum number of counts required for a cell to pass filtering. |`integer`, example: `100` | -|`--min_counts` |Minimum number of genes expressed required for a cell to pass filtering. |`integer`, example: `1000` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/convert/from_10xmtx_to_h5mu.qmd b/components/modules/convert/from_10xmtx_to_h5mu.qmd deleted file mode 100644 index 9a4db7db..00000000 --- a/components/modules/convert/from_10xmtx_to_h5mu.qmd +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "From 10xmtx to h5mu" -namespace: "Convert" -description: "Converts a 10x mtx into an h5mu file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_10xmtx_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_10xmtx_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_10xmtx_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input_dir_containing_gz_files" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_10xmtx_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input mtx folder |`file`, required, example: `"input_dir_containing_gz_files"` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/convert/from_bd_to_10x_molecular_barcode_tags.qmd b/components/modules/convert/from_bd_to_10x_molecular_barcode_tags.qmd deleted file mode 100644 index d6664739..00000000 --- a/components/modules/convert/from_bd_to_10x_molecular_barcode_tags.qmd +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "From bd to 10x molecular barcode tags" -namespace: "Convert" -description: "Convert the molecular barcode sequence SAM tag from BD format (MA) to 10X format (UB)" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_bd_to_10x_molecular_barcode_tags` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_bd_to_10x_molecular_barcode_tags/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_bd_to_10x_molecular_barcode_tags/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.bam" -# output: "$id.$key.output.sam" -bam: false -# threads: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_bd_to_10x_molecular_barcode_tags/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input SAM or BAM file. |`file`, required, example: `"input.bam"` | -|`--output` |Output alignment file. |`file`, example: `"output.sam"` | -|`--bam` |Output a BAM file. |`boolean_true` | -|`--threads` |Number of threads |`integer` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/convert/from_bdrhap_to_h5mu.qmd b/components/modules/convert/from_bdrhap_to_h5mu.qmd deleted file mode 100644 index cd494664..00000000 --- a/components/modules/convert/from_bdrhap_to_h5mu.qmd +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: "From bdrhap to h5mu" -namespace: "Convert" -description: "Convert the output of a BD Rhapsody pipeline v2.x to a MuData h5 file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_bdrhap_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_bdrhap_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_bdrhap_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -id: # please fill in - example: "my_id" -input: # please fill in - example: "sample.h5mu" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_bdrhap_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--id` |A sample ID. |`string`, required, example: `"my_id"` | -|`--input` |The output h5mu of a BD Rhapsody workflow. |`file`, required, example: `"sample.h5mu"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author, maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author) - diff --git a/components/modules/convert/from_cellranger_multi_to_h5mu.qmd b/components/modules/convert/from_cellranger_multi_to_h5mu.qmd deleted file mode 100644 index 87846fec..00000000 --- a/components/modules/convert/from_cellranger_multi_to_h5mu.qmd +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: "From cellranger multi to h5mu" -namespace: "Convert" -description: "Converts the output from cellranger multi to a single .h5mu file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_cellranger_multi_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_cellranger_multi_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -By default, will map the following library type names to modality names: - - Gene Expression: rna - - Peaks: atac - - Antibody Capture: prot - - VDJ: vdj - - VDJ-T: vdj_t - - VDJ-B: vdj_b - - CRISPR Guide Capture: crispr - - Multiplexing Capture: hashing - -Other library types have their whitepace removed and dashes replaced by -underscores to generate the modality name. - -Currently does not allow parsing the output from cell barcode demultiplexing. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_cellranger_multi_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input_dir_containing_modalities" -# output: ["$id.$key.output_*.h5mu"] -# sample_csv: "$id.$key.sample_csv.csv" -# output_compression: "gzip" -uns_metrics: "metrics_cellranger" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_cellranger_multi_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input folder. Must contain the output from a cellranger multi run. |`file`, required, example: `"input_dir_containing_modalities"` | -|`--output` |Locations for the output files. Must contain a wildcard (*) character, which will be replaced with the sample name. |List of `file`, example: `"*.h5mu"`, multiple_sep: `";"` | -|`--sample_csv` |CSV file describing the sample name per output file |`file`, example: `"samples.csv"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--uns_metrics` |Name of the .uns slot under which to QC metrics (if any). |`string`, default: `"metrics_cellranger"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/convert/from_h5ad_to_h5mu.qmd b/components/modules/convert/from_h5ad_to_h5mu.qmd deleted file mode 100644 index 784bd327..00000000 --- a/components/modules/convert/from_h5ad_to_h5mu.qmd +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "From h5ad to h5mu" -namespace: "Convert" -description: "Converts a single layer h5ad file into a single MuData object" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_h5ad_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_h5ad_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_h5ad_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: ["input.h5ad"] -modality: ["rna"] -# output: "output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_h5ad_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5ad files |List of `file`, required, default: `"input.h5ad"`, multiple_sep: `";"` | -|`--modality` | |List of `string`, default: `"rna"`, multiple_sep: `";"` | -|`--output` |Output MuData file. |`file`, default: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - diff --git a/components/modules/convert/from_h5ad_to_seurat.qmd b/components/modules/convert/from_h5ad_to_seurat.qmd deleted file mode 100644 index 3bc93cb0..00000000 --- a/components/modules/convert/from_h5ad_to_seurat.qmd +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "From h5ad to seurat" -namespace: "Convert" -description: "Converts an h5ad file into a Seurat file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_h5ad_to_seurat` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_h5ad_to_seurat/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_h5ad_to_seurat/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5ad" -assay: "RNA" -# output: "$id.$key.output.rds" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_h5ad_to_seurat/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5ad file |`file`, required, example: `"input.h5ad"` | -|`--assay` |Name of the assay to be created. |`string`, default: `"RNA"` | -|`--output` |Output Seurat file |`file`, required, example: `"output.rds"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/convert/from_h5mu_to_h5ad.qmd b/components/modules/convert/from_h5mu_to_h5ad.qmd deleted file mode 100644 index 7c07a1ce..00000000 --- a/components/modules/convert/from_h5mu_to_h5ad.qmd +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "From h5mu to h5ad" -namespace: "Convert" -description: "Converts a h5mu file into a h5ad file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_h5mu_to_h5ad` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_h5mu_to_h5ad/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_h5mu_to_h5ad/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# output: "output.h5ad" -output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_h5mu_to_h5ad/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input MuData file |`file`, required, default: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--output` |Output AnnData file. |`file`, default: `"output.h5ad"` | -|`--output_compression` |The compression format to be used on the final h5ad object. |`string`, default: `"gzip"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/convert/from_h5mu_to_seurat.qmd b/components/modules/convert/from_h5mu_to_seurat.qmd deleted file mode 100644 index c8c5b47e..00000000 --- a/components/modules/convert/from_h5mu_to_seurat.qmd +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "From h5mu to seurat" -namespace: "Convert" -description: "Converts an h5mu file into a Seurat file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `from_h5mu_to_seurat` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/convert/from_h5mu_to_seurat/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Restrictions: - - Only the intersection of cells is currently loaded into the Seurat object due to the object structure limitation. - - Multimodal embeddings (global .obsm slot) are loaded with the assay.used field set to the default assay. - - Embeddings names are changed in order to comply with R & Seurat requirements and conventions. - - Feature names with underscores ('_') are automatically replaced with dashes ('-') - - Seurat does not support global variables metadata /var. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/from_h5mu_to_seurat/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -# output: "$id.$key.output.rds" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/from_h5mu_to_seurat/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--output` |Output Seurat file |`file`, required, example: `"output.rds"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/convert/velocyto_to_h5mu.qmd b/components/modules/convert/velocyto_to_h5mu.qmd deleted file mode 100644 index 4ff8a593..00000000 --- a/components/modules/convert/velocyto_to_h5mu.qmd +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: "Velocyto to h5mu" -namespace: "Convert" -description: "Convert a velocyto loom file to a h5mu file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `velocyto_to_h5mu` -Namespace: `convert` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/velocity/velocyto_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -If an input h5mu file is also provided, the velocity -h5ad object will get added to that h5mu instead. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/convert/velocyto_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input_loom: # please fill in - example: "input.loom" -# input_h5mu: "input.h5mu" -modality: "rna_velocity" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -layer_spliced: "velo_spliced" -layer_unspliced: "velo_unspliced" -layer_ambiguous: "velo_ambiguous" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/convert/velocyto_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_loom` |Path to the input loom file. |`file`, required, example: `"input.loom"` | -|`--input_h5mu` |If a MuData file is provided, |`file`, example: `"input.h5mu"` | -|`--modality` |The name of the modality to operate on. |`string`, default: `"rna_velocity"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Path to the output MuData file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--layer_spliced` |Output layer for the spliced reads. |`string`, default: `"velo_spliced"` | -|`--layer_unspliced` |Output layer for the unspliced reads. |`string`, default: `"velo_unspliced"` | -|`--layer_ambiguous` |Output layer for the ambiguous reads. |`string`, default: `"velo_ambiguous"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer, author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author) - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (contributor) - diff --git a/components/modules/correction/cellbender_remove_background.qmd b/components/modules/correction/cellbender_remove_background.qmd deleted file mode 100644 index 0356c351..00000000 --- a/components/modules/correction/cellbender_remove_background.qmd +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: "Cellbender remove background" -namespace: "Correction" -description: "Eliminating technical artifacts from high-throughput single-cell RNA sequencing data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellbender_remove_background` -Namespace: `correction` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/correction/cellbender_remove_background/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -This module removes counts due to ambient RNA molecules and random barcode swapping from (raw) UMI-based scRNA-seq count matrices. -At the moment, only the count matrices produced by the CellRanger count pipeline is supported. Support for additional tools and protocols -will be added in the future. A quick start tutorial can be found here. - -Fleming et al. 2022, bioRxiv. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/correction/cellbender_remove_background/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -layer_output: "cellbender_corrected" -obs_background_fraction: "cellbender_background_fraction" -obs_cell_probability: "cellbender_cell_probability" -obs_cell_size: "cellbender_cell_size" -obs_droplet_efficiency: "cellbender_droplet_efficiency" -obs_latent_scale: "cellbender_latent_scale" -var_ambient_expression: "cellbender_ambient_expression" -obsm_gene_expression_encoding: "cellbender_gene_expression_encoding" - -# Arguments -expected_cells_from_qc: false -# expected_cells: 1000 -# total_droplets_included: 25000 -# force_cell_umi_prior: 123 -# force_empty_umi_prior: 123 -model: "full" -epochs: 150 -low_count_threshold: 5 -z_dim: 64 -z_layers: [512] -training_fraction: 0.9 -empty_drop_training_fraction: 0.2 -# ignore_features: [123] -fpr: [0.01] -# exclude_feature_types: ["foo"] -projected_ambient_count_threshold: 0.1 -learning_rate: 1.0E-4 -# final_elbo_fail_fraction: 123.0 -# epoch_elbo_fail_fraction: 123.0 -num_training_tries: 1 -learning_rate_retry_mult: 0.2 -posterior_batch_size: 128 -# posterior_regulation: "foo" -# alpha: 123.0 -# q: 123.0 -estimator: "mckp" -estimator_multiple_cpu: false -# constant_learning_rate: true -debug: false -cuda: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/correction/cellbender_remove_background/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. Data file on which to run tool. Data must be un-filtered: it should include empty droplets. |`file`, required, example: `"input.h5mu"` | -|`--modality` |List of modalities to process. |`string`, default: `"rna"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Full count matrix as an h5mu file, with background RNA removed. This file contains all the original droplet barcodes. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--layer_output` |Output layer |`string`, default: `"cellbender_corrected"` | -|`--obs_background_fraction` | |`string`, default: `"cellbender_background_fraction"` | -|`--obs_cell_probability` | |`string`, default: `"cellbender_cell_probability"` | -|`--obs_cell_size` | |`string`, default: `"cellbender_cell_size"` | -|`--obs_droplet_efficiency` | |`string`, default: `"cellbender_droplet_efficiency"` | -|`--obs_latent_scale` | |`string`, default: `"cellbender_latent_scale"` | -|`--var_ambient_expression` | |`string`, default: `"cellbender_ambient_expression"` | -|`--obsm_gene_expression_encoding` | |`string`, default: `"cellbender_gene_expression_encoding"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--expected_cells_from_qc` |Will use the Cell Ranger QC to determine the estimated number of cells |`boolean`, default: `FALSE` | -|`--expected_cells` |Number of cells expected in the dataset (a rough estimate within a factor of 2 is sufficient). |`integer`, example: `1000` | -|`--total_droplets_included` |The number of droplets from the rank-ordered UMI plot that will have their cell probabilities inferred as an output. Include the droplets which might contain cells. Droplets beyond TOTAL_DROPLETS_INCLUDED should be 'surely empty' droplets. |`integer`, example: `25000` | -|`--force_cell_umi_prior` |Ignore CellBender's heuristic prior estimation, and use this prior for UMI counts in cells. |`integer` | -|`--force_empty_umi_prior` |Ignore CellBender's heuristic prior estimation, and use this prior for UMI counts in empty droplets. |`integer` | -|`--model` |Which model is being used for count data. * 'naive' subtracts the estimated ambient profile. * 'simple' does not model either ambient RNA or random barcode swapping (for debugging purposes -- not recommended). * 'ambient' assumes background RNA is incorporated into droplets. * 'swapping' assumes background RNA comes from random barcode swapping (via PCR chimeras). * 'full' uses a combined ambient and swapping model. |`string`, default: `"full"` | -|`--epochs` |Number of epochs to train. |`integer`, default: `150` | -|`--low_count_threshold` |Droplets with UMI counts below this number are completely excluded from the analysis. This can help identify the correct prior for empty droplet counts in the rare case where empty counts are extremely high (over 200). |`integer`, default: `5` | -|`--z_dim` |Dimension of latent variable z. |`integer`, default: `64` | -|`--z_layers` |Dimension of hidden layers in the encoder for z. |List of `integer`, default: `512`, multiple_sep: `";"` | -|`--training_fraction` |Training detail: the fraction of the data used for training. The rest is never seen by the inference algorithm. Speeds up learning. |`double`, default: `0.9` | -|`--empty_drop_training_fraction` |Training detail: the fraction of the training data each epoch that is drawn (randomly sampled) from surely empty droplets. |`double`, default: `0.2` | -|`--ignore_features` |Integer indices of features to ignore entirely. In the output count matrix, the counts for these features will be unchanged. |List of `integer`, multiple_sep: `";"` | -|`--fpr` |Target 'delta' false positive rate in [0, 1). Use 0 for a cohort of samples which will be jointly analyzed for differential expression. A false positive is a true signal count that is erroneously removed. More background removal is accompanied by more signal removal at high values of FPR. You can specify multiple values, which will create multiple output files. |List of `double`, default: `0.01`, multiple_sep: `";"` | -|`--exclude_feature_types` |Feature types to ignore during the analysis. These features will be left unchanged in the output file. |List of `string`, multiple_sep: `";"` | -|`--projected_ambient_count_threshold` |Controls how many features are included in the analysis, which can lead to a large speedup. If a feature is expected to have less than PROJECTED_AMBIENT_COUNT_THRESHOLD counts total in all cells (summed), then that gene is excluded, and it will be unchanged in the output count matrix. For example, PROJECTED_AMBIENT_COUNT_THRESHOLD = 0 will include all features which have even a single count in any empty droplet. |`double`, default: `0.1` | -|`--learning_rate` |Training detail: lower learning rate for inference. A OneCycle learning rate schedule is used, where the upper learning rate is ten times this value. (For this value, probably do not exceed 1e-3). |`double`, default: `1e-04` | -|`--final_elbo_fail_fraction` |Training is considered to have failed if (best_test_ELBO - final_test_ELBO)/(best_test_ELBO - initial_test_ELBO) > FINAL_ELBO_FAIL_FRACTION. Training will automatically re-run if --num-training-tries > 1. By default, will not fail training based on final_training_ELBO. |`double` | -|`--epoch_elbo_fail_fraction` |Training is considered to have failed if (previous_epoch_test_ELBO - current_epoch_test_ELBO)/(previous_epoch_test_ELBO - initial_train_ELBO) > EPOCH_ELBO_FAIL_FRACTION. Training will automatically re-run if --num-training-tries > 1. By default, will not fail training based on epoch_training_ELBO. |`double` | -|`--num_training_tries` |Number of times to attempt to train the model. At each subsequent attempt, the learning rate is multiplied by LEARNING_RATE_RETRY_MULT. |`integer`, default: `1` | -|`--learning_rate_retry_mult` |Learning rate is multiplied by this amount each time a new training attempt is made. (This parameter is only used if training fails based on EPOCH_ELBO_FAIL_FRACTION or FINAL_ELBO_FAIL_FRACTION and NUM_TRAINING_TRIES is > 1.) |`double`, default: `0.2` | -|`--posterior_batch_size` |Training detail: size of batches when creating the posterior. Reduce this to avoid running out of GPU memory creating the posterior (will be slower). |`integer`, default: `128` | -|`--posterior_regulation` |Posterior regularization method. (For experts: not required for normal usage, see documentation). * PRq is approximate quantile-targeting. * PRmu is approximate mean-targeting aggregated over genes (behavior of v0.2.0). * PRmu_gene is approximate mean-targeting per gene. |`string` | -|`--alpha` |Tunable parameter alpha for the PRq posterior regularization method (not normally used: see documentation). |`double` | -|`--q` |Tunable parameter q for the CDF threshold estimation method (not normally used: see documentation). |`double` | -|`--estimator` |Output denoised count estimation method. (For experts: not required for normal usage, see documentation). |`string`, default: `"mckp"` | -|`--estimator_multiple_cpu` |Including the flag --estimator-multiple-cpu will use more than one CPU to compute the MCKP output count estimator in parallel (does nothing for other estimators). |`boolean_true` | -|`--constant_learning_rate` |Including the flag --constant-learning-rate will use the ClippedAdam optimizer instead of the OneCycleLR learning rate schedule, which is the default. Learning is faster with the OneCycleLR schedule. However, training can easily be continued from a checkpoint for more epochs than the initial command specified when using ClippedAdam. On the other hand, if using the OneCycleLR schedule with 150 epochs specified, it is not possible to pick up from that final checkpoint and continue training until 250 epochs. |`boolean` | -|`--debug` |Including the flag --debug will log extra messages useful for debugging. |`boolean_true` | -|`--cuda` |Including the flag --cuda will run the inference on a GPU. |`boolean_true` | - diff --git a/components/modules/correction/cellbender_remove_background_v0_2.qmd b/components/modules/correction/cellbender_remove_background_v0_2.qmd deleted file mode 100644 index 9bdea80f..00000000 --- a/components/modules/correction/cellbender_remove_background_v0_2.qmd +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: "Cellbender remove background v0 2" -namespace: "Correction" -description: "Eliminating technical artifacts from high-throughput single-cell RNA sequencing data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellbender_remove_background_v0_2` -Namespace: `correction` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/correction/cellbender_remove_background_v0_2/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -This module removes counts due to ambient RNA molecules and random barcode swapping from (raw) UMI-based scRNA-seq count matrices. -At the moment, only the count matrices produced by the CellRanger count pipeline is supported. Support for additional tools and protocols -will be added in the future. A quick start tutorial can be found here. - -Fleming et al. 2022, bioRxiv. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/correction/cellbender_remove_background_v0_2/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -layer_output: "corrected" -obs_latent_rt_efficiency: "latent_rt_efficiency" -obs_latent_cell_probability: "latent_cell_probability" -obs_latent_scale: "latent_scale" -var_ambient_expression: "ambient_expression" -obsm_latent_gene_encoding: "cellbender_latent_gene_encoding" - -# Arguments -# expected_cells: 1000 -# total_droplets_included: 25000 -expected_cells_from_qc: true -model: "full" -epochs: 150 -low_count_threshold: 15 -z_dim: 100 -z_layers: [500] -training_fraction: 0.9 -empty_drop_training_fraction: 0.5 -fpr: [0.01] -exclude_antibody_capture: false -# learning_rate: 1.0E-4 -cuda: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/correction/cellbender_remove_background_v0_2/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |List of modalities to process. |`string`, default: `"rna"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Full count matrix as an h5mu file, with background RNA removed. This file contains all the original droplet barcodes. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--layer_output` |Output layer |`string`, default: `"corrected"` | -|`--obs_latent_rt_efficiency` | |`string`, default: `"latent_rt_efficiency"` | -|`--obs_latent_cell_probability` | |`string`, default: `"latent_cell_probability"` | -|`--obs_latent_scale` | |`string`, default: `"latent_scale"` | -|`--var_ambient_expression` | |`string`, default: `"ambient_expression"` | -|`--obsm_latent_gene_encoding` | |`string`, default: `"cellbender_latent_gene_encoding"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--expected_cells` |Number of cells expected in the dataset (a rough estimate within a factor of 2 is sufficient). |`integer`, example: `1000` | -|`--total_droplets_included` |The number of droplets from the rank-ordered UMI plot that will be analyzed. The largest 'total_droplets' droplets will have their cell probabilities inferred as an output. |`integer`, example: `25000` | -|`--expected_cells_from_qc` |Will use the Cell Ranger QC to determine the estimated number of cells |`boolean`, default: `TRUE` | -|`--model` |Which model is being used for count data. 'simple' does not model either ambient RNA or random barcode swapping (for debugging purposes -- not recommended). 'ambient' assumes background RNA is incorporated into droplets. 'swapping' assumes background RNA comes from random barcode swapping. 'full' uses a combined ambient and swapping model. |`string`, default: `"full"` | -|`--epochs` |Number of epochs to train. |`integer`, default: `150` | -|`--low_count_threshold` |Droplets with UMI counts below this number are completely excluded from the analysis. This can help identify the correct prior for empty droplet counts in the rare case where empty counts are extremely high (over 200). |`integer`, default: `15` | -|`--z_dim` |Dimension of latent variable z. |`integer`, default: `100` | -|`--z_layers` |Dimension of hidden layers in the encoder for z. |List of `integer`, default: `500`, multiple_sep: `";"` | -|`--training_fraction` |Training detail: the fraction of the data used for training. The rest is never seen by the inference algorithm. Speeds up learning. |`double`, default: `0.9` | -|`--empty_drop_training_fraction` |Training detail: the fraction of the training data each epoch that is drawn (randomly sampled) from surely empty droplets. |`double`, default: `0.5` | -|`--fpr` |Target false positive rate in (0, 1). A false positive is a true signal count that is erroneously removed. More background removal is accompanied by more signal removal at high values of FPR. You can specify multiple values, which will create multiple output files. |List of `double`, default: `0.01`, multiple_sep: `";"` | -|`--exclude_antibody_capture` |Including the flag --exclude-antibody-capture will cause remove-background to operate on gene counts only, ignoring other features. |`boolean_true` | -|`--learning_rate` |Training detail: lower learning rate for inference. A OneCycle learning rate schedule is used, where the upper learning rate is ten times this value. (For this value, probably do not exceed 1e-3). |`double`, example: `1e-04` | -|`--cuda` |Including the flag --cuda will run the inference on a GPU. |`boolean_true` | - diff --git a/components/modules/dataflow/concatenate_h5mu.qmd b/components/modules/dataflow/concatenate_h5mu.qmd deleted file mode 100644 index fc7daa07..00000000 --- a/components/modules/dataflow/concatenate_h5mu.qmd +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Concatenate h5mu" -namespace: "Dataflow" -description: "Concatenate observations from samples in several (uni- and/or multi-modal) MuData files into a single file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `concatenate_h5mu` -Namespace: `dataflow` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dataflow/concatenate_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dataflow/concatenate_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: ["sample_paths"] -# modality: ["foo"] -# input_id: ["foo"] -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obs_sample_name: "sample_id" -other_axis_mode: "move" -uns_merge_mode: "make_unique" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dataflow/concatenate_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Paths to the different samples to be concatenated. |List of `file`, required, example: `"sample_paths"`, multiple_sep: `";"` | -|`--modality` |Only output concatenated objects for the provided modalities. Outputs all modalities by default. |List of `string`, multiple_sep: `";"` | -|`--input_id` |Names of the different samples that have to be concatenated. Must be specified when using '--mode move'. In this case, the ids will be used for the columns names of the dataframes registring the conflicts. If specified, must be of same length as `--input`. |List of `string`, multiple_sep: `";"` | -|`--output` | |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obs_sample_name` |Name of the .obs key under which to add the sample names. |`string`, default: `"sample_id"` | -|`--other_axis_mode` |How to handle the merging of other axis (var, obs, ...). - None: keep no data - same: only keep elements of the matrices which are the same in each of the samples - unique: only keep elements for which there is only 1 possible value (1 value that can occur in multiple samples) - first: keep the annotation from the first sample - only: keep elements that show up in only one of the objects (1 unique element in only 1 sample) - move: identical to 'same', but moving the conflicting values to .varm or .obsm |`string`, default: `"move"` | -|`--uns_merge_mode` |How to handle the merging of .uns across modalities - None: keep no data - same: only keep elements of the matrices which are the same in each of the samples - unique: only keep elements for which there is only 1 possible value (1 value that can occur in multiple samples) - first: keep the annotation from the first sample - only: keep elements that show up in only one of the objects (1 unique element in only 1 sample) - make_unique: identical to 'unique', but keys which are not unique are made unique by prefixing them with the sample id. |`string`, default: `"make_unique"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/dataflow/merge.qmd b/components/modules/dataflow/merge.qmd deleted file mode 100644 index 450cbcad..00000000 --- a/components/modules/dataflow/merge.qmd +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Merge" -namespace: "Dataflow" -description: "Combine one or more single-modality .h5mu files together into one .h5mu file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `merge` -Namespace: `dataflow` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dataflow/merge/config.vsh.yml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dataflow/merge/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: ["sample_paths"] -# output: "output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dataflow/merge/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Paths to the single-modality .h5mu files that need to be combined |List of `file`, required, default: `"sample_paths"`, multiple_sep: `";"` | -|`--output` |Path to the output file. |`file`, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/dataflow/split_h5mu.qmd b/components/modules/dataflow/split_h5mu.qmd deleted file mode 100644 index ed27245f..00000000 --- a/components/modules/dataflow/split_h5mu.qmd +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: "Split h5mu" -namespace: "Dataflow" -description: "Split the samples of a single modality from a .h5mu (multimodal) sample into seperate .h5mu files based on the values of an .obs column of this modality." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `split_h5mu` -Namespace: `dataflow` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dataflow/split_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dataflow/split_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input & specifications -input: # please fill in - example: "path/to/file" -modality: "rna" -obs_feature: # please fill in - example: "celltype" -drop_obs_nan: false -ensure_unique_filenames: false - -# Outputs -# output: "$id.$key.output" -# output_compression: "gzip" -# output_files: "$id.$key.output_files.csv" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dataflow/split_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input & specifications - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to a single .h5mu file. |`file`, required | -|`--modality` | |`string`, default: `"rna"` | -|`--obs_feature` |The .obs column to split the mudata on. |`string`, required, example: `"celltype"` | -|`--drop_obs_nan` |Whether to drop all .obs columns that contain only nan values after splitting. |`boolean_true` | -|`--ensure_unique_filenames` |Append number suffixes to ensure unique filenames after sanitizing obs feature values. |`boolean_true` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory containing multiple h5mu files. |`file`, required, example: `"/path/to/output"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--output_files` |A csv containing the base filename and obs feature by which it was split. |`file`, required, example: `"sample_files.csv"` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author, maintainer) - diff --git a/components/modules/dataflow/split_h5mu_train_test.qmd b/components/modules/dataflow/split_h5mu_train_test.qmd deleted file mode 100644 index 2cf70b10..00000000 --- a/components/modules/dataflow/split_h5mu_train_test.qmd +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: "Split h5mu train test" -namespace: "Dataflow" -description: "Split mudata object into training and testing (and validation) datasets based on observations into separate mudata objects." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `split_h5mu_train_test` -Namespace: `dataflow` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dataflow/split_h5mu_train_test/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dataflow/split_h5mu_train_test/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" - -# Outputs -# output_train: "$id.$key.output_train.h5mu" -# output_test: "$id.$key.output_test.h5mu" -# output_val: "$id.$key.output_val.h5mu" -# compression: "gzip" - -# Split arguments -test_size: 0.2 -# val_size: 123.0 -shuffle: false -# random_state: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dataflow/split_h5mu_train_test/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Input dataset in mudata format. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output_train` |The output training data in mudata format. |`file`, required, example: `"output_train.h5mu"` | -|`--output_test` |The output testing data in mudata format. |`file`, required, example: `"output_test.h5mu"` | -|`--output_val` |The output validation data in mudata format. |`file`, example: `"output_val.h5mu"` | -|`--compression` | |`string`, example: `"gzip"` | - - -### Split arguments - -Model arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--test_size` |The proportion of the dataset to include in the test split. |`double`, default: `0.2` | -|`--val_size` |The proportion of the dataset to include in the validation split. |`double` | -|`--shuffle` |Whether or not to shuffle the data before splitting. |`boolean_true` | -|`--random_state` |The seed used by the random number generator. |`integer` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/dataflow/split_modalities.qmd b/components/modules/dataflow/split_modalities.qmd deleted file mode 100644 index 80a8154e..00000000 --- a/components/modules/dataflow/split_modalities.qmd +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: "Split modalities" -namespace: "Dataflow" -description: "Split the modalities from a single .h5mu multimodal sample into seperate .h5mu files." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `split_modalities` -Namespace: `dataflow` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dataflow/split_modalities/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dataflow/split_modalities/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "sample_path" -# output: "$id.$key.output" -# output_compression: "gzip" -# output_types: "$id.$key.output_types.csv" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dataflow/split_modalities/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to a single .h5mu file. |`file`, required, default: `"sample_path"` | -|`--output` |Output directory containing multiple h5mu files. |`file`, required, example: `"/path/to/output"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--output_types` |A csv containing the base filename and modality type per output file. |`file`, required, example: `"types.csv"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor) - diff --git a/components/modules/demux/bcl2fastq.qmd b/components/modules/demux/bcl2fastq.qmd deleted file mode 100644 index b132bee0..00000000 --- a/components/modules/demux/bcl2fastq.qmd +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Bcl2fastq" -namespace: "Demux" -description: "Convert bcl files to fastq files using bcl2fastq" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bcl2fastq` -Namespace: `demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/demux/bcl2fastq/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/demux/bcl2fastq/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "bcl_dir" -sample_sheet: # please fill in - example: "SampleSheet.csv" -# output: "$id.$key.output" -# reports: "$id.$key.reports" -ignore_missing: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/demux/bcl2fastq/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input run directory |`file`, required, example: `"bcl_dir"` | -|`--sample_sheet` |Pointer to the sample sheet |`file`, required, example: `"SampleSheet.csv"` | -|`--output` |Output directory containig fastq files |`file`, required, example: `"fastq_dir"` | -|`--reports` |Reports directory |`file`, example: `"reports_dir"` | -|`--ignore_missing` | |`boolean_true` | - -## Authors - - - * Toni Verbeiren [{{< fa brands github >}}](https://github.com/tverbeiren) [{{< fa brands linkedin >}}](https://linkedin.com/in/verbeiren) (author, maintainer) - diff --git a/components/modules/demux/bcl_convert.qmd b/components/modules/demux/bcl_convert.qmd deleted file mode 100644 index b2e3c239..00000000 --- a/components/modules/demux/bcl_convert.qmd +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: "Bcl convert" -namespace: "Demux" -description: "Convert bcl files to fastq files using bcl-convert." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bcl_convert` -Namespace: `demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/demux/bcl_convert/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Information about upgrading from bcl2fastq via -https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html -and https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/demux/bcl_convert/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "bcl_dir" -sample_sheet: # please fill in - example: "bcl_dir" -# output: "$id.$key.output" -# reports: "$id.$key.reports" -test_mode: false -strict_mode: false -# tiles: "foo" -# exclude_tiles: "foo" -# no_lane_splitting: true - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/demux/bcl_convert/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input run directory |`file`, required, example: `"bcl_dir"` | -|`--sample_sheet` |Pointer to the sample sheet |`file`, required, example: `"bcl_dir"` | -|`--output` |Output directory containig fastq files |`file`, required, example: `"fastq_dir"` | -|`--reports` |Reports directory |`file`, example: `"reports_dir"` | -|`--test_mode` |Should bcl-convert be run in test mode (using --first-tile-only)? |`boolean`, default: `FALSE` | -|`--strict_mode` |Abort if any files are missing. |`boolean`, default: `FALSE` | -|`--tiles` |Process only a subset of tiles by a regular expression. |`string` | -|`--exclude_tiles` |Exclude set of tiles by a regular expression |`string` | -|`--no_lane_splitting` |Wheter to avoid splitting FASTQ file by lane. |`boolean` | - -## Authors - - - * Toni Verbeiren [{{< fa brands github >}}](https://github.com/tverbeiren) [{{< fa brands linkedin >}}](https://linkedin.com/in/verbeiren) (author, maintainer) - - * Marijke Van Moerbeke [{{< fa brands github >}}](https://github.com/mvanmoerbeke) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-3097-5621) [{{< fa brands linkedin >}}](https://linkedin.com/in/marijke-van-moerbeke-84303a34) (author) - - * Weiwei Schultz (contributor) - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author) - diff --git a/components/modules/demux/cellranger_atac_mkfastq.qmd b/components/modules/demux/cellranger_atac_mkfastq.qmd deleted file mode 100644 index e6c99fd5..00000000 --- a/components/modules/demux/cellranger_atac_mkfastq.qmd +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Cellranger atac mkfastq" -namespace: "Demux" -description: "Demultiplex raw sequencing data for ATAC experiments" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_atac_mkfastq` -Namespace: `demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/demux/cellranger_atac_mkfastq/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/demux/cellranger_atac_mkfastq/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "/path/to/bcl" -csv: # please fill in - example: "SampleSheet.csv" -# lanes: ["1,3"] -# use_bases_mask: ["y50n,I6n,Y50n"] -delete_undetermined: false -barcode_mismatches: 1 -# output: "fastqs" -# reports: "$id.$key.reports" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/demux/cellranger_atac_mkfastq/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path of Illumina BCL run folder. |`file`, required, example: `"/path/to/bcl"` | -|`--csv` |The path to the simple layout sample sheet. |`file`, required, example: `"SampleSheet.csv"` | -|`--lanes` |bcl2fastq option. Semicolon-delimited series of lanes to demultiplex. Use this if you have a sample sheet for an entire flow cell but only want to generate a few lanes for further 10x Genomics analysis. |List of `string`, example: `"1,3"`, multiple_sep: `","` | -|`--use_bases_mask` |bcl2fastq option. Use to clip extra bases off a read if you ran extra cycles for QC. |List of `string`, example: `"y50n,I6n,Y50n"`, multiple_sep: `","` | -|`--delete_undetermined` |bcl2fastq option. Delete the Undetermined FASTQs generated by bcl2fastq. Useful if you are demultiplexing a small number of samples from a large flow cell. |`boolean_true` | -|`--barcode_mismatches` |bcl2fastq option. Use this option to change the number of allowed mismatches per index adapter (0, 1, 2). |`integer`, default: `1` | -|`--output` |The folder to store the demux results |`file`, required, default: `"fastqs"`, example: `"/path/to/output"` | -|`--reports` |Reports directory |`file`, example: `"reports_dir"` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/demux/cellranger_mkfastq.qmd b/components/modules/demux/cellranger_mkfastq.qmd deleted file mode 100644 index b68f1f2d..00000000 --- a/components/modules/demux/cellranger_mkfastq.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Cellranger mkfastq" -namespace: "Demux" -description: "Demultiplex raw sequencing data" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_mkfastq` -Namespace: `demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/demux/cellranger_mkfastq/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/demux/cellranger_mkfastq/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "/path/to/bcl" -sample_sheet: # please fill in - example: "SampleSheet.csv" -# output: "fastqs" -# reports: "$id.$key.reports" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/demux/cellranger_mkfastq/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the (untarred) BCL files. Expects 'RunParameters.xml' at './'. |`file`, required, example: `"/path/to/bcl"` | -|`--sample_sheet` |The path to the sample sheet. |`file`, required, example: `"SampleSheet.csv"` | -|`--output` |The folder to store the demux results |`file`, required, default: `"fastqs"`, example: `"/path/to/output"` | -|`--reports` |Reports directory |`file`, example: `"reports_dir"` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Samuel D'Souza [{{< fa brands github >}}](https://github.com/srdsam) [{{< fa brands linkedin >}}](https://linkedin.com/in/samuel-d-souza-887023150/) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/dimred/densmap.qmd b/components/modules/dimred/densmap.qmd deleted file mode 100644 index 58e5ad60..00000000 --- a/components/modules/dimred/densmap.qmd +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: "Densmap" -namespace: "Dimred" -description: "A modification of UMAP that adds an extra cost term in order to preserve information about the relative local density of the data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `densmap` -Namespace: `dimred` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dimred/densmap/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -It is performed on the same inputs as UMAP - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dimred/densmap/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -uns_neighbors: "neighbors" -obsm_pca: # please fill in - example: "foo" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_output: "X_densmap" - -# Arguments UMAP -min_dist: 0.5 -spread: 1.0 -num_components: 2 -max_iter: 0 -alpha: 1.0 -gamma: 1.0 -negative_sample_rate: 5 -init_pos: "spectral" - -# Arguments densMAP -lambda: 2.0 -fraction: 0.3 -var_shift: 0.1 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dimred/densmap/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--uns_neighbors` |The `.uns` neighbors slot as output by the `find_neighbors` component. |`string`, default: `"neighbors"` | -|`--obsm_pca` |The slot in `.obsm` where the PCA results are stored. |`string`, required | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |The .obsm key to use for storing the densMAP results.. |`string`, default: `"X_densmap"` | - - -### Arguments UMAP - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_dist` |The effective minimum distance between embedded points. Smaller values will result in a more clustered/clumped embedding where nearby points on the manifold are drawn closer together, while larger values will result on a more even dispersal of points. The value should be set relative to the spread value, which determines the scale at which embedded points will be spread out. |`double`, default: `0.5` | -|`--spread` |The effective scale of embedded points. In combination with `min_dist` this determines how clustered/clumped the embedded points are. |`double`, default: `1` | -|`--num_components` |The number of dimensions of the embedding. |`integer`, default: `2` | -|`--max_iter` |The number of iterations (epochs) of the optimization. Called `n_epochs` in the original UMAP. Default is set to 500 if neighbors['connectivities'].shape[0] <= 10000, else 200. |`integer`, default: `0` | -|`--alpha` |The initial learning rate for the embedding optimization. |`double`, default: `1` | -|`--gamma` |Weighting applied to negative samples in low dimensional embedding optimization. Values higher than one will result in greater weight being given to negative samples. |`double`, default: `1` | -|`--negative_sample_rate` |The number of negative samples to select per positive sample in the optimization process. Increasing this value will result in greater repulsive force being applied, greater optimization cost, but slightly more accuracy. |`integer`, default: `5` | -|`--init_pos` |How to initialize the low dimensional embedding. Called `init` in the original UMAP. Options are: * Any key from `.obsm` * `'paga'`: positions from `paga()` * `'spectral'`: use a spectral embedding of the graph * `'random'`: assign initial embedding positions at random. |`string`, default: `"spectral"` | - - -### Arguments densMAP - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--lambda` |Controls the regularization weight of the density correlation term in densMAP. Higher values prioritize density preservation over the UMAP objective, and vice versa for values closer to zero. Setting this parameter to zero is equivalent to running the original UMAP algorithm. |`double`, default: `2` | -|`--fraction` |Controls the fraction of epochs (between 0 and 1) where the density-augmented objective is used in densMAP. The first (1 - dens_frac) fraction of epochs optimize the original UMAP objective before introducing the density correlation term. |`double`, default: `0.3` | -|`--var_shift` |A small constant added to the variance of local radii in the embedding when calculating the density correlation objective to prevent numerical instability from dividing by a small number. |`double`, default: `0.1` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (maintainer) - diff --git a/components/modules/dimred/lsi.qmd b/components/modules/dimred/lsi.qmd deleted file mode 100644 index 6696099f..00000000 --- a/components/modules/dimred/lsi.qmd +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: "Lsi" -namespace: "Dimred" -description: "Runs Latent Semantic Indexing." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `lsi` -Namespace: `dimred` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dimred/lsi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Computes cell embeddings, feature loadings and singular values. Uses the implementation of scipy - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dimred/lsi/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "atac" -# layer: "foo" -# var_input: "foo" - -# LSI options -num_components: 50 -scale_embeddings: true - -# Outputs -# output: "$id.$key.output.h5mu" -output_compression: "gzip" -obsm_output: "X_lsi" -varm_output: "lsi" -uns_output: "lsi" -overwrite: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dimred/lsi/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` |On which modality to run LSI on. |`string`, default: `"atac"` | -|`--layer` |Use specified layer for expression values. If not specified, uses adata.X. |`string` | -|`--var_input` |Column name in .var matrix that will be used to select which genes to run the LSI on. If not specified, uses all features. |`string` | - - -### LSI options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--num_components` |Number of components to compute. |`integer`, default: `50` | -|`--scale_embeddings` |Scale embeddings to zero mean and unit variance. |`boolean`, default: `TRUE` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, default: `"gzip"` | -|`--obsm_output` |In which .obsm slot to store the resulting embedding. |`string`, default: `"X_lsi"` | -|`--varm_output` |In which .varm slot to store the resulting loadings matrix. |`string`, default: `"lsi"` | -|`--uns_output` |In which .uns slot to store the stdev. |`string`, default: `"lsi"` | -|`--overwrite` |Allow overwriting .obsm, .varm and .uns slots. |`boolean_true` | - -## Authors - - - * Sarah Ouologuem [{{< fa brands github >}}](https://github.com/SarahOuologuem) [{{< fa brands orcid >}}](https://orcid.org/0009-0005-3398-1700) (contributor) - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (contributor) - diff --git a/components/modules/dimred/pca.qmd b/components/modules/dimred/pca.qmd deleted file mode 100644 index 01e74d2d..00000000 --- a/components/modules/dimred/pca.qmd +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Pca" -namespace: "Dimred" -description: "Computes PCA coordinates, loadings and variance decomposition." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `pca` -Namespace: `dimred` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dimred/pca/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Uses the implementation of scikit-learn [Pedregosa11] - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dimred/pca/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "foo" -# var_input: "filter_with_hvg" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_output: "X_pca" -varm_output: "pca_loadings" -uns_output: "pca_variance" -# num_components: 25 -overwrite: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dimred/pca/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` |Use specified layer for expression values instead of the .X object from the modality. |`string` | -|`--var_input` |Column name in .var matrix that will be used to select which genes to run the PCA on. |`string`, example: `"filter_with_hvg"` | -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |In which .obsm slot to store the resulting embedding. |`string`, default: `"X_pca"` | -|`--varm_output` |In which .varm slot to store the resulting loadings matrix. |`string`, default: `"pca_loadings"` | -|`--uns_output` |In which .uns slot to store the resulting variance objects. |`string`, default: `"pca_variance"` | -|`--num_components` |Number of principal components to compute. Defaults to 50, or 1 - minimum dimension size of selected representation. |`integer`, example: `25` | -|`--overwrite` |Allow overwriting .obsm, .varm and .uns slots. |`boolean_true` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - diff --git a/components/modules/dimred/tsne.qmd b/components/modules/dimred/tsne.qmd deleted file mode 100644 index e3466c71..00000000 --- a/components/modules/dimred/tsne.qmd +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "Tsne" -namespace: "Dimred" -description: "t-SNE (t-Distributed Stochastic Neighbor Embedding) is a dimensionality reduction technique used to visualize high-dimensional data in a low-dimensional space, revealing patterns and clusters by preserving local data similarities" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `tsne` -Namespace: `dimred` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dimred/tsne/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dimred/tsne/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: # please fill in - example: "rna" -use_rep: # please fill in - example: "X_pca" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_output: "X_tsne" - -# Arguments -n_pcs: 50 -perplexity: 30.0 -min_dist: 0.5 -metric: "euclidean" -early_exaggeration: 12.0 -learning_rate: 1000.0 -random_state: 0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dimred/tsne/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, required, default: `"rna"` | -|`--use_rep` |The `.obsm` slot to use as input for the tSNE computation. |`string`, required, example: `"X_pca"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |The .obsm key to use for storing the tSNE results. |`string`, default: `"X_tsne"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_pcs` |The number of principal components to use for the tSNE computation. |`integer`, default: `50` | -|`--perplexity` |The perplexity is related to the number of nearest neighbors that is used in other manifold learning algorithms. Larger datasets usually require a larger perplexity. Consider selecting a value between 5 and 50. Different values can result in significantly different results. |`double`, default: `30` | -|`--min_dist` |The effective minimum distance between embedded points. Smaller values will result in a more clustered/clumped embedding where nearby points on the manifold are drawn closer together, while larger values will result on a more even dispersal of points. The value should be set relative to the spread value, which determines the scale at which embedded points will be spread out. |`double`, default: `0.5` | -|`--metric` |Distance metric to calculate neighbors on. |`string`, default: `"euclidean"` | -|`--early_exaggeration` |Controls how tight natural clusters in the original space are in the embedded space and how much space will be between them. For larger values, the space between natural clusters will be larger in the embedded space. Again, the choice of this parameter is not very critical. If the cost function increases during initial optimization, the early exaggeration factor or the learning rate might be too high. |`double`, default: `12` | -|`--learning_rate` |The learning rate for t-SNE optimization. Typical values range between 10.0 and 1000.0. |`double`, default: `1000` | -|`--random_state` |The random seed to use for the tSNE computation. |`integer`, default: `0` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (maintainer) - diff --git a/components/modules/dimred/umap.qmd b/components/modules/dimred/umap.qmd deleted file mode 100644 index 75144352..00000000 --- a/components/modules/dimred/umap.qmd +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: "Umap" -namespace: "Dimred" -description: "UMAP (Uniform Manifold Approximation and Projection) is a manifold learning technique suitable for visualizing high-dimensional data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `umap` -Namespace: `dimred` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/dimred/umap/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Besides tending to be faster than tSNE, it optimizes the embedding such that it best reflects the topology of the data, which we represent throughout Scanpy using a neighborhood graph. tSNE, by contrast, optimizes the distribution of nearest-neighbor distances in the embedding such that these best match the distribution of distances in the high-dimensional space. We use the implementation of umap-learn [McInnes18]. For a few comparisons of UMAP with tSNE, see this preprint - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/dimred/umap/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -uns_neighbors: "neighbors" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_output: "umap" - -# Arguments -min_dist: 0.5 -spread: 1.0 -num_components: 2 -# max_iter: 123 -alpha: 1.0 -gamma: 1.0 -negative_sample_rate: 5 -init_pos: "spectral" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/dimred/umap/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--uns_neighbors` |The `.uns` neighbors slot as output by the `find_neighbors` component. |`string`, default: `"neighbors"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |The pre/postfix under which to store the UMAP results. |`string`, default: `"umap"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_dist` |The effective minimum distance between embedded points. Smaller values will result in a more clustered/clumped embedding where nearby points on the manifold are drawn closer together, while larger values will result on a more even dispersal of points. The value should be set relative to the spread value, which determines the scale at which embedded points will be spread out. |`double`, default: `0.5` | -|`--spread` |The effective scale of embedded points. In combination with `min_dist` this determines how clustered/clumped the embedded points are. |`double`, default: `1` | -|`--num_components` |The number of dimensions of the embedding. |`integer`, default: `2` | -|`--max_iter` |The number of iterations (epochs) of the optimization. Called `n_epochs` in the original UMAP. Default is set to 500 if neighbors['connectivities'].shape[0] <= 10000, else 200. |`integer` | -|`--alpha` |The initial learning rate for the embedding optimization. |`double`, default: `1` | -|`--gamma` |Weighting applied to negative samples in low dimensional embedding optimization. Values higher than one will result in greater weight being given to negative samples. |`double`, default: `1` | -|`--negative_sample_rate` |The number of negative edge/1-simplex samples to use per positive edge/1-simplex sample in optimizing the low dimensional embedding. |`integer`, default: `5` | -|`--init_pos` |How to initialize the low dimensional embedding. Called `init` in the original UMAP. Options are: * Any key from `.obsm` * `'paga'`: positions from `paga()` * `'spectral'`: use a spectral embedding of the graph * `'random'`: assign initial embedding positions at random. |`string`, default: `"spectral"` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - diff --git a/components/modules/download/download_file.qmd b/components/modules/download/download_file.qmd deleted file mode 100644 index 37cffea9..00000000 --- a/components/modules/download/download_file.qmd +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Download file" -namespace: "Download" -description: "Download a file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `download_file` -Namespace: `download` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/download/download_file/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/download/download_file/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "https://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_1k_protein_v3/pbmc_1k_protein_v3_raw_feature_bc_matrix.h5" -# output: "$id.$key.output.h5" -verbose: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/download/download_file/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |URL to a file to download. |`string`, required, example: `"https://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_1k_protein_v3/pbmc_1k_protein_v3_raw_feature_bc_matrix.h5"` | -|`--output` |Path where to store output. |`file`, required, example: `"pbmc_1k_protein_v3_raw_feature_bc_matrix.h5"` | -|`--verbose` |Increase verbosity |`boolean_true` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/download/sync_test_resources.qmd b/components/modules/download/sync_test_resources.qmd deleted file mode 100644 index 8e1cebc5..00000000 --- a/components/modules/download/sync_test_resources.qmd +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Sync test resources" -namespace: "Download" -description: "Sync test resources to the local filesystem" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `sync_test_resources` -Namespace: `download` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/download/sync_test_resources/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/download/sync_test_resources/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: "_viash.yaml" - -# Outputs -# output: "." - -# Arguments -quiet: false -dryrun: false -delete: false -# exclude: ["foo"] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/download/sync_test_resources/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the _viash.yaml project configuration file. |`file`, default: `"_viash.yaml"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Path to the directory where the resources will be synced to. |`file`, default: `"."` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--quiet` |Displays the operations that would be performed using the specified command without actually running them. |`boolean_true` | -|`--dryrun` |Does not display the operations performed from the specified command. |`boolean_true` | -|`--delete` |Files that exist in the destination but not in the source are deleted during sync. |`boolean_true` | -|`--exclude` |Exclude all files or objects from the command that matches the specified pattern. |List of `string`, multiple_sep: `";"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/feature_annotation/align_query_reference.qmd b/components/modules/feature_annotation/align_query_reference.qmd deleted file mode 100644 index 12a90118..00000000 --- a/components/modules/feature_annotation/align_query_reference.qmd +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: "Align query reference" -namespace: "Feature annotation" -description: "Alignment of a query and reference dataset by: * Alignment of layers * Harmonization of .obs field names for batch and cell type labels * Harmonization of .var field name for gene names * Sanitation of gene names * Cross-checking of genes * Assignment of an id to the query and reference datasets" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `align_query_reference` -Namespace: `feature_annotation` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/feature_annotation/align_query_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/feature_annotation/align_query_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_layer_lognormalized: "foo" -# input_var_gene_names: "foo" -input_obs_batch: # please fill in - example: "sample_id" -# input_obs_label: "cell_type" -input_id: "query" - -# Reference -# reference: "reference.h5mu" -# reference_layer: "foo" -# reference_layer_lognormalized: "foo" -# reference_var_gene_names: "foo" -reference_obs_batch: # please fill in - example: "sample_id" -# reference_obs_label: "cell_type" -reference_id: "reference" - -# Outputs -# output_query: "$id.$key.output_query.h5mu" -# output_reference: "$id.$key.output_reference.h5mu" -# output_compression: "gzip" -output_layer: "_counts" -output_layer_lognormalized: "_log_normalized" -output_var_gene_names: "_gene_names" -output_obs_batch: "_sample_id" -output_obs_label: "_cell_type" -output_obs_id: "_dataset" -output_var_index: "_ori_var_index" -output_var_common_genes: "_common_vars" - -# Arguments -input_reference_gene_overlap: 100 -align_layers_raw_counts: true -align_layers_lognormalized_counts: false -unkown_celltype_label: "Unknown" -overwrite_existing_key: false -preserve_var_index: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/feature_annotation/align_query_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Input dataset (query) arguments - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. Note that the query and reference modalities should be the same. |`string`, default: `"rna"` | -|`--input_layer` |The layer in the input (query) data containing raw counts if .X is not to be used. |`string` | -|`--input_layer_lognormalized` |The layer in the input (query) data containing log normalized counts if .X is not to be used. |`string` | -|`--input_var_gene_names` |The name of the .var column in the input (query) data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--input_obs_batch` |The name of the .obs column in the input (query) data containing batch information. |`string`, required, example: `"sample_id"` | -|`--input_obs_label` |The name of the .obs column in the input (query) data containing cell type labels. If not provided, the --unkown_celltype_label will be assigned to all observations. |`string`, example: `"cell_type"` | -|`--input_id` |Meta id value to be assigned to the --output_obs_id .obs field of the aligned input (query) data. |`string`, default: `"query"` | - - -### Reference - -Arguments related to the reference dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | -|`--reference_layer` |The layer in the reference data containing raw counts if .X is not to be used. Data are expected to be processed in the same way as the --input query dataset. |`string` | -|`--reference_layer_lognormalized` |The layer in the reference data containing log normalized counts if .X is not to be used. Data are expected to be processed in the same way as the --input query dataset. |`string` | -|`--reference_var_gene_names` |The name of the .var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--reference_obs_batch` |The name of the .obs column in the reference data containing batch information. |`string`, required, example: `"sample_id"` | -|`--reference_obs_label` |The name of the .obs column in the reference data containing cell type labels. If not provided, the --unkown_celltype_label will be assigned to all observations. |`string`, example: `"cell_type"` | -|`--reference_id` |Meta id value to be assigned to the --output_obs_id .obs field of the aligned reference data. |`string`, default: `"reference"` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output_query` |Aligned query data. |`file`, example: `"output_query.h5mu"` | -|`--output_reference` |Aligned reference data. |`file`, example: `"output_reference.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_layer` |Name of the aligned layer containing raw counts in the output query and reference datasets. |`string`, default: `"_counts"` | -|`--output_layer_lognormalized` |Name of the aligned layer containing log normalized counts in the output query and reference datasets. |`string`, default: `"_log_normalized"` | -|`--output_var_gene_names` |Name of the .var column in the output query and reference datasets containing the gene names. |`string`, default: `"_gene_names"` | -|`--output_obs_batch` |Name of the .obs column in the output query and reference datasets containing the batch information. |`string`, default: `"_sample_id"` | -|`--output_obs_label` |Name of the .obs column in the output query and reference datasets containing the cell type labels. |`string`, default: `"_cell_type"` | -|`--output_obs_id` |Name of the .obs column in the output query and reference datasets containing the dataset id. |`string`, default: `"_dataset"` | -|`--output_var_index` |Name of the .var column to which the .var index of the --input and --reference datasets is stored. Only relevant if "--preserve_var_index" is False. |`string`, default: `"_ori_var_index"` | -|`--output_var_common_genes` |Name of the .var column in the output query and reference datasets containing the boolean array indicating the common variables. |`string`, default: `"_common_vars"` | - - -### Arguments - -Arguments related to the alignment of the input and reference datasets. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | -|`--align_layers_raw_counts` |Whether to align the query and reference layers containing raw counts. |`boolean`, default: `TRUE` | -|`--align_layers_lognormalized_counts` |Whether to align the query and reference layers containing log normalized counts. |`boolean_true` | -|`--unkown_celltype_label` |The label to assign to cells with an unknown cell type. |`string`, default: `"Unknown"` | -|`--overwrite_existing_key` |If set to true and the layer, obs or var key already exists in the query/reference file, the key will be overwritten. |`boolean_true` | -|`--preserve_var_index` |If set to true, the .var index of the --input and --reference datasets will be preserved. If set to false (default behavior), the original .var index will be stored in the --output_var_index .var column and the .var index will be replaced with the sanitized & aligned gene names. |`boolean_true` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer) - diff --git a/components/modules/feature_annotation/highly_variable_features_scanpy.qmd b/components/modules/feature_annotation/highly_variable_features_scanpy.qmd deleted file mode 100644 index 784d5fc6..00000000 --- a/components/modules/feature_annotation/highly_variable_features_scanpy.qmd +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: "Highly variable features scanpy" -namespace: "Feature annotation" -description: "Annotate highly variable features [Satija15] [Zheng17] [Stuart19]." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `highly_variable_features_scanpy` -Namespace: `feature_annotation` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/feature_annotation/highly_variable_features_scanpy/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Expects logarithmized data, except when flavor='seurat_v3' in which count data is expected. - -Depending on flavor, this reproduces the R-implementations of Seurat [Satija15], Cell Ranger [Zheng17], and Seurat v3 [Stuart19]. - -For the dispersion-based methods ([Satija15] and [Zheng17]), the normalized dispersion is obtained by scaling with the mean and standard deviation of the dispersions for features falling into a given bin for mean expression of features. This means that for each bin of mean expression, highly variable features are selected. - -For [Stuart19], a normalized variance for each feature is computed. First, the data are standardized (i.e., z-score normalization per feature) with a regularized standard deviation. Next, the normalized variance is computed as the variance of each feature after the transformation. Features are ranked by the normalized variance. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/feature_annotation/highly_variable_features_scanpy/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "foo" -# var_input: "foo" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -var_name_filter: "filter_with_hvg" -varm_name: "hvg" -flavor: "seurat" -# n_top_features: 123 -min_mean: 0.0125 -max_mean: 3.0 -min_disp: 0.5 -# max_disp: 123.0 -span: 0.3 -n_bins: 20 -# obs_batch_key: "foo" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/feature_annotation/highly_variable_features_scanpy/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` |use adata.layers[layer] for expression values instead of adata.X. |`string` | -|`--var_input` |If specified, use boolean array in adata.var[var_input] to calculate hvg on subset of vars. |`string` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--var_name_filter` |In which .var slot to store a boolean array corresponding to which observations should be filtered out. |`string`, default: `"filter_with_hvg"` | -|`--varm_name` |In which .varm slot to store additional metadata. |`string`, default: `"hvg"` | -|`--flavor` |Choose the flavor for identifying highly variable features. For the dispersion based methods in their default workflows, Seurat passes the cutoffs whereas Cell Ranger passes n_top_features. |`string`, default: `"seurat"` | -|`--n_top_features` |Number of highly-variable features to keep. Mandatory if flavor='seurat_v3'. |`integer` | -|`--min_mean` |If n_top_features is defined, this and all other cutoffs for the means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'. |`double`, default: `0.0125` | -|`--max_mean` |If n_top_features is defined, this and all other cutoffs for the means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'. |`double`, default: `3` | -|`--min_disp` |If n_top_features is defined, this and all other cutoffs for the means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'. |`double`, default: `0.5` | -|`--max_disp` |If n_top_features is defined, this and all other cutoffs for the means and the normalized dispersions are ignored. Ignored if flavor='seurat_v3'. Default is +inf. |`double` | -|`--span` |The fraction of the data (cells) used when estimating the variance in the loess model fit if flavor='seurat_v3'. |`double`, default: `0.3` | -|`--n_bins` |Number of bins for binning the mean feature expression. Normalization is done with respect to each bin. If just a single feature falls into a bin, the normalized dispersion is artificially set to 1. |`integer`, default: `20` | -|`--obs_batch_key` |If specified, highly-variable features are selected within each batch separately and merged. This simple process avoids the selection of batch-specific features and acts as a lightweight batch correction method. For all flavors, features are first sorted by how many batches they are a HVG. For dispersion-based flavors ties are broken by normalized dispersion. If flavor = 'seurat_v3', ties are broken by the median (across batches) rank based on within-batch normalized variance. |`string` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (contributor) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, contributor) - diff --git a/components/modules/feature_annotation/score_genes_cell_cycle_scanpy.qmd b/components/modules/feature_annotation/score_genes_cell_cycle_scanpy.qmd deleted file mode 100644 index f6f707e1..00000000 --- a/components/modules/feature_annotation/score_genes_cell_cycle_scanpy.qmd +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: "Score genes cell cycle scanpy" -namespace: "Feature annotation" -description: "Calculates the score associated to S phase and G2M phase and annotates the cell cycle phase for each cell, as implemented by scanpy." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `score_genes_cell_cycle_scanpy` -Namespace: `feature_annotation` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/feature_annotation/score_genes_cell_cycle_scanpy/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - -The score is the average expression of a set of genes subtracted with the average expression of a reference set of genes - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/feature_annotation/score_genes_cell_cycle_scanpy/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input_file.h5mu" -modality: "rna" -# input_layer: "log_normalized" -# var_gene_names: "gene_names" - -# Gene list inputs -# s_genes: ["gene1", "gene2", "gene3"] -# s_genes_file: "s_gene_list.txt" -# g2m_genes: ["gene1", "gene2", "gene3"] -# g2m_genes_file: "g2m_gene_list.txt" -# gene_pool: ["gene1", "gene2", "gene3"] -# gene_pool_file: "gene_pool.txt" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obs_phase: "phase" -obs_s_score: "S_score" -obs_g2m_score: "G2M_score" - -# Arguments -n_bins: 25 -random_state: 0 -allow_missing_genes: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/feature_annotation/score_genes_cell_cycle_scanpy/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input_file.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |The layer of the adata object containing normalized expression values. If not provided, the X attribute of the adata object will be used. |`string`, example: `"log_normalized"` | -|`--var_gene_names` |The name of the column in the var attribute of the adata object that contains the gene names (symbols). If not provided, the index of the var attribute will be used. |`string`, example: `"gene_names"` | - - -### Gene list inputs - -The gene list inputs can be provided as a list of gene symbols or as a file containing a list of gene symbols. The gene list file should be formatted as a single column with gene symbols. - -Make sure that the gene list inputs are consistent with the gene names in the adata object as provided by the --var_gene_names argument. - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--s_genes` |List of gene symbols for scoring s phase genes. |List of `string`, example: `"gene1", "gene2", "gene3"`, multiple_sep: `";"` | -|`--s_genes_file` |Path to a .txt file containing the gene list of s phase genes to be scored. The gene list file should be formatted as a single column with gene symbols. |`file`, example: `"s_gene_list.txt"` | -|`--g2m_genes` |List of gene symbols for scoring g2m phase genes. |List of `string`, example: `"gene1", "gene2", "gene3"`, multiple_sep: `";"` | -|`--g2m_genes_file` |Path to a .txt file containing the gene list of g2m phase genes to be scored. The gene list file should be formatted as a single column with gene symbols. |`file`, example: `"g2m_gene_list.txt"` | -|`--gene_pool` |List of gene symbols for sampling the reference set. Default is all genes. |List of `string`, example: `"gene1", "gene2", "gene3"`, multiple_sep: `";"` | -|`--gene_pool_file` |File with genes for sampling the reference set. Default is all genes. The gene pool file should be formatted as a single column with gene symbols. |`file`, example: `"gene_pool.txt"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file |`file`, required, example: `"output_file.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obs_phase` |The name of the column in the obs attribute of the adata object that will store the cell cycle phase annotation. |`string`, default: `"phase"` | -|`--obs_s_score` |The name of the column in the obs attribute of the adata object that will store the s phase score. |`string`, default: `"S_score"` | -|`--obs_g2m_score` |The name of the column in the obs attribute of the adata object that will store the g2m phase score. |`string`, default: `"G2M_score"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_bins` |Number of expression level bins for sampling. |`integer`, default: `25` | -|`--random_state` |The random seed for sampling. |`integer`, default: `0` | -|`--allow_missing_genes` |If true, missing genes in the gene list will be ignored. |`boolean`, default: `FALSE` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author) - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/files/make_params.qmd b/components/modules/files/make_params.qmd deleted file mode 100644 index 5af2b521..00000000 --- a/components/modules/files/make_params.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Make params" -namespace: "Files" -description: "Looks for files in a directory and turn it in a params file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `make_params` -Namespace: `files` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/files/make_params/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/files/make_params/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -base_dir: # please fill in - example: "/path/to/dir" -pattern: # please fill in - example: "*.fastq.gz" -n_dirname_drop: 0 -n_basename_id: 0 -id_name: "id" -path_name: "path" -# group_name: "param_list" -# output: "$id.$key.output.yaml" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/files/make_params/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--base_dir` |Base directory to search recursively |`file`, required, example: `"/path/to/dir"` | -|`--pattern` |An optional regular expression. Only file names which match the regular expression will be matched. |`string`, required, example: `"*.fastq.gz"` | -|`--n_dirname_drop` |For every matched file, the parent directory will be traversed N times. |`integer`, default: `0` | -|`--n_basename_id` |The unique identifiers will consist of at least N dirnames. |`integer`, default: `0` | -|`--id_name` |The name for storing the identifier field in the yaml. |`string`, default: `"id"` | -|`--path_name` |The name for storing the path field in the yaml. |`string`, default: `"path"` | -|`--group_name` |Top level name for the group of entries. |`string`, example: `"param_list"` | -|`--output` |Output YAML file. |`file`, required, example: `"params.yaml"` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, author) - diff --git a/components/modules/filter/delimit_fraction.qmd b/components/modules/filter/delimit_fraction.qmd deleted file mode 100644 index 1dd05ed7..00000000 --- a/components/modules/filter/delimit_fraction.qmd +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Delimit fraction" -namespace: "Filter" -description: "Turns a column containing values between 0 and 1 into a boolean column based on thresholds" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `delimit_fraction` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/delimit_fraction/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/delimit_fraction/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "raw_counts" -obs_fraction_column: # please fill in - example: "fraction_mitochondrial" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obs_name_filter: # please fill in - example: "foo" - -# Arguments -min_fraction: 0.0 -max_fraction: 1.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/delimit_fraction/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` | |`string`, example: `"raw_counts"` | -|`--obs_fraction_column` |Name of column from .var dataframe selecting a column that contains floating point values between 0 and 1. |`string`, required, example: `"fraction_mitochondrial"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obs_name_filter` |In which .obs slot to store a boolean array corresponding to which observations should be removed. |`string`, required | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_fraction` |Min fraction for an observation to be retained (True in output). |`double`, default: `0` | -|`--max_fraction` |Max fraction for an observation to be retained (True in output). |`double`, default: `1` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author, maintainer) - diff --git a/components/modules/filter/do_filter.qmd b/components/modules/filter/do_filter.qmd deleted file mode 100644 index 5bbef5a4..00000000 --- a/components/modules/filter/do_filter.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Do filter" -namespace: "Filter" -description: "Remove observations and variables based on specified .obs and .var columns" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `do_filter` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/do_filter/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/do_filter/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# obs_filter: ["filter_with_x"] -# var_filter: ["filter_with_x"] -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/do_filter/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obs_filter` |Which .obs columns to use to filter the observations by. |List of `string`, example: `"filter_with_x"`, multiple_sep: `";"` | -|`--var_filter` |Which .var columns to use to filter the observations by. |List of `string`, example: `"filter_with_x"`, multiple_sep: `";"` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, contributor) - diff --git a/components/modules/filter/filter_with_counts.qmd b/components/modules/filter/filter_with_counts.qmd deleted file mode 100644 index e718db0d..00000000 --- a/components/modules/filter/filter_with_counts.qmd +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "Filter with counts" -namespace: "Filter" -description: "Filter scRNA-seq data based on the primary QC metrics." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `filter_with_counts` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/filter_with_counts/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - -This is based on both the UMI counts, the gene counts -and the mitochondrial genes (genes starting with mt/MT) - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/filter_with_counts/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "raw_counts" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -do_subset: false -obs_name_filter: "filter_with_counts" -var_name_filter: "filter_with_counts" - -# Arguments -# min_counts: 200 -# max_counts: 5000000 -# min_genes_per_cell: 200 -# max_genes_per_cell: 1500000 -# min_cells_per_gene: 3 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/filter_with_counts/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` | |`string`, example: `"raw_counts"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--do_subset` |Whether to subset before storing the output. |`boolean_true` | -|`--obs_name_filter` |In which .obs slot to store a boolean array corresponding to which observations should be removed. |`string`, default: `"filter_with_counts"` | -|`--var_name_filter` |In which .var slot to store a boolean array corresponding to which variables should be removed. |`string`, default: `"filter_with_counts"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_counts` |Minimum number of counts captured per cell. |`integer`, example: `200` | -|`--max_counts` |Maximum number of counts captured per cell. |`integer`, example: `5000000` | -|`--min_genes_per_cell` |Minimum of non-zero values per cell. |`integer`, example: `200` | -|`--max_genes_per_cell` |Maximum of non-zero values per cell. |`integer`, example: `1500000` | -|`--min_cells_per_gene` |Minimum of non-zero values per gene. |`integer`, example: `3` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, author) - diff --git a/components/modules/filter/filter_with_scrublet.qmd b/components/modules/filter/filter_with_scrublet.qmd deleted file mode 100644 index 84c2fdaf..00000000 --- a/components/modules/filter/filter_with_scrublet.qmd +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: "Filter with scrublet" -namespace: "Filter" -description: "Doublet detection using the Scrublet method (Wolock, Lopez and Klein, 2019)." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `filter_with_scrublet` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/filter_with_scrublet/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The method tests for potential doublets by using the expression profiles of -cells to generate synthetic potential doubles which are tested against cells. -The method returns a "doublet score" on which it calls for potential doublets. - -For the source code please visit https://github.com/AllonKleinLab/scrublet. - -For 10x we expect the doublet rates to be: - Multiplet Rate (%) - # of Cells Loaded - # of Cells Recovered - ~0.4% ~800 ~500 - ~0.8% ~1,600 ~1,000 - ~1.6% ~3,200 ~2,000 - ~2.3% ~4,800 ~3,000 - ~3.1% ~6,400 ~4,000 - ~3.9% ~8,000 ~5,000 - ~4.6% ~9,600 ~6,000 - ~5.4% ~11,200 ~7,000 - ~6.1% ~12,800 ~8,000 - ~6.9% ~14,400 ~9,000 - ~7.6% ~16,000 ~10,000 - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/filter_with_scrublet/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "foo" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obs_name_filter: "filter_with_scrublet" -do_subset: false -obs_name_doublet_score: "scrublet_doublet_score" -# expected_doublet_rate: 123.0 -# stdev_doublet_rate: 123.0 -# n_neighbors: 123 -# sim_doublet_ratio: 123.0 -min_counts: 2 -min_cells: 3 -min_gene_variablity_percent: 85.0 -num_pca_components: 30 -distance_metric: "euclidean" -allow_automatic_threshold_detection_fail: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/filter_with_scrublet/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` |Input layer to use as data for calculating doublets. .X is used not specified. |`string` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obs_name_filter` |In which .obs slot to store a boolean array corresponding to which observations should be filtered out. |`string`, default: `"filter_with_scrublet"` | -|`--do_subset` |Whether to subset before storing the output. |`boolean_true` | -|`--obs_name_doublet_score` |Name of the doublet scores column in the obs slot of the returned object. |`string`, default: `"scrublet_doublet_score"` | -|`--expected_doublet_rate` |The estimated fraction of doublets as from the experimental setup. |`double` | -|`--stdev_doublet_rate` |Uncertainty in the expected doublet rate. |`double` | -|`--n_neighbors` |Number of neighbors used to construct the KNN classifier of observed transcriptomes and simulated doublets. |`integer` | -|`--sim_doublet_ratio` |Number of doublets to simulate relative to the number of observed transcriptomes. |`double` | -|`--min_counts` |The number of minimal UMI counts per cell that have to be present for initial cell detection. |`integer`, default: `2` | -|`--min_cells` |The number of cells in which UMIs for a gene were detected. |`integer`, default: `3` | -|`--min_gene_variablity_percent` |Used for gene filtering prior to PCA. Keep the most highly variable genes (in the top min_gene_variability_pctl percentile), as measured by the v-statistic [Klein et al., Cell 2015]. |`double`, default: `85` | -|`--num_pca_components` |Number of principal components to use during PCA dimensionality reduction. |`integer`, default: `30` | -|`--distance_metric` |The distance metric used for computing similarities. |`string`, default: `"euclidean"` | -|`--allow_automatic_threshold_detection_fail` |When scrublet fails to automatically determine the double score threshold, allow the component to continue and set the output columns to NA. |`boolean_true` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (contributor) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, contributor) - diff --git a/components/modules/filter/intersect_obs.qmd b/components/modules/filter/intersect_obs.qmd deleted file mode 100644 index 719fe79e..00000000 --- a/components/modules/filter/intersect_obs.qmd +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: "Intersect obs" -namespace: "Filter" -description: "Create an intersection between two or more modalities." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `intersect_obs` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/intersect_obs/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -This component removes any observations which are not present in all modalities. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/intersect_obs/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modalities: # please fill in - example: ["rna", "prot"] -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/intersect_obs/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modalities` | |List of `string`, required, example: `"rna", "prot"`, multiple_sep: `";"` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - - * Isabelle Bergiers [{{< fa brands github >}}](https://github.com/Isabelle-b) [{{< fa brands orcid >}}](https://orcid.org/0000-0001-9622-7960) (contributor) - diff --git a/components/modules/filter/remove_modality.qmd b/components/modules/filter/remove_modality.qmd deleted file mode 100644 index 0ab78cb9..00000000 --- a/components/modules/filter/remove_modality.qmd +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Remove modality" -namespace: "Filter" -description: "Remove a modality from a .h5mu file" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `remove_modality` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/remove_modality/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/remove_modality/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: # please fill in - example: ["foo"] -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/remove_modality/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |List of `string`, required, multiple_sep: `";"` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/filter/subset_h5mu.qmd b/components/modules/filter/subset_h5mu.qmd deleted file mode 100644 index 3e47e450..00000000 --- a/components/modules/filter/subset_h5mu.qmd +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Subset h5mu" -namespace: "Filter" -description: "Create a subset of a mudata file by selecting the first number of observations" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `subset_h5mu` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/subset_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/subset_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -# number_of_observations: 5 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/subset_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--number_of_observations` |Number of observations to be selected from the h5mu file. |`integer`, example: `5` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/filter/subset_obsp.qmd b/components/modules/filter/subset_obsp.qmd deleted file mode 100644 index 2f1cbb6a..00000000 --- a/components/modules/filter/subset_obsp.qmd +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Subset obsp" -namespace: "Filter" -description: "Create a subset of an .obsp field in a mudata file, by filtering the columns based on the values of an .obs column." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `subset_obsp` -Namespace: `filter` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/filter/subset_obsp/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The resulting subset is moved to an .obsm slot - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/filter/subset_obsp/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -input: # please fill in - example: "input.h5mu" -modality: "rna" -input_obsp_key: # please fill in - example: "foo" -input_obs_key: # please fill in - example: "foo" -input_obs_value: # please fill in - example: "foo" - -# Output -# output: "$id.$key.output.h5mu" -output_obsm_key: # please fill in - example: "foo" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/filter/subset_obsp/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_obsp_key` |The .obsp field to be filtered. |`string`, required | -|`--input_obs_key` |The .obs column to filter on. |`string`, required | -|`--input_obs_value` |The value to filter on in the .obs column. |`string`, required | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_obsm_key` |The .obsm key to store the subset in. |`string`, required | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author, maintainer) - diff --git a/components/modules/genetic_demux/bcftools.qmd b/components/modules/genetic_demux/bcftools.qmd deleted file mode 100644 index a8b6be67..00000000 --- a/components/modules/genetic_demux/bcftools.qmd +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Bcftools" -namespace: "Genetic demux" -description: "Filter the variants called by freebayes or cellSNP" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bcftools` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/bcftools/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/bcftools/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -vcf: # please fill in - example: ["path/to/file"] -concat: false -filter: false -filter_qual: 30 -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/bcftools/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--vcf` |VCF files, must have the same sample columns appearing in the same order. |List of `file`, required, multiple_sep: `";"` | -|`--concat` |Concatenate or combine VCFs and sort them. |`boolean_true` | -|`--filter` |Filter VCFs. |`boolean_true` | -|`--filter_qual` |Filter VCFs with specified QUAL threshold. |`integer`, default: `30` | -|`--output` |bcftools output directory |`file`, example: `"bcftools_out"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/cellsnp.qmd b/components/modules/genetic_demux/cellsnp.qmd deleted file mode 100644 index c9e38104..00000000 --- a/components/modules/genetic_demux/cellsnp.qmd +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "Cellsnp" -namespace: "Genetic demux" -description: "cellSNP aims to pileup the expressed alleles in single-cell or bulk RNA-seq data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellsnp` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/cellsnp/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -It can be directly used for donor deconvolution in multiplexed single-cell RNA-seq data, particularly with vireo. - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/cellsnp/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# sam_file: "path/to/file" -# sam_index_file: "path/to/file" -# sam_fileList: "path/to/file" -# regions_vcf: "path/to/file" -# targets_vcf: "path/to/file" -# barcode_file: "path/to/file" -# sample_list: "path/to/file" -# sample_ids: "foo" -genotype: false -gzip: false -print_skip_snps: false -# chrom: "foo" -cell_tag: "CB" -umi_tag: "Auto" -min_count: 20 -min_maf: 0.0 -doublet_gl: false -# incl_flag: "foo" -# excl_flag: "foo" -count_orphan: false -min_mapq: 20 -min_len: 30 - -# Output -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/cellsnp/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sam_file` |Indexed sam/bam file(s), comma separated multiple samples. Mode 1a & 2a: one sam/bam file with single cell. Mode 1b & 2b: one or multiple bulk sam/bam files, no barcodes needed, but sample ids and regionsVCF. |`file` | -|`--sam_index_file` |Input SAM/BAM Index file, problem with samFileList. |`file` | -|`--sam_fileList` |A list file containing bam files, each per line, for Mode 1b & 2b. |`file` | -|`--regions_vcf` |A vcf file listing all candidate SNPs, for fetch each variants. If None, pileup the genome. Needed for bulk samples. |`file` | -|`--targets_vcf` |Similar as --regions_vcf, but the next position is accessed by streaming rather than indexing/jumping (like -T in samtools/bcftools mpileup). |`file` | -|`--barcode_file` |A plain file listing all effective cell barcode. |`file` | -|`--sample_list` |A list file containing sample IDs, each per line. |`file` | -|`--sample_ids` |Comma separated sample ids. |`string` | -|`--genotype` |If use, do genotyping in addition to counting. |`boolean_true` | -|`--gzip` |If use, the output files will be zipped into BGZF format. |`boolean_true` | -|`--print_skip_snps` |If use, the SNPs skipped when loading VCF will be printed. |`boolean_true` | -|`--chrom` |The chromosomes to use in integer format 1-22, comma separated |`string` | -|`--cell_tag` |Tag for cell barcodes, turn off with None. |`string`, default: `"CB"` | -|`--umi_tag` |Tag for UMI: UR, Auto, None. For Auto mode, use UR if barcodes is inputted, otherwise use None. None mode means no UMI but read counts. |`string`, default: `"Auto"` | -|`--min_count` |Minimum aggragated count. |`integer`, default: `20` | -|`--min_maf` |Minimum minor allele frequency. |`double`, default: `0` | -|`--doublet_gl` |If use, keep doublet GT likelihood, i.e., GT=0.5 and GT=1.5. |`boolean_true` | -|`--incl_flag` |Required flags: skip reads with all mask bits unset. |`string` | -|`--excl_flag` |Filter flags: skip reads with any mask bits set [UNMAP,SECONDARY,QCFAIL (when use UMI) or UNMAP,SECONDARY,QCFAIL,DUP (otherwise)] |`string` | -|`--count_orphan` |If use, do not skip anomalous read pairs. |`boolean_true` | -|`--min_mapq` |Minimum MAPQ for read filtering. |`integer`, default: `20` | -|`--min_len` |Minimum mapped length for read filtering. |`integer`, default: `30` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory for VCF and sparse matrices. |`file`, example: `"cellsnp_out"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/demuxlet.qmd b/components/modules/genetic_demux/demuxlet.qmd deleted file mode 100644 index 28ddfbcc..00000000 --- a/components/modules/genetic_demux/demuxlet.qmd +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: "Demuxlet" -namespace: "Genetic demux" -description: "Demuxlet is a software tool to deconvolute sample identity and identify multiplets when multiple samples are pooled by barcoded single cell sequencing." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `demuxlet` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/demuxlet/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -If external genotyping data -for each sample is available (e.g. from SNP arrays), demuxlet would be recommended. Be careful -that the parameters on the github is not in line with the newest help version - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/demuxlet/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# sam: "path/to/file" -tag_group: "CB" -tag_umi: "UB" -# plp: "foo" -# vcf: "path/to/file" -field: "GT" -geno_error_offset: 0.1 -geno_error_coeff: 0.0 -r2_info: "R2" -min_mac: 1 -min_call_rate: 0.5 -alpha: "0.5" -doublet_prior: 0.5 -# sm: "foo" -# sm_list: "foo" -sam_verbose: 1000000 -vcf_verbose: 1000 -cap_bq: 20 -min_bq: 13 -min_mq: 20 -min_td: 0 -excl_flag: 3844 -# group_list: "foo" -min_total: 0 -min_snp: 0 -min_umi: 0 - -# Output -# output: "$id.$key.output" -# out: "demuxlet" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/demuxlet/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sam` |Input SAM/BAM/CRAM file. Must be sorted by coordinates and indexed. |`file` | -|`--tag_group` |Tag representing readgroup or cell barcodes, in the case to partition the BAM file into multiple groups. For 10x genomics, use CB. |`string`, default: `"CB"` | -|`--tag_umi` |Tag representing UMIs. For 10x genomiucs, use UB. |`string`, default: `"UB"` | -|`--plp` |Input pileup format. If the value is a string, it will be considered as the path of the plp file. If the value is boolean true, it will perform dscpileup. |`string` | -|`--vcf` |Input VCF/BCF file, containing the individual genotypes (GT), posterior probability (GP), or genotype likelihood (PL). |`file` | -|`--field` |FORMAT field to extract the genotype, likelihood, or posterior from |`string`, default: `"GT"` | -|`--geno_error_offset` |Offset of genotype error rate. [error] = [offset] + [1-offset]*[coeff]*[1-r2] |`double`, default: `0.1` | -|`--geno_error_coeff` |Slope of genotype error rate. [error] = [offset] + [1-offset]*[coeff]*[1-r2] |`double`, default: `0` | -|`--r2_info` |INFO field name representing R2 value. Used for representing imputation quality. |`string`, default: `"R2"` | -|`--min_mac` |Minimum minor allele frequency. |`integer`, default: `1` | -|`--min_call_rate` |Minimum call rate. |`double`, default: `0.5` | -|`--alpha` |Grid of alpha to search for (default is 0.1, 0.2, 0.3, 0.4, 0.5) |`string`, default: `"0.5"` | -|`--doublet_prior` |Prior of doublet |`double`, default: `0.5` | -|`--sm` |List of sample IDs to compare to (default: use all). |`string` | -|`--sm_list` |File containing the list of sample IDs to compare. |`string` | -|`--sam_verbose` |Verbose message frequency for SAM/BAM/CRAM. |`integer`, default: `1000000` | -|`--vcf_verbose` |Verbose message frequency for VCF/BCF. |`integer`, default: `1000` | -|`--cap_bq` |Maximum base quality (higher BQ will be capped). |`integer`, default: `20` | -|`--min_bq` |Minimum base quality to consider (lower BQ will be skipped). |`integer`, default: `13` | -|`--min_mq` |Minimum mapping quality to consider (lower MQ will be ignored). |`integer`, default: `20` | -|`--min_td` |Minimum distance to the tail (lower will be ignored). |`integer`, default: `0` | -|`--excl_flag` |SAM/BAM FLAGs to be excluded. |`integer`, default: `3844` | -|`--group_list` |List of tag readgroup/cell barcode to consider in this run. All other barcodes will be ignored. This is useful for parallelized run. |`string` | -|`--min_total` |Minimum number of total reads for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_snp` |Minimum number of SNPs with coverage for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_umi` |Minimum number of UMIs for a droplet/cell to be considered. |`integer`, default: `0` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"demux"` | -|`--out` |demuxlet output file prefix |`string`, example: `"demuxlet"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/dsc_pileup.qmd b/components/modules/genetic_demux/dsc_pileup.qmd deleted file mode 100644 index 4f85eea7..00000000 --- a/components/modules/genetic_demux/dsc_pileup.qmd +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: "Dsc pileup" -namespace: "Genetic demux" -description: "Dsc-pileup is a software tool to pileup reads and corresponding base quality for each overlapping SNPs and each barcode." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `dsc_pileup` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/dsc_pileup/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -By using pileup files, -it would allow us to run demuxlet/freemuxlet pretty fast multiple times -without going over the BAM file again - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/dsc_pileup/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# sam: "path/to/file" -tag_group: "CB" -tag_umi: "UB" -exclude_flag: 1796 -# vcf: "path/to/file" -# sm: "foo" -# sm_list: "foo" -sam_verbose: 1000000 -vcf_verbose: 1000 -skip_umi: false -cap_bq: 40 -min_bq: 13 -min_mq: 20 -min_td: 0 -excl_flag: 3844 -# group_list: "foo" -min_total: 0 -min_uniq: 0 -min_snp: 0 - -# Output -# output: "$id.$key.output" -# out: "demuxlet_dsc" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/dsc_pileup/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sam` |Input SAM/BAM/CRAM file. Must be sorted by coordinates and indexed. |`file` | -|`--tag_group` |Tag representing readgroup or cell barcodes, in the case to partition the BAM file into multiple groups. For 10x genomics, use CB. |`string`, default: `"CB"` | -|`--tag_umi` |Tag representing UMIs. For 10x genomiucs, use UB. |`string`, default: `"UB"` | -|`--exclude_flag` |SAM/BAM FLAGs to be excluded. |`integer`, default: `1796` | -|`--vcf` |Input VCF/BCF file for dsc-pileup, containing the AC and AN field. |`file` | -|`--sm` |List of sample IDs to compare to (default: use all). |`string` | -|`--sm_list` |File containing the list of sample IDs to compare. |`string` | -|`--sam_verbose` |Verbose message frequency for SAM/BAM/CRAM. |`integer`, default: `1000000` | -|`--vcf_verbose` |Verbose message frequency for VCF/BCF. |`integer`, default: `1000` | -|`--skip_umi` |Do not generate [prefix].umi.gz file, which stores the regions covered by each barcode/UMI pair. |`boolean_true` | -|`--cap_bq` |Maximum base quality (higher BQ will be capped). |`integer`, default: `40` | -|`--min_bq` |Minimum base quality to consider (lower BQ will be skipped). |`integer`, default: `13` | -|`--min_mq` |Minimum mapping quality to consider (lower MQ will be ignored). |`integer`, default: `20` | -|`--min_td` |Minimum distance to the tail (lower will be ignored). |`integer`, default: `0` | -|`--excl_flag` |SAM/BAM FLAGs to be excluded for SNP overlapping Read filtering Options. |`integer`, default: `3844` | -|`--group_list` |List of tag readgroup/cell barcode to consider in this run. All other barcodes will be ignored. This is useful for parallelized run. |`string` | -|`--min_total` |Minimum number of total reads for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_uniq` |Minimum number of unique reads (determined by UMI/SNP pair) for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_snp` |Minimum number of SNPs with coverage for a droplet/cell to be considered. |`integer`, default: `0` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"demux"` | -|`--out` |dsc-pileup output file prefix |`string`, example: `"demuxlet_dsc"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/freebayes.qmd b/components/modules/genetic_demux/freebayes.qmd deleted file mode 100644 index 62d4c661..00000000 --- a/components/modules/genetic_demux/freebayes.qmd +++ /dev/null @@ -1,234 +0,0 @@ ---- -title: "Freebayes" -namespace: "Genetic demux" -description: "Freebayes is a Bayesian genetic variant detector designed to find small polymorphisms, specifically SNPs" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `freebayes` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/freebayes/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/freebayes/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# bam: "path/to/file" -# bam_list: "path/to/file" -stdin: false -# fasta_reference: "path/to/file" -# fasta_reference_index: "path/to/file" -# targets: "path/to/file" -# region: "foo" -# samples: "path/to/file" -# populations: "path/to/file" -# cnv_map: "path/to/file" -gvcf: false -# gvcf_chunk: 123 -# variant_input: "path/to/file" -only_use_input_alleles: false -# haplotype_basis_alleles: "path/to/file" -report_all_haplotype_alleles: false -report_monomorphic: false -pvar: 0.0 -strict_vcf: false -theta: 0.001 -ploidy: 2 -pooled_discrete: false -pooled_continuous: false -use_reference_allele: false -reference_quality: "100,60" -throw_away_snp_obs: false -throw_away_mnps_obs: true -throw_away_indel_obs: true -throw_away_complex_obs: true -use_best_n_alleles: 0 -max_complex_gap: 3 -min_repeat_size: 5 -min_repeat_entropy: 1 -no_partial_observations: false -dont_left_align_indels: false -use_duplicate_reads: false -min_mapping_quality: 1 -min_base_quality: 1 -min_supporting_allele_qsum: 0 -min_supporting_mapping_qsum: 0 -mismatch_base_quality_threshold: 10 -read_max_mismatch_fraction: 1.0 -# read_mismatch_limit: 123 -# read_snp_limit: 123 -# read_indel_limit: 123 -standard_filters: false -min_alternate_fraction: 0.05 -min_alternate_count: 2 -min_alternate_qsum: 0 -min_alternate_total: 1 -min_coverage: 0 -# max_coverage: 123 -no_population_priors: false -hwe_priors_off: false -binomial_obs_priors_off: false -allele_balance_priors_off: false -# observation_bias: "path/to/file" -# base_quality_cap: 123 -prob_contamination: 1.0E-8 -legacy_gls: false -# contamination_estimates: "path/to/file" -report_genotype_likelihood_max: false -genotyping_max_iterations: 1000 -genotyping_max_banddepth: 6 -posterior_integration_limits: "1,3" -exclude_unobserved_genotypes: false -# genotype_variant_threshold: 123 -use_mapping_quality: false -harmonic_indel_quality: false -read_dependence_factor: 0.9 -genotype_qualities: false -debug: false -dd: false - -# Output -# output: "$id.$key.output" -# vcf: "snp.vcf" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/freebayes/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--bam` |Add FILE to the set of BAM files to be analyzed. |`file` | -|`--bam_list` |A file containing a list of BAM files to be analyzed. |`file` | -|`--stdin` |Read BAM input on stdin. |`boolean_true` | -|`--fasta_reference` |Use FILE as the reference sequence for analysis. An index file (FILE.fai) will be created if none exists. If neither --targets nor --region are specified, FreeBayes will analyze every position in this reference. |`file` | -|`--fasta_reference_index` |Use FILE.fai as the index of reference sequence for analysis. |`file` | -|`--targets` |Limit analysis to targets listed in the BED-format FILE. |`file` | -|`--region` |Limit analysis to the specified region, 0-base coordinates, end_position not included (same as BED format). |`string` | -|`--samples` |Limit analysis to samples listed (one per line) in the FILE. By default FreeBayes will analyze all samples in its input BAM files. |`file` | -|`--populations` |Each line of FILE should list a sample and a population which it is part of. The population-based bayesian inference model will then be partitioned on the basis of the populations. |`file` | -|`--cnv_map` |Read a copy number map from the BED file FILE, which has either a sample-level ploidy or a region-specific format. |`file` | -|`--gvcf` |Write gVCF output, which indicates coverage in uncalled regions. |`boolean_true` | -|`--gvcf_chunk` |When writing gVCF output emit a record for every NUM bases. |`integer` | -|`--variant_input` |Use variants reported in VCF file as input to the algorithm. Variants in this file will included in the output even if there is not enough support in the data to pass input filters. |`file` | -|`--only_use_input_alleles` |Only provide variant calls and genotype likelihoods for sites and alleles which are provided in the VCF input, and provide output in the VCF for all input alleles, not just those which have support in the data. |`boolean_true` | -|`--haplotype_basis_alleles` |When specified, only variant alleles provided in this input VCF will be used for the construction of complex or haplotype alleles. |`file` | -|`--report_all_haplotype_alleles` |At sites where genotypes are made over haplotype alleles, provide information about all alleles in output, not only those which are called. |`boolean_true` | -|`--report_monomorphic` |Report even loci which appear to be monomorphic, and report all considered alleles, even those which are not in called genotypes. |`boolean_true` | -|`--pvar` |Report sites if the probability that there is a polymorphism at the site is greater than N. Note that post-filtering is generally recommended over the use of this parameter. |`double`, default: `0` | -|`--strict_vcf` |Generate strict VCF format (FORMAT/GQ will be an int). |`boolean_true` | -|`--theta` |The expected mutation rate or pairwise nucleotide diversity among the population under analysis. This serves as the single parameter to the Ewens Sampling Formula prior model. |`double`, default: `0.001` | -|`--ploidy` |Sets the default ploidy for the analysis to N. |`integer`, default: `2` | -|`--pooled_discrete` |Assume that samples result from pooled sequencing. Model pooled samples using discrete genotypes across pools. |`boolean_true` | -|`--pooled_continuous` |Output all alleles which pass input filters, regardles of genotyping outcome or model. |`boolean_true` | -|`--use_reference_allele` |This flag includes the reference allele in the analysis as if it is another sample from the same population. |`boolean_true` | -|`--reference_quality` |Assign mapping quality of MQ to the reference allele at each site and base quality of BQ. |`string`, default: `"100,60"` | -|`--throw_away_snp_obs` |Ignore SNP alleles. |`boolean_true` | -|`--throw_away_mnps_obs` |Ignore multi-nuceotide polymorphisms, MNPs. MNPs are excluded as default. |`boolean_false` | -|`--throw_away_indel_obs` |Ignore insertion and deletion alleles. Indels are excluded as default. |`boolean_false` | -|`--throw_away_complex_obs` |Ignore complex events (composites of other classes). Complex are excluded as default |`boolean_false` | -|`--use_best_n_alleles` |Evaluate only the best N SNP alleles, ranked by sum of supporting quality scores. |`integer`, default: `0` | -|`--max_complex_gap` |Allow haplotype calls with contiguous embedded matches of up to this length. |`integer`, default: `3` | -|`--min_repeat_size` |When assembling observations across repeats, require the total repeat length at least this many bp. |`integer`, default: `5` | -|`--min_repeat_entropy` |To detect interrupted repeats, build across sequence until it has entropy > N bits per bp. Set to 0 to turn off. |`integer`, default: `1` | -|`--no_partial_observations` |Exclude observations which do not fully span the dynamically-determined detection window. (default, use all observations, dividing partial support across matching haplotypes when generating haplotypes.) |`boolean_true` | -|`--dont_left_align_indels` |Turn off left-alignment of indels, which is enabled by default. |`boolean_true` | -|`--use_duplicate_reads` |Include duplicate-marked alignments in the analysis. default: exclude duplicates marked as such in alignments |`boolean_true` | -|`--min_mapping_quality` |Exclude alignments from analysis if they have a mapping quality less than Q. |`integer`, default: `1` | -|`--min_base_quality` |Exclude alleles from analysis if their supporting base quality is less than Q. Default value is changed according to the instruction of scSplit. |`integer`, default: `1` | -|`--min_supporting_allele_qsum` |Consider any allele in which the sum of qualities of supporting observations is at least Q. |`integer`, default: `0` | -|`--min_supporting_mapping_qsum` |Consider any allele in which and the sum of mapping qualities of supporting reads is at least. |`integer`, default: `0` | -|`--mismatch_base_quality_threshold` |Count mismatches toward --read-mismatch-limit if the base quality of the mismatch is >= Q. |`integer`, default: `10` | -|`--read_max_mismatch_fraction` |Exclude reads with more than N mismatches where each mismatch has base quality >= mismatch-base-quality-threshold. |`double`, default: `1` | -|`--read_mismatch_limit` |Exclude reads with more than N [0,1] fraction of mismatches where each mismatch has base quality >= mismatch-base-quality-threshold. |`integer` | -|`--read_snp_limit` |Exclude reads with more than N base mismatches, ignoring gaps with quality >= mismatch-base-quality-threshold. |`integer` | -|`--read_indel_limit` |Exclude reads with more than N separate gaps. |`integer` | -|`--standard_filters` |Use stringent input base and mapping quality filters, equivalent to -m 30 -q 20 -R 0 -S 0 |`boolean_true` | -|`--min_alternate_fraction` |Require at least this fraction of observations supporting an alternate allele within a single individual in order to evaluate the position. |`double`, default: `0.05` | -|`--min_alternate_count` |Require at least this count of observations supporting an alternate allele within a single individual in order to evaluate the position. |`integer`, default: `2` | -|`--min_alternate_qsum` |Require at least this sum of quality of observations supporting an alternate allele within a single individual in order to evaluate the position. |`integer`, default: `0` | -|`--min_alternate_total` |Require at least this count of observations supporting an alternate allele within the total population in order to use the allele in analysis. |`integer`, default: `1` | -|`--min_coverage` |Require at least this coverage to process a site. |`integer`, default: `0` | -|`--max_coverage` |Do not process sites with greater than this coverage. |`integer` | -|`--no_population_priors` |Equivalent to --pooled-discrete --hwe-priors-off and removal of Ewens Sampling Formula component of priors. |`boolean_true` | -|`--hwe_priors_off` |Disable estimation of the probability of the combination arising under HWE given the allele frequency as estimated by observation frequency. |`boolean_true` | -|`--binomial_obs_priors_off` |Disable incorporation of prior expectations about observations. Uses read placement probability, strand balance probability, and read position probability. |`boolean_true` | -|`--allele_balance_priors_off` |Disable use of aggregate probability of observation balance between alleles as a component of the priors. |`boolean_true` | -|`--observation_bias` |Read length-dependent allele observation biases from FILE. The format is [length] [alignment efficiency relative to reference] where the efficiency is 1 if there is no relative observation bias. |`file` | -|`--base_quality_cap` |Limit estimated observation quality by capping base quality at Q. |`integer` | -|`--prob_contamination` |An estimate of contamination to use for all samples. |`double`, default: `1e-08` | -|`--legacy_gls` |Use legacy (polybayes equivalent) genotype likelihood calculations |`boolean_true` | -|`--contamination_estimates` |A file containing per-sample estimates of contamination, such as those generated by VerifyBamID. |`file` | -|`--report_genotype_likelihood_max` |Report genotypes using the maximum-likelihood estimate provided from genotype likelihoods. |`boolean_true` | -|`--genotyping_max_iterations` |Iterate no more than N times during genotyping step. |`integer`, default: `1000` | -|`--genotyping_max_banddepth` |Integrate no deeper than the Nth best genotype by likelihood when genotyping. |`integer`, default: `6` | -|`--posterior_integration_limits` |Integrate all genotype combinations in our posterior space which include no more than N samples with their Mth best data likelihood. |`string`, default: `"1,3"` | -|`--exclude_unobserved_genotypes` |Skip sample genotypings for which the sample has no supporting reads. |`boolean_true` | -|`--genotype_variant_threshold` |Limit posterior integration to samples where the second-best genotype likelihood is no more than log(N) from the highest genotype likelihood for the sample. |`integer` | -|`--use_mapping_quality` |Use mapping quality of alleles when calculating data likelihoods. |`boolean_true` | -|`--harmonic_indel_quality` |Use a weighted sum of base qualities around an indel, scaled by the distance from the indel. By default use a minimum BQ in flanking sequence. |`boolean_true` | -|`--read_dependence_factor` |Incorporate non-independence of reads by scaling successive observations by this factor during data likelihood calculations. |`double`, default: `0.9` | -|`--genotype_qualities` |Calculate the marginal probability of genotypes and report as GQ in each sample field in the VCF output. |`boolean_true` | -|`--debug` |Print debugging output. |`boolean_true` | -|`--dd` |Print more verbose debugging output |`boolean_true` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"freebayes_out"` | -|`--vcf` |Output VCF-format results to FILE. |`string`, example: `"snp.vcf"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/freemuxlet.qmd b/components/modules/genetic_demux/freemuxlet.qmd deleted file mode 100644 index 0c28ddfe..00000000 --- a/components/modules/genetic_demux/freemuxlet.qmd +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: "Freemuxlet" -namespace: "Genetic demux" -description: "Freemuxlet is a software tool to deconvolute sample identity and identify multiplets when multiple samples are pooled by barcoded single cell sequencing." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `freemuxlet` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/freemuxlet/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -If external genotyping -data is not available, the genotyping-free version demuxlet, freemuxlet, would be recommended - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/freemuxlet/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# plp: "foo" -# init_cluster: "path/to/file" -nsample: 2 -aux_files: false -verbose: 100 -doublet_prior: 0.5 -geno_error: 0.1 -bf_thres: 5.41 -frac_init_clust: 1.0 -iter_init: 10 -keep_init_missing: false -randomize_singlet_score: false -seed: 0 -cap_bq: 20 -min_bq: 13 -# group_list: "foo" -min_total: 0 -min_umi: 0 -min_snp: 0 - -# Output -# output: "$id.$key.output" -# out: "freemuxlet" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/freemuxlet/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--plp` |Prefix of input files generated by dsc-pileup |`string` | -|`--init_cluster` |Input file containing the initial cluster information. |`file` | -|`--nsample` |Number of samples multiplexed together |`integer`, default: `2` | -|`--aux_files` |Turn on writing auxilary output files |`boolean_true` | -|`--verbose` |Turn on verbose mode with specific verbosity threshold. 0: fully verbose, 100 : no verbose messages. |`integer`, default: `100` | -|`--doublet_prior` |Prior of doublet. |`double`, default: `0.5` | -|`--geno_error` |Genotype error parameter per cluster. |`double`, default: `0.1` | -|`--bf_thres` |Bayes Factor Threshold used in the initial clustering. |`double`, default: `5.41` | -|`--frac_init_clust` |Fraction of droplets to be clustered in the very first round of initial clustering procedure. |`double`, default: `1` | -|`--iter_init` |Iteration for initial cluster assignment (set to zero to skip the iterations). |`integer`, default: `10` | -|`--keep_init_missing` |Keep missing cluster assignment as missing in the initial iteration. |`boolean_true` | -|`--randomize_singlet_score` |Randomize the singlet scores to test its effect. |`boolean_true` | -|`--seed` |Seed for random number (use clocks if not set). |`integer`, default: `0` | -|`--cap_bq` |Maximum base quality (higher BQ will be capped). |`integer`, default: `20` | -|`--min_bq` |Minimum base quality to consider (lower BQ will be skipped). |`integer`, default: `13` | -|`--group_list` |List of tag readgroup/cell barcode to consider in this run. All other barcodes will be ignored. This is useful for parallelized run. |`string` | -|`--min_total` |Minimum number of total reads for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_umi` |Minimum number of UMIs for a droplet/cell to be considered. |`integer`, default: `0` | -|`--min_snp` |Minimum number of SNPs with coverage for a droplet/cell to be considered. |`integer`, default: `0` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"freemux"` | -|`--out` |freemuxlet Output file prefix |`string`, example: `"freemuxlet"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/samtools.qmd b/components/modules/genetic_demux/samtools.qmd deleted file mode 100644 index 7b554dbe..00000000 --- a/components/modules/genetic_demux/samtools.qmd +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Samtools" -namespace: "Genetic demux" -description: "Filter the BAM according to the instruction of scSplit via Samtools." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `samtools` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/samtools/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/samtools/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -bam: # please fill in - example: "path/to/file" -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/samtools/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--bam` |Input bam file for filtering. |`file`, required | -|`--output` |Samtools output directory. |`file`, example: `"samtools_out"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/scsplit.qmd b/components/modules/genetic_demux/scsplit.qmd deleted file mode 100644 index 72217d1e..00000000 --- a/components/modules/genetic_demux/scsplit.qmd +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Scsplit" -namespace: "Genetic demux" -description: "scsplit is a genotype-free demultiplexing methode of pooled single-cell RNA-seq, using a hidden state model for identifying genetically distinct samples within a mixed population." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scsplit` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/scsplit/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/scsplit/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# vcf: "path/to/file" -# bam: "path/to/file" -# bar: "path/to/file" -tag: "CB" -# com: "path/to/file" -# num: 123 -sub: 10 -ems: 30 -# dbl: 123.0 -# vcf_known: "path/to/file" -geno: false - -# Output -# output: "$id.$key.output" -# ref: "foo" -# alt: "foo" -# psc: "foo" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/scsplit/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--vcf` |VCF from mixed BAM |`file` | -|`--bam` |mixed sample BAM |`file` | -|`--bar` |barcodes whitelist |`file` | -|`--tag` |tag for barcode |`string`, default: `"CB"` | -|`--com` |common SNVs |`file` | -|`--num` |expected number of mixed samples |`integer` | -|`--sub` |maximum number of subpopulations in autodetect mode |`integer`, default: `10` | -|`--ems` |number of EM repeats to avoid local maximum |`integer`, default: `30` | -|`--dbl` |correction for doublets. There will be no refinement on the results if this optional parameter is not specified or specified percentage is less than doublet rates detected during the run. |`double` | -|`--vcf_known` |known individual genotypes to limit distinguishing variants to available variants, so that users do not need to redo genotyping on selected variants, otherwise any variants could be selected as distinguishing variants. |`file` | -|`--geno` |generate sample genotypes based on the split result. |`boolean_true` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"scSplit_out"` | -|`--ref` |output Ref count matrix |`string` | -|`--alt` |output Alt count matrix |`string` | -|`--psc` |generated P(S|C) |`string` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/souporcell.qmd b/components/modules/genetic_demux/souporcell.qmd deleted file mode 100644 index 67a9bc2b..00000000 --- a/components/modules/genetic_demux/souporcell.qmd +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "Souporcell" -namespace: "Genetic demux" -description: "souporcell is a method for clustering mixed-genotype scRNAseq experiments by individual." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `souporcell` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/souporcell/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/souporcell/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# fasta: "path/to/file" -# bam: "path/to/file" -# bam_index: "path/to/file" -# barcodes: "path/to/file" -# clusters: 123 -ploidy: 2 -min_alt: 10 -min_ref: 10 -max_loci: 2048 -# restarts: 123 -# common_variants: "path/to/file" -# known_genotypes: "path/to/file" -# known_genotypes_sample_names: "foo" -skip_remap: false -ignore: false - -# Output -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/souporcell/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--fasta` |reference fasta file |`file` | -|`--bam` |cellranger bam |`file` | -|`--bam_index` |cellranger bam index |`file` | -|`--barcodes` |barcodes.tsv from cellranger |`file` | -|`--clusters` |number cluster, tbd add easy way to run on a range of k |`integer` | -|`--ploidy` |ploidy, must be 1 or 2 |`integer`, default: `2` | -|`--min_alt` |min alt to use locus |`integer`, default: `10` | -|`--min_ref` |min ref to use locus |`integer`, default: `10` | -|`--max_loci` |max loci per cell, affects speed |`integer`, default: `2048` | -|`--restarts` |number of restarts in clustering, when there are > 12 clusters we recommend increasing this to avoid local minima |`integer` | -|`--common_variants` |common variant loci or known variant loci vcf, must be vs same reference fasta |`file` | -|`--known_genotypes` |known variants per clone in population vcf mode, must be .vcf right now we dont accept gzip or bcf sorry |`file` | -|`--known_genotypes_sample_names` |which samples in population vcf from known genotypes option represent the donors in your sample |`string` | -|`--skip_remap` |dont remap with minimap2 (not recommended unless in conjunction with --common_variants |`boolean_true` | -|`--ignore` |set to True to ignore data error assertions |`boolean_true` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |name of directory to place souporcell files |`file`, example: `"souporcell_out"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/genetic_demux/vireo.qmd b/components/modules/genetic_demux/vireo.qmd deleted file mode 100644 index 78d1be1c..00000000 --- a/components/modules/genetic_demux/vireo.qmd +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: "Vireo" -namespace: "Genetic demux" -description: "Vireo is primarily designed for demultiplexing cells into donors by modelling of expressed alleles." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `vireo` -Namespace: `genetic_demux` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/genetic_demux/vireo/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/genetic_demux/vireo/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -# cell_data: "path/to/file" -n_donor: 2 -# vartrix_data: "path/to/file" -# donor_file: "path/to/file" -geno_tag: "PL" -no_doublet: false -n_init: 50 -extra_donor: 0 -# extra_donorMode: "foo" -force_learn_gt: false -ase_mode: false -no_plot: false -# rand_seed: 123 -# cell_range: "foo" -call_ambient_rnas: false - -# Output -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/genetic_demux/vireo/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cell_data` |The cell genotype file in VCF format or cellSNP folder with sparse matrices. |`file` | -|`--n_donor` |Number of donors to demultiplex; can be larger than provided in donor_file. |`integer`, default: `2` | -|`--vartrix_data` |The cell genotype files in vartrix outputs. |`file` | -|`--donor_file` |The donor genotype file in VCF format. Please filter the sample and region with bcftools first! |`file` | -|`--geno_tag` |The tag for donor genotype. |`string`, default: `"PL"` | -|`--no_doublet` |If use, not checking doublets. |`boolean`, default: `FALSE` | -|`--n_init` |Number of random initializations, when GT needs to learn. |`integer`, default: `50` | -|`--extra_donor` |Number of extra donor in pre-cluster, when GT needs to learn. |`integer`, default: `0` | -|`--extra_donorMode` |Method for searching from extra donors. size: n_cell per donor; distance: GT distance between donors |`string` | -|`--force_learn_gt` |If use, treat donor GT as prior only. |`boolean`, default: `FALSE` | -|`--ase_mode` |If use, turn on SNP specific allelic ratio. |`boolean`, default: `FALSE` | -|`--no_plot` |If use, turn off plotting GT distance. |`boolean`, default: `FALSE` | -|`--rand_seed` |Seed for random initialization |`integer` | -|`--cell_range` |Range of cells to process. |`string` | -|`--call_ambient_rnas` |If use, detect ambient RNAs in each cell. |`boolean`, default: `FALSE` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory |`file`, example: `"vireo"` | - -## Authors - - - * Xichen Wu [{{< fa brands github >}}](https://github.com/wxicu) [{{< fa brands orcid >}}](https://orcid.org/0009-0008-2168-4508) [{{< fa brands linkedin >}}](https://linkedin.com/in/xichen-wu) (author) - diff --git a/components/modules/integrate/harmonypy.qmd b/components/modules/integrate/harmonypy.qmd deleted file mode 100644 index ed3dc24b..00000000 --- a/components/modules/integrate/harmonypy.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Harmonypy" -namespace: "Integrate" -description: "Performs Harmony integration based as described in https://github.com/immunogenomics/harmony." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `harmonypy` -Namespace: `integrate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/integrate/harmonypy/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Based on an implementation in python from https://github.com/slowkow/harmonypy - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/integrate/harmonypy/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -# output: "$id.$key.output" -# output_compression: "gzip" -modality: "rna" -obsm_input: "X_pca" -obsm_output: "X_pca_integrated" -theta: [2.0] -obs_covariates: # please fill in - example: ["batch", "sample"] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/integrate/harmonypy/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required | -|`--output` |Output h5mu file. |`file`, required | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obsm_input` |Which .obsm slot to use as a starting PCA embedding. |`string`, default: `"X_pca"` | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_pca_integrated"` | -|`--theta` |Diversity clustering penalty parameter. Can be set as a single value for all batch observations or as multiple values, one for each observation in the batches defined by --obs_covariates. theta=0 does not encourage any diversity. Larger values of theta result in more diverse clusters. |List of `double`, default: `2`, multiple_sep: `";"` | -|`--obs_covariates` |The .obs field(s) that define the covariate(s) to regress out. |List of `string`, required, example: `"batch", "sample"`, multiple_sep: `";"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor) - diff --git a/components/modules/integrate/scanorama.qmd b/components/modules/integrate/scanorama.qmd deleted file mode 100644 index f5b2e77c..00000000 --- a/components/modules/integrate/scanorama.qmd +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Scanorama" -namespace: "Integrate" -description: "Use Scanorama to integrate different experiments" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scanorama` -Namespace: `integrate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/integrate/scanorama/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/integrate/scanorama/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -modality: "rna" -# output: "output.h5ad" -# output_compression: "gzip" -obs_batch: "batch" -obsm_input: "X_pca" -obsm_output: "X_scanorama" -knn: 20 -batch_size: 5000 -sigma: 15.0 -approx: true -alpha: 0.1 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/integrate/scanorama/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required | -|`--modality` | |`string`, default: `"rna"` | -|`--output` |Output .h5mu file |`file`, required, default: `"output.h5ad"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obs_batch` |Column name discriminating between your batches. |`string`, default: `"batch"` | -|`--obsm_input` |Basis obsm slot to run scanorama on. |`string`, default: `"X_pca"` | -|`--obsm_output` |The name of the field in adata.obsm where the integrated embeddings will be stored after running this function. Defaults to X_scanorama. |`string`, default: `"X_scanorama"` | -|`--knn` |Number of nearest neighbors to use for matching. |`integer`, default: `20` | -|`--batch_size` |The batch size used in the alignment vector computation. Useful when integrating very large (>100k samples) datasets. Set to large value that runs within available memory. |`integer`, default: `5000` | -|`--sigma` |Correction smoothing parameter on Gaussian kernel. |`double`, default: `15` | -|`--approx` |Use approximate nearest neighbors with Python annoy; greatly speeds up matching runtime. |`boolean`, default: `TRUE` | -|`--alpha` |Alignment score minimum cutoff |`double`, default: `0.1` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (author) - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/integrate/scarches.qmd b/components/modules/integrate/scarches.qmd deleted file mode 100644 index 423cb66f..00000000 --- a/components/modules/integrate/scarches.qmd +++ /dev/null @@ -1,157 +0,0 @@ ---- -title: "Scarches" -namespace: "Integrate" -description: "Performs reference mapping with scArches" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scarches` -Namespace: `integrate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/integrate/scarches/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/integrate/scarches/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "path/to/file" -# layer: "foo" -modality: "rna" -# input_obs_batch: "foo" -# input_obs_label: "foo" -# input_var_gene_names: "foo" -# input_obs_size_factor: "foo" - -# Reference -reference: # please fill in - example: "path/to/file" - -# Outputs -# output: "$id.$key.output" -# output_compression: "gzip" -# model_output: "model" -obsm_output: "X_integrated_scanvi" -obs_output_predictions: "scanvi_pred" -obs_output_probabilities: "scanvi_proba" - -# Early stopping arguments -# early_stopping: true -early_stopping_monitor: "elbo_validation" -early_stopping_patience: 45 -early_stopping_min_delta: 0.0 - -# Learning parameters -# max_epochs: 123 -reduce_lr_on_plateau: true -lr_factor: 0.6 -lr_patience: 30.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/integrate/scarches/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Arguments related to the input (query) dataset - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file to use as a query |`file`, required | -|`--layer` |Layer to be used for scArches, if .X is not to be used. |`string` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_obs_batch` |Name of the .obs column with batch information. |`string` | -|`--input_obs_label` |Name of the .obs column with celltype information. |`string` | -|`--input_var_gene_names` |Name of the .var column with gene names, if the var .index is not to be used. |`string` | -|`--input_obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | - - -### Reference - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |Path to the directory with reference model or a web link. |`file`, required | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--model_output` |Output directory for model |`file`, default: `"model"` | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_integrated_scanvi"` | -|`--obs_output_predictions` |In which .obs slot to store the resulting label predictions. Only relevant if a scANVI model was provided. |`string`, default: `"scanvi_pred"` | -|`--obs_output_probabilities` |In which .obs slot to store the probabilities of the label predictions. Only relevant if a scANVI model was provided. |`string`, default: `"scanvi_proba"` | - - -### Early stopping arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean` | -|`--early_stopping_monitor` |Metric logged during validation set epoch. |`string`, default: `"elbo_validation"` | -|`--early_stopping_patience` |Number of validation epochs with no improvement after which training will be stopped. |`integer`, default: `45` | -|`--early_stopping_min_delta` |Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |`double`, default: `0` | - - -### Learning parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | -|`--reduce_lr_on_plateau` |Whether to monitor validation loss and reduce learning rate when validation set `lr_scheduler_metric` plateaus. |`boolean`, default: `TRUE` | -|`--lr_factor` |Factor to reduce learning rate. |`double`, default: `0.6` | -|`--lr_patience` |Number of epochs with no improvement after which learning rate will be reduced. |`double`, default: `30` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer) - diff --git a/components/modules/integrate/scvi.qmd b/components/modules/integrate/scvi.qmd deleted file mode 100644 index 77f7fef2..00000000 --- a/components/modules/integrate/scvi.qmd +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: "Scvi" -namespace: "Integrate" -description: "Performs scvi integration as done in the human lung cell atlas https://github.com/LungCellAtlas/HLCA" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scvi` -Namespace: `integrate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/integrate/scvi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/integrate/scvi/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "path/to/file" -modality: "rna" -# input_layer: "foo" -obs_batch: "sample_id" -# var_gene_names: "foo" -# var_input: "foo" -# obs_labels: "foo" -# obs_size_factor: "foo" -# obs_categorical_covariate: ["foo"] -# obs_continuous_covariate: ["foo"] - -# Outputs -# output: "$id.$key.output" -# output_model: "$id.$key.output_model" -# output_compression: "gzip" -obsm_output: "X_scvi_integrated" - -# SCVI options -n_hidden_nodes: 128 -n_dimensions_latent_space: 30 -n_hidden_layers: 2 -dropout_rate: 0.1 -dispersion: "gene" -gene_likelihood: "nb" - -# Variational auto-encoder model options -use_layer_normalization: "both" -use_batch_normalization: "none" -encode_covariates: true -deeply_inject_covariates: false -use_observed_lib_size: false - -# Early stopping arguments -# early_stopping: true -early_stopping_monitor: "elbo_validation" -early_stopping_patience: 45 -early_stopping_min_delta: 0.0 - -# Learning parameters -# max_epochs: 123 -reduce_lr_on_plateau: true -lr_factor: 0.6 -lr_patience: 30.0 - -# Data validition -n_obs_min_count: 0 -n_var_min_count: 0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/integrate/scvi/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |Input layer to use. If None, X is used |`string` | -|`--obs_batch` |Column name discriminating between your batches. |`string`, default: `"sample_id"` | -|`--var_gene_names` |.var column containing gene names. By default, use the index. |`string` | -|`--var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | -|`--obs_labels` |Key in adata.obs for label information. Categories will automatically be converted into integer categories and saved to adata.obs['_scvi_labels']. If None, assigns the same label to all the data. |`string` | -|`--obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | -|`--obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | -|`--obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required | -|`--output_model` |Folder where the state of the trained model will be saved to. |`file` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_scvi_integrated"` | - - -### SCVI options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_hidden_nodes` |Number of nodes per hidden layer. |`integer`, default: `128` | -|`--n_dimensions_latent_space` |Dimensionality of the latent space. |`integer`, default: `30` | -|`--n_hidden_layers` |Number of hidden layers used for encoder and decoder neural-networks. |`integer`, default: `2` | -|`--dropout_rate` |Dropout rate for the neural networks. |`double`, default: `0.1` | -|`--dispersion` |Set the behavior for the dispersion for negative binomial distributions: - gene: dispersion parameter of negative binomial is constant per gene across cells - gene-batch: dispersion can differ between different batches - gene-label: dispersion can differ between different labels - gene-cell: dispersion can differ for every gene in every cell |`string`, default: `"gene"` | -|`--gene_likelihood` |Model used to generate the expression data from a count-based likelihood distribution. - nb: Negative binomial distribution - zinb: Zero-inflated negative binomial distribution - poisson: Poisson distribution |`string`, default: `"nb"` | - - -### Variational auto-encoder model options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--use_layer_normalization` |Neural networks for which to enable layer normalization. |`string`, default: `"both"` | -|`--use_batch_normalization` |Neural networks for which to enable batch normalization. |`string`, default: `"none"` | -|`--encode_covariates` |Whether to concatenate covariates to expression in encoder |`boolean_false` | -|`--deeply_inject_covariates` |Whether to concatenate covariates into output of hidden layers in encoder/decoder. This option only applies when n_layers > 1. The covariates are concatenated to the input of subsequent hidden layers. |`boolean_true` | -|`--use_observed_lib_size` |Use observed library size for RNA as scaling factor in mean of conditional distribution. |`boolean_true` | - - -### Early stopping arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean` | -|`--early_stopping_monitor` |Metric logged during validation set epoch. |`string`, default: `"elbo_validation"` | -|`--early_stopping_patience` |Number of validation epochs with no improvement after which training will be stopped. |`integer`, default: `45` | -|`--early_stopping_min_delta` |Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |`double`, default: `0` | - - -### Learning parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | -|`--reduce_lr_on_plateau` |Whether to monitor validation loss and reduce learning rate when validation set `lr_scheduler_metric` plateaus. |`boolean`, default: `TRUE` | -|`--lr_factor` |Factor to reduce learning rate. |`double`, default: `0.6` | -|`--lr_patience` |Number of epochs with no improvement after which learning rate will be reduced. |`double`, default: `30` | - - -### Data validition - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_obs_min_count` |Minimum number of cells threshold ensuring that every obs_batch category has sufficient observations (cells) for model training. |`integer`, default: `0` | -|`--n_var_min_count` |Minimum number of genes threshold ensuring that every var_input filter has sufficient observations (genes) for model training. |`integer`, default: `0` | - -## Authors - - - * Malte D. Luecken [{{< fa brands github >}}](https://github.com/LuckyMD) [{{< fa brands orcid >}}](https://orcid.org/0000-0001-7464-7921) [{{< fa brands linkedin >}}](https://linkedin.com/in/malte-l%C3%BCcken-b8b21049) (author) - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - - * Matthias Beyens [{{< fa brands github >}}](https://github.com/MatthiasBeyens) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3304-0706) [{{< fa brands linkedin >}}](https://linkedin.com/in/mbeyens) (contributor) - diff --git a/components/modules/integrate/totalvi.qmd b/components/modules/integrate/totalvi.qmd deleted file mode 100644 index b0c20726..00000000 --- a/components/modules/integrate/totalvi.qmd +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "Totalvi" -namespace: "Integrate" -description: "Performs mapping to the reference by totalvi model: https://docs.scvi-tools.org/en/stable/tutorials/notebooks/scarches_scvi_tools.html#Reference-mapping-with-TOTALVI" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `totalvi` -Namespace: `integrate` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/integrate/totalvi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/integrate/totalvi/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "path/to/file" -reference: # please fill in - example: "path/to/file" -force_retrain: false -query_modality: "rna" -# query_proteins_modality: "foo" -reference_modality: "rna" -reference_proteins_modality: "prot" -# input_layer: "foo" -obs_batch: "sample_id" -# var_input: "foo" - -# Outputs -# output: "$id.$key.output" -obsm_output: "X_integrated_totalvi" -obsm_normalized_rna_output: "X_totalvi_normalized_rna" -obsm_normalized_protein_output: "X_totalvi_normalized_protein" -# reference_model_path: "totalvi_model_reference" -# query_model_path: "totalvi_model_query" - -# Learning parameters -max_epochs: 400 -max_query_epochs: 200 -weight_decay: 0.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/integrate/totalvi/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file with query data to integrate with reference. |`file`, required | -|`--reference` |Input h5mu file with reference data to train the TOTALVI model. |`file`, required | -|`--force_retrain` |If true, retrain the model and save it to reference_model_path |`boolean_true` | -|`--query_modality` | |`string`, default: `"rna"` | -|`--query_proteins_modality` |Name of the modality in the input (query) h5mu file containing protein data |`string` | -|`--reference_modality` | |`string`, default: `"rna"` | -|`--reference_proteins_modality` |Name of the modality containing proteins in the reference |`string`, default: `"prot"` | -|`--input_layer` |Input layer to use. If None, X is used |`string` | -|`--obs_batch` |Column name discriminating between your batches. |`string`, default: `"sample_id"` | -|`--var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_integrated_totalvi"` | -|`--obsm_normalized_rna_output` |In which .obsm slot to store the normalized RNA from TOTALVI. |`string`, default: `"X_totalvi_normalized_rna"` | -|`--obsm_normalized_protein_output` |In which .obsm slot to store the normalized protein data from TOTALVI. |`string`, default: `"X_totalvi_normalized_protein"` | -|`--reference_model_path` |Directory with the reference model. If not exists, trained model will be saved there |`file`, default: `"totalvi_model_reference"` | -|`--query_model_path` |Directory, where the query model will be saved |`file`, default: `"totalvi_model_query"` | - - -### Learning parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--max_epochs` |Number of passes through the dataset |`integer`, default: `400` | -|`--max_query_epochs` |Number of passes through the dataset, when fine-tuning model for query |`integer`, default: `200` | -|`--weight_decay` |Weight decay, when fine-tuning model for query |`double`, default: `0` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) - diff --git a/components/modules/interpret/lianapy.qmd b/components/modules/interpret/lianapy.qmd deleted file mode 100644 index 8e59c39d..00000000 --- a/components/modules/interpret/lianapy.qmd +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Lianapy" -namespace: "Interpret" -description: "Performs LIANA integration based as described in https://github.com/saezlab/liana-py" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `lianapy` -Namespace: `interpret` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/interpret/lianapy/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/interpret/lianapy/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -# output: "$id.$key.output" -output_compression: "gzip" -modality: "rna" -# layer: "foo" -groupby: # please fill in - example: "foo" -resource_name: "consensus" -gene_symbol: "gene_symbol" -expr_prop: 0.1 -min_cells: 5 -aggregate_method: "rra" -return_all_lrs: false -n_perms: 100 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/interpret/lianapy/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required | -|`--output` |Output h5mu file. |`file`, required | -|`--output_compression` | |`string`, default: `"gzip"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` |Layer in anndata.AnnData.layers to use. If None, use mudata.mod[modality].X. |`string` | -|`--groupby` |The key of the observations grouping to consider. |`string`, required | -|`--resource_name` |Name of the resource to be loaded and use for ligand-receptor inference. |`string`, default: `"consensus"` | -|`--gene_symbol` |Column name in var DataFrame in which gene symbol are stored. |`string`, default: `"gene_symbol"` | -|`--expr_prop` |Minimum expression proportion for the ligands/receptors (and their subunits) in the corresponding cell identities. Set to '0', to return unfiltered results. |`double`, default: `0.1` | -|`--min_cells` |Minimum cells per cell identity ('groupby') to be considered for downstream analysis. |`integer`, default: `5` | -|`--aggregate_method` |Method aggregation approach, one of ['mean', 'rra'], where 'mean' represents the mean rank, while 'rra' is the RobustRankAggregate (Kolde et al., 2014) of the interactions. |`string`, default: `"rra"` | -|`--return_all_lrs` |Bool whether to return all LRs, or only those that surpass the 'expr_prop' threshold. Those interactions that do not pass the 'expr_prop' threshold will be assigned to the *worst* score of the ones that do. 'False' by default. |`boolean`, default: `FALSE` | -|`--n_perms` |Number of permutations for the permutation test. Note that this is relevant only for permutation-based methods - e.g. 'CellPhoneDB |`integer`, default: `100` | - -## Authors - - - * Mauro Saporita [{{< fa brands github >}}](https://github.com/mauro-saporita) [{{< fa brands linkedin >}}](https://linkedin.com/in/mauro-saporita-930b06a5) (author) - - * Povilas Gibas [{{< fa brands github >}}](https://github.com/PoGibas) [{{< fa brands linkedin >}}](https://linkedin.com/in/povilas-gibas) (author) - diff --git a/components/modules/labels_transfer/knn.qmd b/components/modules/labels_transfer/knn.qmd deleted file mode 100644 index aa16f0e5..00000000 --- a/components/modules/labels_transfer/knn.qmd +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: "Knn" -namespace: "Labels transfer" -description: "This component performs label transfer from reference to query using a K-Neirest Neighbors classifier" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `knn` -Namespace: `labels_transfer` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/labels_transfer/knn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/labels_transfer/knn/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input dataset (query) arguments -input: # please fill in - example: "path/to/file" -modality: "rna" -# input_obsm_features: "X_scvi" - -# Reference dataset arguments -# reference: "reference.h5mu" -# reference_obsm_features: "X_scvi" -reference_obs_targets: ["ann_level_1", "ann_level_2", "ann_level_3", "ann_level_4", "ann_level_5", "ann_finest_level"] - -# Outputs -# output: "$id.$key.output" -# output_obs_predictions: ["foo"] -# output_obs_probability: ["foo"] -# output_compression: "gzip" - -# Input dataset (query) arguments -# input_obsm_distances: "bbknn_distances" - -# Reference dataset arguments -# reference_obsm_distances: "bbknn_distances" - -# KNN label transfer arguments -weights: "uniform" -n_neighbors: 15 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/labels_transfer/knn/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input dataset (query) arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The query data to transfer the labels to. Should be a .h5mu file. |`file`, required | -|`--modality` |Which modality to use. |`string`, default: `"rna"` | -|`--input_obsm_features` |The `.obsm` key of the embedding to use for the classifier's inference. If not provided, the `.X` slot will be used instead. Make sure that embedding was obtained in the same way as the reference embedding (e.g. by the same model or preprocessing). |`string`, example: `"X_scvi"` | - - -### Reference dataset arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train classifiers on. |`file`, example: `"reference.h5mu"` | -|`--reference_obsm_features` |The `.obsm` key of the embedding to use for the classifier's training. If not provided, the `.X` slot will be used instead. Make sure that embedding was obtained in the same way as the query embedding (e.g. by the same model or preprocessing). |`string`, example: `"X_scvi"` | -|`--reference_obs_targets` |The `.obs` key(s) of the target labels to tranfer. |List of `string`, default: `"ann_level_1", "ann_level_2", "ann_level_3", "ann_level_4", "ann_level_5", "ann_finest_level"`, multiple_sep: `";"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The query data in .h5mu format with predicted labels transfered from the reference. |`file`, required | -|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. If provided, must have the same length as `--reference_obs_targets`. If empty, will default to the `reference_obs_targets` combined with the `"_pred"` suffix. |List of `string`, multiple_sep: `";"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. If provided, must have the same length as `--reference_obs_targets`. If empty, will default to the `reference_obs_targets` combined with the `"_probability"` suffix. |List of `string`, multiple_sep: `";"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - - -### Input dataset (query) arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_obsm_distances` |The `.obsm` key of the input (query) dataset containing pre-calculated distances. If not provided, the distances will be calculated using PyNNDescent. Make sure the distance matrix contains distances relative to the reference dataset and were obtained in the same way as the reference embedding. |`string`, example: `"bbknn_distances"` | - - -### Reference dataset arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference_obsm_distances` |The `.obsm` key of the reference dataset containing pre-calculated distances. If not provided, the distances will be calculated using PyNNDescent. |`string`, example: `"bbknn_distances"` | - - -### KNN label transfer arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--weights` |Weight function used in prediction. Possible values are: - `uniform` - all points in each neighborhood are weighted equally - `distance` - weight points by the inverse of their distance - `gaussian` - weight points by the sum of their Gaussian kernel similarities to each sample |`string`, default: `"uniform"` | -|`--n_neighbors` |The number of neighbors to use in k-neighbor graph structure used for fast approximate nearest neighbor search with PyNNDescent. Larger values will result in more accurate search results at the cost of computation time. |`integer`, default: `15` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/labels_transfer/xgboost.qmd b/components/modules/labels_transfer/xgboost.qmd deleted file mode 100644 index aa4204fb..00000000 --- a/components/modules/labels_transfer/xgboost.qmd +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: "Xgboost" -namespace: "Labels transfer" -description: "Performs label transfer from reference to query using XGBoost classifier" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `xgboost` -Namespace: `labels_transfer` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/labels_transfer/xgboost/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/labels_transfer/xgboost/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input dataset (query) arguments -input: # please fill in - example: "path/to/file" -modality: "rna" -# input_obsm_features: "X_scvi" - -# Reference dataset arguments -# reference: "reference.h5mu" -# reference_obsm_features: "X_scvi" -reference_obs_targets: ["ann_level_1", "ann_level_2", "ann_level_3", "ann_level_4", "ann_level_5", "ann_finest_level"] - -# Outputs -# output: "$id.$key.output" -# output_obs_predictions: ["foo"] -# output_obs_probability: ["foo"] -# output_compression: "gzip" - -# Execution arguments -force_retrain: false -use_gpu: false -verbosity: 1 -# model_output: "model" -output_uns_parameters: "xgboost_parameters" - -# Learning parameters -learning_rate: 0.3 -min_split_loss: 0.0 -max_depth: 6 -min_child_weight: 1 -max_delta_step: 0.0 -subsample: 1.0 -sampling_method: "uniform" -colsample_bytree: 1.0 -colsample_bylevel: 1.0 -colsample_bynode: 1.0 -reg_lambda: 1.0 -reg_alpha: 0.0 -scale_pos_weight: 1.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/labels_transfer/xgboost/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input dataset (query) arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The query data to transfer the labels to. Should be a .h5mu file. |`file`, required | -|`--modality` |Which modality to use. |`string`, default: `"rna"` | -|`--input_obsm_features` |The `.obsm` key of the embedding to use for the classifier's inference. If not provided, the `.X` slot will be used instead. Make sure that embedding was obtained in the same way as the reference embedding (e.g. by the same model or preprocessing). |`string`, example: `"X_scvi"` | - - -### Reference dataset arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train classifiers on. |`file`, example: `"reference.h5mu"` | -|`--reference_obsm_features` |The `.obsm` key of the embedding to use for the classifier's training. If not provided, the `.X` slot will be used instead. Make sure that embedding was obtained in the same way as the query embedding (e.g. by the same model or preprocessing). |`string`, example: `"X_scvi"` | -|`--reference_obs_targets` |The `.obs` key(s) of the target labels to tranfer. |List of `string`, default: `"ann_level_1", "ann_level_2", "ann_level_3", "ann_level_4", "ann_level_5", "ann_finest_level"`, multiple_sep: `";"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The query data in .h5mu format with predicted labels transfered from the reference. |`file`, required | -|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. If provided, must have the same length as `--reference_obs_targets`. If empty, will default to the `reference_obs_targets` combined with the `"_pred"` suffix. |List of `string`, multiple_sep: `";"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. If provided, must have the same length as `--reference_obs_targets`. If empty, will default to the `reference_obs_targets` combined with the `"_probability"` suffix. |List of `string`, multiple_sep: `";"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - - -### Execution arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--force_retrain` |Retrain models on the reference even if model_output directory already has trained classifiers. WARNING! It will rewrite existing classifiers for targets in the model_output directory! |`boolean_true` | -|`--use_gpu` |Use GPU during models training and inference (recommended). |`boolean`, default: `FALSE` | -|`--verbosity` |The verbosity level for evaluation of the classifier from the range [0,2] |`integer`, default: `1` | -|`--model_output` |Output directory for model |`file`, default: `"model"` | -|`--output_uns_parameters` |The key in `uns` slot of the output AnnData object to store the parameters of the XGBoost classifier. |`string`, default: `"xgboost_parameters"` | - - -### Learning parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--learning_rate` |Step size shrinkage used in update to prevents overfitting. Range: [0,1]. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `0.3` | -|`--min_split_loss` |Minimum loss reduction required to make a further partition on a leaf node of the tree. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `0` | -|`--max_depth` |Maximum depth of a tree. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`integer`, default: `6` | -|`--min_child_weight` |Minimum sum of instance weight (hessian) needed in a child. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`integer`, default: `1` | -|`--max_delta_step` |Maximum delta step we allow each leaf output to be. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `0` | -|`--subsample` |Subsample ratio of the training instances. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | -|`--sampling_method` |The method to use to sample the training instances. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`string`, default: `"uniform"` | -|`--colsample_bytree` |Fraction of columns to be subsampled. Range (0, 1]. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | -|`--colsample_bylevel` |Subsample ratio of columns for each level. Range (0, 1]. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | -|`--colsample_bynode` |Subsample ratio of columns for each node (split). Range (0, 1]. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | -|`--reg_lambda` |L2 regularization term on weights. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | -|`--reg_alpha` |L1 regularization term on weights. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `0` | -|`--scale_pos_weight` |Control the balance of positive and negative weights, useful for unbalanced classes. See https://xgboost.readthedocs.io/en/stable/parameter.html#parameters-for-tree-booster for the reference |`double`, default: `1` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/mapping/bd_rhapsody.qmd b/components/modules/mapping/bd_rhapsody.qmd deleted file mode 100644 index 09f9823f..00000000 --- a/components/modules/mapping/bd_rhapsody.qmd +++ /dev/null @@ -1,375 +0,0 @@ ---- -title: "Bd rhapsody" -namespace: "Mapping" -description: "BD Rhapsody Sequence Analysis CWL pipeline v2.2.1 This pipeline performs analysis of single-cell multiomic sequence read (FASTQ) data." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bd_rhapsody` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/bd_rhapsody/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The supported -sequencing libraries are those generated by the BD Rhapsody assay kits, including: Whole Transcriptome -mRNA, Targeted mRNA, AbSeq Antibody-Oligonucleotides, Single-Cell Multiplexing, TCR/BCR, and -ATAC-Seq - -The CWL pipeline file is obtained by cloning 'https://bitbucket.org/CRSwDev/cwl' and removing all objects with class 'DockerRequirement' from the YAML. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/bd_rhapsody/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -# reads: ["WTALibrary_S1_L001_R1_001.fastq.gz", "WTALibrary_S1_L001_R2_001.fastq.gz"] -# reads_atac: ["ATACLibrary_S2_L001_R1_001.fastq.gz", "ATACLibrary_S2_L001_R2_001.fastq.gz", "ATACLibrary_S2_L001_I2_001.fastq.gz"] - -# References -# reference_archive: "RhapRef_Human_WTA_2023-02.tar.gz" -# targeted_reference: ["BD_Rhapsody_Immune_Response_Panel_Hs.fasta"] -# abseq_reference: ["AbSeq_reference.fasta"] -# supplemental_reference: ["supplemental_reference.fasta"] - -# Outputs -# output_dir: "$id.$key.output_dir" -# output_seurat: "$id.$key.output_seurat.rds" -# output_mudata: "$id.$key.output_mudata.h5mu" -# metrics_summary: "$id.$key.metrics_summary.csv" -# pipeline_report: "$id.$key.pipeline_report.html" -# rsec_mols_per_cell: "$id.$key.rsec_mols_per_cell.zip" -# dbec_mols_per_cell: "$id.$key.dbec_mols_per_cell.zip" -# rsec_mols_per_cell_unfiltered: "$id.$key.rsec_mols_per_cell_unfiltered.zip" -# bam: "$id.$key.bam.bam" -# bam_index: "$id.$key.bam_index.bai" -# bioproduct_stats: "$id.$key.bioproduct_stats.csv" -# dimred_tsne: "$id.$key.dimred_tsne.csv" -# dimred_umap: "$id.$key.dimred_umap.csv" -# immune_cell_classification: "$id.$key.immune_cell_classification.csv" - -# Multiplex outputs -# sample_tag_metrics: "$id.$key.sample_tag_metrics.csv" -# sample_tag_calls: "$id.$key.sample_tag_calls.csv" -# sample_tag_counts: ["$id.$key.sample_tag_counts_*.zip"] -# sample_tag_counts_unassigned: "$id.$key.sample_tag_counts_unassigned.zip" - -# VDJ Outputs -# vdj_metrics: "$id.$key.vdj_metrics.csv" -# vdj_per_cell: "$id.$key.vdj_per_cell.csv" -# vdj_per_cell_uncorrected: "$id.$key.vdj_per_cell_uncorrected.csv" -# vdj_dominant_contigs: "$id.$key.vdj_dominant_contigs.csv" -# vdj_unfiltered_contigs: "$id.$key.vdj_unfiltered_contigs.csv" - -# ATAC-Seq outputs -# atac_metrics: "$id.$key.atac_metrics.csv" -# atac_metrics_json: "$id.$key.atac_metrics_json.json" -# atac_fragments: "$id.$key.atac_fragments.gz" -# atac_fragments_index: "$id.$key.atac_fragments_index.tbi" -# atac_transposase_sites: "$id.$key.atac_transposase_sites.gz" -# atac_transposase_sites_index: "$id.$key.atac_transposase_sites_index.tbi" -# atac_peaks: "$id.$key.atac_peaks.gz" -# atac_peaks_index: "$id.$key.atac_peaks_index.tbi" -# atac_peak_annotation: "$id.$key.atac_peak_annotation.gz" -# atac_cell_by_peak: "$id.$key.atac_cell_by_peak.zip" -# atac_cell_by_peak_unfiltered: "$id.$key.atac_cell_by_peak_unfiltered.zip" -# atac_bam: "$id.$key.atac_bam.bam" -# atac_bam_index: "$id.$key.atac_bam_index.bai" - -# AbSeq Cell Calling outputs -# protein_aggregates_experimental: "$id.$key.protein_aggregates_experimental.csv" - -# Putative Cell Calling Settings -# cell_calling_data: "mRNA" -# cell_calling_bioproduct_algorithm: "Basic" -# cell_calling_atac_algorithm: "Basic" -# exact_cell_count: 10000 -# expected_cell_count: 20000 - -# Intronic Reads Settings -# exclude_intronic_reads: false - -# Multiplex Settings -# sample_tags_version: "human" -# tag_names: ["4-mySample", "9-myOtherSample", "6-alsoThisSample"] - -# VDJ arguments -# vdj_version: "human" - -# ATAC options -# predefined_atac_peaks: "predefined_peaks.bed" - -# Additional options -run_name: "sample" -generate_bam: false -# long_reads: true - -# Advanced options -# custom_star_params: "--alignIntronMax 6000 --outFilterScoreMinOverLread 0.1 --limitOutSJcollapsed 2000000" -# custom_bwa_mem2_params: "-k 16 -w 200 -r" - -# CWL-runner arguments -parallel: true -timestamps: false - -# Undocumented arguments -# abseq_umi: 123 -# target_analysis: true -# vdj_jgene_evalue: 123.0 -# vdj_vgene_evalue: 123.0 -# write_filtered_reads: true - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/bd_rhapsody/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reads` |Reads (optional) - Path to your FASTQ.GZ formatted read files from libraries that may include: - WTA mRNA - Targeted mRNA - AbSeq - Sample Multiplexing - VDJ You may specify as many R1/R2 read pairs as you want. |List of `file`, example: `"WTALibrary_S1_L001_R1_001.fastq.gz", "WTALibrary_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reads_atac` |Path to your FASTQ.GZ formatted read files from ATAC-Seq libraries. You may specify as many R1/R2/I2 files as you want. |List of `file`, example: `"ATACLibrary_S2_L001_R1_001.fastq.gz", "ATACLibrary_S2_L001_R2_001.fastq.gz", "ATACLibrary_S2_L001_I2_001.fastq.gz"`, multiple_sep: `";"` | - - -### References - -Assay type will be inferred from the provided reference(s). -Do not provide both reference_archive and targeted_reference at the same time. - -Valid reference input combinations: - - reference_archive: WTA only - - reference_archive & abseq_reference: WTA + AbSeq - - reference_archive & supplemental_reference: WTA + extra transgenes - - reference_archive & abseq_reference & supplemental_reference: WTA + AbSeq + extra transgenes - - reference_archive: WTA + ATAC or ATAC only - - reference_archive & supplemental_reference: WTA + ATAC + extra transgenes - - targeted_reference: Targeted only - - targeted_reference & abseq_reference: Targeted + AbSeq - - abseq_reference: AbSeq only - -The reference_archive can be generated with the bd_rhapsody_make_reference component. -Alternatively, BD also provides standard references which can be downloaded from these locations: - - - Human: https://bd-rhapsody-public.s3.amazonaws.com/Rhapsody-WTA/Pipeline-version2.x_WTA_references/RhapRef_Human_WTA_2023-02.tar.gz - - Mouse: https://bd-rhapsody-public.s3.amazonaws.com/Rhapsody-WTA/Pipeline-version2.x_WTA_references/RhapRef_Mouse_WTA_2023-02.tar.gz - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference_archive` |Path to Rhapsody WTA Reference in the tar.gz format. Structure of the reference archive: - `BD_Rhapsody_Reference_Files/`: top level folder - `star_index/`: sub-folder containing STAR index, that is files created with `STAR --runMode genomeGenerate` - GTF for gene-transcript-annotation e.g. "gencode.v43.primary_assembly.annotation.gtf" |`file`, example: `"RhapRef_Human_WTA_2023-02.tar.gz"` | -|`--targeted_reference` |Path to the targeted reference file in FASTA format. |List of `file`, example: `"BD_Rhapsody_Immune_Response_Panel_Hs.fasta"`, multiple_sep: `";"` | -|`--abseq_reference` |Path to the AbSeq reference file in FASTA format. Only needed if BD AbSeq Ab-Oligos are used. |List of `file`, example: `"AbSeq_reference.fasta"`, multiple_sep: `";"` | -|`--supplemental_reference` |Path to the supplemental reference file in FASTA format. Only needed if there are additional transgene sequences to be aligned against in a WTA assay experiment. |List of `file`, example: `"supplemental_reference.fasta"`, multiple_sep: `";"` | - - -### Outputs - -Outputs for all pipeline runs - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output_dir` |The unprocessed output directory containing all the outputs from the pipeline. |`file`, required, example: `"output_dir"` | -|`--output_seurat` |Single-cell analysis tool inputs. Seurat (.rds) input file containing RSEC molecules data table and all cell annotation metadata. |`file`, example: `"output_seurat.rds"` | -|`--output_mudata` | |`file`, example: `"output_mudata.h5mu"` | -|`--metrics_summary` |Metrics Summary. Report containing sequencing, molecules, and cell metrics. |`file`, example: `"metrics_summary.csv"` | -|`--pipeline_report` |Pipeline Report. Summary report containing the results from the sequencing analysis pipeline run. |`file`, example: `"pipeline_report.html"` | -|`--rsec_mols_per_cell` |Molecules per bioproduct per cell bassed on RSEC |`file`, example: `"RSEC_MolsPerCell_MEX.zip"` | -|`--dbec_mols_per_cell` |Molecules per bioproduct per cell bassed on DBEC. DBEC data table is only output if the experiment includes targeted mRNA or AbSeq bioproducts. |`file`, example: `"DBEC_MolsPerCell_MEX.zip"` | -|`--rsec_mols_per_cell_unfiltered` |Unfiltered tables containing all cell labels with 10 reads. |`file`, example: `"RSEC_MolsPerCell_Unfiltered_MEX.zip"` | -|`--bam` |Alignment file of R2 with associated R1 annotations for Bioproduct. |`file`, example: `"BioProduct.bam"` | -|`--bam_index` |Index file for the alignment file. |`file`, example: `"BioProduct.bam.bai"` | -|`--bioproduct_stats` |Bioproduct Stats. Metrics from RSEC and DBEC Unique Molecular Identifier adjustment algorithms on a per-bioproduct basis. |`file`, example: `"Bioproduct_Stats.csv"` | -|`--dimred_tsne` |t-SNE dimensionality reduction coordinates per cell index |`file`, example: `"tSNE_coordinates.csv"` | -|`--dimred_umap` |UMAP dimensionality reduction coordinates per cell index |`file`, example: `"UMAP_coordinates.csv"` | -|`--immune_cell_classification` |Immune Cell Classification. Cell type classification based on the expression of immune cell markers. |`file`, example: `"Immune_Cell_Classification.csv"` | - - -### Multiplex outputs - -Outputs when multiplex option is selected - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sample_tag_metrics` |Sample Tag Metrics. Metrics from the sample determination algorithm. |`file`, example: `"Sample_Tag_Metrics.csv"` | -|`--sample_tag_calls` |Sample Tag Calls. Assigned Sample Tag for each putative cell |`file`, example: `"Sample_Tag_Calls.csv"` | -|`--sample_tag_counts` |Sample Tag Counts. Separate data tables and metric summary for cells assigned to each sample tag. Note: For putative cells that could not be assigned a specific Sample Tag, a Multiplet_and_Undetermined.zip file is also output. |List of `file`, example: `"Sample_Tag1.zip"`, multiple_sep: `";"` | -|`--sample_tag_counts_unassigned` |Sample Tag Counts Unassigned. Data table and metric summary for cells that could not be assigned a specific Sample Tag. |`file`, example: `"Multiplet_and_Undetermined.zip"` | - - -### VDJ Outputs - -Outputs when VDJ option selected - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--vdj_metrics` |VDJ Metrics. Overall metrics from the VDJ analysis. |`file`, example: `"VDJ_Metrics.csv"` | -|`--vdj_per_cell` |VDJ Per Cell. Cell specific read and molecule counts, VDJ gene segments, CDR3 sequences, paired chains, and cell type. |`file`, example: `"VDJ_perCell.csv"` | -|`--vdj_per_cell_uncorrected` |VDJ Per Cell Uncorrected. Cell specific read and molecule counts, VDJ gene segments, CDR3 sequences, paired chains, and cell type. |`file`, example: `"VDJ_perCell_uncorrected.csv"` | -|`--vdj_dominant_contigs` |VDJ Dominant Contigs. Dominant contig for each cell label chain type combination (putative cells only). |`file`, example: `"VDJ_Dominant_Contigs_AIRR.csv"` | -|`--vdj_unfiltered_contigs` |VDJ Unfiltered Contigs. All contigs that were assembled and annotated successfully (all cells). |`file`, example: `"VDJ_Unfiltered_Contigs_AIRR.csv"` | - - -### ATAC-Seq outputs - -Outputs when ATAC-Seq option selected - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--atac_metrics` |ATAC Metrics. Overall metrics from the ATAC-Seq analysis. |`file`, example: `"ATAC_Metrics.csv"` | -|`--atac_metrics_json` |ATAC Metrics JSON. Overall metrics from the ATAC-Seq analysis in JSON format. |`file`, example: `"ATAC_Metrics.json"` | -|`--atac_fragments` |ATAC Fragments. Chromosomal location, cell index, and read support for each fragment detected |`file`, example: `"ATAC_Fragments.bed.gz"` | -|`--atac_fragments_index` |Index of ATAC Fragments. |`file`, example: `"ATAC_Fragments.bed.gz.tbi"` | -|`--atac_transposase_sites` |ATAC Transposase Sites. Chromosomal location, cell index, and read support for each transposase site detected |`file`, example: `"ATAC_Transposase_Sites.bed.gz"` | -|`--atac_transposase_sites_index` |Index of ATAC Transposase Sites. |`file`, example: `"ATAC_Transposase_Sites.bed.gz.tbi"` | -|`--atac_peaks` |ATAC Peaks. Peak regions of transposase activity |`file`, example: `"ATAC_Peaks.bed.gz"` | -|`--atac_peaks_index` |Index of ATAC Peaks. |`file`, example: `"ATAC_Peaks.bed.gz.tbi"` | -|`--atac_peak_annotation` |ATAC Peak Annotation. Estimated annotation of peak-to-gene connections |`file`, example: `"peak_annotation.tsv.gz"` | -|`--atac_cell_by_peak` |ATAC Cell by Peak. Peak regions of transposase activity per cell |`file`, example: `"ATAC_Cell_by_Peak_MEX.zip"` | -|`--atac_cell_by_peak_unfiltered` |ATAC Cell by Peak Unfiltered. Unfiltered file containing all cell labels with >=1 transposase sites in peaks. |`file`, example: `"ATAC_Cell_by_Peak_Unfiltered_MEX.zip"` | -|`--atac_bam` |ATAC BAM. Alignment file for R1 and R2 with associated I2 annotations for ATAC-Seq. Only output if the BAM generation flag is set to true. |`file`, example: `"ATAC.bam"` | -|`--atac_bam_index` |Index of ATAC BAM. |`file`, example: `"ATAC.bam.bai"` | - - -### AbSeq Cell Calling outputs - -Outputs when Cell Calling Abseq is selected - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--protein_aggregates_experimental` |Protein Aggregates Experimental |`file`, example: `"Protein_Aggregates_Experimental.csv"` | - - -### Putative Cell Calling Settings - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cell_calling_data` |Specify the dataset to be used for putative cell calling: mRNA, AbSeq, ATAC, mRNA_and_ATAC For putative cell calling using an AbSeq dataset, please provide an AbSeq_Reference fasta file above. For putative cell calling using an ATAC dataset, please provide a WTA+ATAC-Seq Reference_Archive file above. The default data for putative cell calling, will be determined the following way: - If mRNA Reads and ATAC Reads exist: mRNA_and_ATAC - If only ATAC Reads exist: ATAC - Otherwise: mRNA |`string`, example: `"mRNA"` | -|`--cell_calling_bioproduct_algorithm` |Specify the bioproduct algorithm to be used for putative cell calling: Basic or Refined By default, the Basic algorithm will be used for putative cell calling. |`string`, example: `"Basic"` | -|`--cell_calling_atac_algorithm` |Specify the ATAC-seq algorithm to be used for putative cell calling: Basic or Refined By default, the Basic algorithm will be used for putative cell calling. |`string`, example: `"Basic"` | -|`--exact_cell_count` |Set a specific number of cells as putative, based on those with the highest error-corrected read count |`integer`, example: `10000` | -|`--expected_cell_count` |Guide the basic putative cell calling algorithm by providing an estimate of the number of cells expected. Usually this can be the number of cells loaded into the Rhapsody cartridge. If there are multiple inflection points on the second derivative cumulative curve, this will ensure the one selected is near the expected. |`integer`, example: `20000` | - - -### Intronic Reads Settings - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--exclude_intronic_reads` |By default, the flag is false, and reads aligned to exons and introns are considered and represented in molecule counts. When the flag is set to true, intronic reads will be excluded. The value can be true or false. |`boolean`, example: `FALSE` | - - -### Multiplex Settings - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sample_tags_version` |Specify the version of the Sample Tags used in the run: * If Sample Tag Multiplexing was done, specify the appropriate version: human, mouse, flex, nuclei_includes_mrna, nuclei_atac_only * If this is an SMK + Nuclei mRNA run or an SMK + Multiomic ATAC-Seq (WTA+ATAC-Seq) run (and not an SMK + ATAC-Seq only run), choose the "nuclei_includes_mrna" option. * If this is an SMK + ATAC-Seq only run (and not SMK + Multiomic ATAC-Seq (WTA+ATAC-Seq)), choose the "nuclei_atac_only" option. |`string`, example: `"human"` | -|`--tag_names` |Specify the tag number followed by '-' and the desired sample name to appear in Sample_Tag_Metrics.csv Do not use the special characters. |List of `string`, example: `"4-mySample", "9-myOtherSample", "6-alsoThisSample"`, multiple_sep: `";"` | - - -### VDJ arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--vdj_version` |If VDJ was done, specify the appropriate option: human, mouse, humanBCR, humanTCR, mouseBCR, mouseTCR |`string`, example: `"human"` | - - -### ATAC options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--predefined_atac_peaks` |An optional BED file containing pre-established chromatin accessibility peak regions for generating the ATAC cell-by-peak matrix. |`file`, example: `"predefined_peaks.bed"` | - - -### Additional options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--run_name` |Specify a run name to use as the output file base name. Use only letters, numbers, or hyphens. Do not use special characters or spaces. |`string`, default: `"sample"` | -|`--generate_bam` |Specify whether to create the BAM file output |`boolean`, default: `FALSE` | -|`--long_reads` |Use STARlong (default: undefined - i.e. autodetects based on read lengths) - Specify if the STARlong aligner should be used instead of STAR. Set to true if the reads are longer than 650bp. |`boolean` | - - -### Advanced options - -NOTE: Only change these if you are really sure about what you are doing - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--custom_star_params` |Modify STAR alignment parameters - Set this parameter to fully override default STAR mapping parameters used in the pipeline. For reference this is the default that is used: Short Reads: `--outFilterScoreMinOverLread 0 --outFilterMatchNminOverLread 0 --outFilterMultimapScoreRange 0 --clip3pAdapterSeq AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --seedSearchStartLmax 50 --outFilterMatchNmin 25 --limitOutSJcollapsed 2000000` Long Reads: Same as Short Reads + `--seedPerReadNmax 10000` This applies to fastqs provided in the Reads user input Do NOT set any non-mapping related params like `--genomeDir`, `--outSAMtype`, `--outSAMunmapped`, `--readFilesIn`, `--runThreadN`, etc. We use STAR version 2.7.10b |`string`, example: `"--alignIntronMax 6000 --outFilterScoreMinOverLread 0.1 --limitOutSJcollapsed 2000000"` | -|`--custom_bwa_mem2_params` |Modify bwa-mem2 alignment parameters - Set this parameter to fully override bwa-mem2 mapping parameters used in the pipeline The pipeline does not specify any custom mapping params to bwa-mem2 so program default values are used This applies to fastqs provided in the Reads_ATAC user input Do NOT set any non-mapping related params like `-C`, `-t`, etc. We use bwa-mem2 version 2.2.1 |`string`, example: `"-k 16 -w 200 -r"` | - - -### CWL-runner arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--parallel` |Run jobs in parallel. |`boolean`, default: `TRUE` | -|`--timestamps` |Add timestamps to the errors, warnings, and notifications. |`boolean_true` | - - -### Undocumented arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--abseq_umi` | |`integer` | -|`--target_analysis` | |`boolean` | -|`--vdj_jgene_evalue` |e-value threshold for J gene. The e-value threshold for J gene call by IgBlast/PyIR, default is set as 0.001 |`double` | -|`--vdj_vgene_evalue` |e-value threshold for V gene. The e-value threshold for V gene call by IgBlast/PyIR, default is set as 0.001 |`double` | -|`--write_filtered_reads` | |`boolean` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/mapping/cellranger_atac_count.qmd b/components/modules/mapping/cellranger_atac_count.qmd deleted file mode 100644 index 6a72740d..00000000 --- a/components/modules/mapping/cellranger_atac_count.qmd +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Cellranger atac count" -namespace: "Mapping" -description: "Align fastq files using Cell Ranger ATAC count." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_atac_count` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/cellranger_atac_count/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/cellranger_atac_count/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: ["sample_S1_L001_R1_001.fastq.gz", "sample_S1_L001_R2_001.fastq.gz"] -reference: # please fill in - example: "reference.tar.gz" - -# Outputs -# output: "$id.$key.output" - -# Arguments -description: "" -# force_cells: 123 -# peaks: "path/to/file" -dim_reduce: "lsa" -# subsample_rate: 0.1 -# lanes: ["1,3"] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/cellranger_atac_count/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The fastq.gz files to align. Can also be a single directory containing fastq.gz files. |List of `file`, required, example: `"sample_S1_L001_R1_001.fastq.gz", "sample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reference` |The path to Cell Ranger reference tar.gz file. Can also be a directory. |`file`, required, example: `"reference.tar.gz"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The folder to store the alignment results. |`file`, required, example: `"/path/to/output"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--description` |Sample description to embed in output files |`string`, default: `""` | -|`--force_cells` |Define the top N barcodes with the most fragments overlapping peaks as cells and override the cell calling algorithm. N must be a positive integer <= 20,000. Use this option if the number of cells estimated by Cell Ranger ATAC is not consistent with the barcode rank plot |`integer` | -|`--peaks` |Override peak caller: specify peaks to use in downstream analyses from supplied 3-column BED file. The supplied peaks file must be sorted by position and not contain overlapping peaks; comment lines beginning with # are allowed |`file` | -|`--dim_reduce` |Dimensionality reduction mode for clustering |`string`, default: `"lsa"` | -|`--subsample_rate` |Downsample to preserve this fraction of reads |`double`, example: `0.1` | -|`--lanes` |bcl2fastq option. Semicolon-delimited series of lanes to demultiplex. Use this if you have a sample sheet for an entire flow cell but only want to generate a few lanes for further 10x Genomics analysis. |List of `string`, example: `"1,3"`, multiple_sep: `";"` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/mapping/cellranger_count.qmd b/components/modules/mapping/cellranger_count.qmd deleted file mode 100644 index 3ac36ff5..00000000 --- a/components/modules/mapping/cellranger_count.qmd +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: "Cellranger count" -namespace: "Mapping" -description: "Align fastq files using Cell Ranger count." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_count` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/cellranger_count/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/cellranger_count/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: ["sample_S1_L001_R1_001.fastq.gz", "sample_S1_L001_R2_001.fastq.gz"] -reference: # please fill in - example: "reference.tar.gz" - -# Outputs -# output: "$id.$key.output" - -# Arguments -# expect_cells: 3000 -# force_cells: 3000 -chemistry: "auto" -secondary_analysis: false -generate_bam: true -include_introns: true -# r1_length: 123 -# r2_length: 123 -# lanes: [1, 2, 3] -library_compatibility_check: true -# min_crispr_umi: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/cellranger_count/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The fastq.gz files to align. Can also be a single directory containing fastq.gz files. |List of `file`, required, example: `"sample_S1_L001_R1_001.fastq.gz", "sample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reference` |The path to Cell Ranger reference tar.gz file. Can also be a directory. |`file`, required, example: `"reference.tar.gz"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The folder to store the alignment results. |`file`, required, example: `"/path/to/output"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--expect_cells` |Expected number of recovered cells, used as input to cell calling algorithm. |`integer`, example: `3000` | -|`--force_cells` |Force pipeline to use this number of cells, bypassing cell calling algorithm. |`integer`, example: `3000` | -|`--chemistry` |Assay configuration. - auto: autodetect mode - threeprime: Single Cell 3' - fiveprime: Single Cell 5' - SC3Pv1: Single Cell 3' v1 NOTE: this mode cannot be auto-detected. It must be set explicitly with this option. - SC3Pv2: Single Cell 3' v2 - SC3Pv3: Single Cell 3' v3 - SC3Pv4: Single Cell 3' v4 - SC3Pv3LT: Single Cell 3' v3 LT - SC3Pv3HT: Single Cell 3' v3 HT - SC5P-PE-v3: Single Cell 5' paired-end v3 (GEM-X) - SC5P-PE: Single Cell 5' paired-end - SC5P-R2: Single Cell 5' R2-only - SC-FB: Single Cell Antibody-only 3' v2 or 5' - ARC-v1: for analyzing the Gene Expression portion of Multiome data. NOTE: when the pipeline auto-detects ARC-v1 chemistry, an error is triggered. See https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry- for more information. |`string`, default: `"auto"` | -|`--secondary_analysis` |Whether or not to run the secondary analysis e.g. clustering. |`boolean`, default: `FALSE` | -|`--generate_bam` |Whether to generate a BAM file. |`boolean`, default: `TRUE` | -|`--include_introns` |Include intronic reads in count. |`boolean`, default: `TRUE` | -|`--r1_length` |Hard trim the input Read 1 to this length before analysis |`integer` | -|`--r2_length` |Hard trim the input Read 2 to this length before analysis |`integer` | -|`--lanes` |Only use FASTQs from selected lanes. |List of `integer`, example: `1, 2, 3`, multiple_sep: `";"` | -|`--library_compatibility_check` |Whether to check for barcode compatibility between libraries. |`boolean`, default: `TRUE` | -|`--min_crispr_umi` |Set the minimum number of CRISPR guide RNA UMIs required for protospacer detection. If a lower or higher sensitivity is desired for detection, this value can be customized according to specific experimental needs. Applicable only to datasets that include a CRISPR Guide Capture library. |`integer` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Samuel D'Souza [{{< fa brands github >}}](https://github.com/srdsam) [{{< fa brands linkedin >}}](https://linkedin.com/in/samuel-d-souza-887023150/) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/mapping/cellranger_count_split.qmd b/components/modules/mapping/cellranger_count_split.qmd deleted file mode 100644 index 5c8d4e25..00000000 --- a/components/modules/mapping/cellranger_count_split.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Cellranger count split" -namespace: "Mapping" -description: "Split 10x Cell Ranger output directory into separate output fields." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_count_split` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/cellranger_count_split/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/cellranger_count_split/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input_dir" -# filtered_h5: "$id.$key.filtered_h5.h5" -# metrics_summary: "$id.$key.metrics_summary.csv" -# molecule_info: "$id.$key.molecule_info.h5" -# bam: "$id.$key.bam.bam" -# bai: "$id.$key.bai.bai" -# raw_h5: "$id.$key.raw_h5.h5" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/cellranger_count_split/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Output directory from a Cell Ranger count run. |`file`, required, example: `"input_dir"` | -|`--filtered_h5` | |`file`, example: `"filtered_feature_bc_matrix.h5"` | -|`--metrics_summary` | |`file`, example: `"metrics_summary.csv"` | -|`--molecule_info` | |`file`, example: `"molecule_info.h5"` | -|`--bam` | |`file`, example: `"possorted_genome_bam.bam"` | -|`--bai` | |`file`, example: `"possorted_genome_bam.bam.bai"` | -|`--raw_h5` | |`file`, example: `"raw_feature_bc_matrix.h5"` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Samuel D'Souza [{{< fa brands github >}}](https://github.com/srdsam) [{{< fa brands linkedin >}}](https://linkedin.com/in/samuel-d-souza-887023150/) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/mapping/cellranger_multi.qmd b/components/modules/mapping/cellranger_multi.qmd deleted file mode 100644 index f25a40bc..00000000 --- a/components/modules/mapping/cellranger_multi.qmd +++ /dev/null @@ -1,293 +0,0 @@ ---- -title: "Cellranger multi" -namespace: "Mapping" -description: "Align fastq files using Cell Ranger multi." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_multi` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/cellranger_multi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/cellranger_multi/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input files -# input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] - -# Feature type-specific input files -# gex_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# abc_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# cgc_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# mux_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# vdj_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# vdj_t_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# vdj_t_gd_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# vdj_b_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -# agc_input: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] - -# Library arguments -# library_id: ["mysample1"] -# library_type: ["Gene Expression"] -# library_subsample: ["0.5"] -# library_lanes: ["1-4"] -# library_chemistry: "foo" - -# Sample parameters -# sample_ids: ["foo"] -# sample_description: ["foo"] -# sample_expect_cells: [3000] -# sample_force_cells: [3000] - -# Feature Barcode library specific arguments -# feature_reference: "feature_reference.csv" -# feature_r1_length: 123 -# feature_r2_length: 123 -# min_crispr_umi: 123 - -# Gene expression arguments -gex_reference: # please fill in - example: "reference_genome.tar.gz" -gex_secondary_analysis: false -gex_generate_bam: false -# gex_expect_cells: 3000 -# gex_force_cells: 3000 -gex_include_introns: true -# gex_r1_length: 123 -# gex_r2_length: 123 -gex_chemistry: "auto" - -# VDJ related parameters -# vdj_reference: "reference_vdj.tar.gz" -# vdj_inner_enrichment_primers: "enrichment_primers.txt" -# vdj_r1_length: 123 -# vdj_r2_length: 123 - -# Cell multiplexing parameters -# cell_multiplex_oligo_ids: ["foo"] -# min_assignment_confidence: 123.0 -# cmo_set: "path/to/file" -# barcode_sample_assignment: "path/to/file" - -# Fixed RNA profiling paramaters -# probe_set: "path/to/file" -# filter_probes: true -# probe_barcode_ids: ["foo"] - -# Antigen Capture (BEAM) libary arguments -# control_id: ["foo"] -# mhc_allele: ["foo"] - -# General arguments -check_library_compatibility: true - -# Outputs -# output: "$id.$key.output" - -# Executor arguments -dryrun: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/cellranger_multi/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input files - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The FASTQ files to be analyzed. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | - - -### Feature type-specific input files - -Helper functionality to allow feature type-specific input files, without the need to specify -library_type or library_id. The library_id will be inferred from the input paths. - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--gex_input` |The FASTQ files to be analyzed for Gene Expression. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--abc_input` |The FASTQ files to be analyzed for Antibody Capture. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--cgc_input` |The FASTQ files to be analyzed for CRISPR Guide Capture. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--mux_input` |The FASTQ files to be analyzed for Multiplexing Capture. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--vdj_input` |The FASTQ files to be analyzed for VDJ. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--vdj_t_input` |The FASTQ files to be analyzed for VDJ-T. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--vdj_t_gd_input` |The FASTQ files to be analyzed for VDJ-T-GD. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--vdj_b_input` |The FASTQ files to be analyzed for VDJ-B. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--agc_input` |The FASTQ files to be analyzed for Antigen Capture. FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq: `[Sample Name]_S[Sample Index]_L00[Lane Number]_[Read Type]_001.fastq.gz` |List of `file`, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | - - -### Library arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--library_id` |The Illumina sample name to analyze. This must exactly match the 'Sample Name'part of the FASTQ files specified in the `--input` argument. |List of `string`, example: `"mysample1"`, multiple_sep: `";"` | -|`--library_type` |The underlying feature type of the library. |List of `string`, example: `"Gene Expression"`, multiple_sep: `";"` | -|`--library_subsample` |The rate at which reads from the provided FASTQ files are sampled. Must be strictly greater than 0 and less than or equal to 1. |List of `string`, example: `"0.5"`, multiple_sep: `";"` | -|`--library_lanes` |Lanes associated with this sample. Defaults to using all lanes. |List of `string`, example: `"1-4"`, multiple_sep: `";"` | -|`--library_chemistry` |Only applicable to FRP. Library-specific assay configuration. By default, the assay configuration is detected automatically. Typically, users will not need to specify a chemistry. |`string` | - - -### Sample parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sample_ids` |A name to identify a multiplexed sample. Must be alphanumeric with hyphens and/or underscores, and less than 64 characters. Required for Cell Multiplexing libraries. |List of `string`, multiple_sep: `";"` | -|`--sample_description` |A description for the sample. |List of `string`, multiple_sep: `";"` | -|`--sample_expect_cells` |Expected number of recovered cells, used as input to cell calling algorithm. |List of `integer`, example: `3000`, multiple_sep: `";"` | -|`--sample_force_cells` |Force pipeline to use this number of cells, bypassing cell detection. |List of `integer`, example: `3000`, multiple_sep: `";"` | - - -### Feature Barcode library specific arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--feature_reference` |Path to the Feature reference CSV file, declaring Feature Barcode constructs and associated barcodes. Required only for Antibody Capture or CRISPR Guide Capture libraries. See https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/feature-bc-analysis#feature-ref for more information." |`file`, example: `"feature_reference.csv"` | -|`--feature_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | -|`--feature_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores. |`integer` | -|`--min_crispr_umi` |Set the minimum number of CRISPR guide RNA UMIs required for protospacer detection. If a lower or higher sensitivity is desired for detection, this value can be customized according to specific experimental needs. Applicable only to datasets that include a CRISPR Guide Capture library. |`integer` | - - -### Gene expression arguments - -Arguments relevant to the analysis of gene expression data. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--gex_reference` |Genome refence index built by Cell Ranger mkref. |`file`, required, example: `"reference_genome.tar.gz"` | -|`--gex_secondary_analysis` |Whether or not to run the secondary analysis e.g. clustering. |`boolean`, default: `FALSE` | -|`--gex_generate_bam` |Whether to generate a BAM file. |`boolean`, default: `FALSE` | -|`--gex_expect_cells` |Expected number of recovered cells, used as input to cell calling algorithm. |`integer`, example: `3000` | -|`--gex_force_cells` |Force pipeline to use this number of cells, bypassing cell detection. |`integer`, example: `3000` | -|`--gex_include_introns` |Whether or not to include intronic reads in counts. This option does not apply to Fixed RNA Profiling analysis. |`boolean`, default: `TRUE` | -|`--gex_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | -|`--gex_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores. |`integer` | -|`--gex_chemistry` |Assay configuration. Either specify a single value which will be applied to all libraries, or a number of values that is equal to the number of libararies. The latter is only applicable to only applicable to Fixed RNA Profiling. - auto: Chemistry autodetection (default) - threeprime: Single Cell 3' - SC3Pv1, SC3Pv2, SC3Pv3, SC3Pv4: Single Cell 3' v1, v2, v3, or v4 - SC3Pv3HT: Single Cell 3' v3.1 HT - SC-FB: Single Cell Antibody-only 3' v2 or 5' - fiveprime: Single Cell 5' - SC5P-PE: Paired-end Single Cell 5' - SC5P-R2: R2-only Single Cell 5' - SC5P-R2-v3: R2-only Single Cell 5' v3 - SCP5-PE-v3: Single Cell 5' paired-end v3 (GEM-X) - SC5PHT : Single Cell 5' v2 HT - SFRP: Fixed RNA Profiling (Singleplex) - MFRP: Fixed RNA Profiling (Multiplex, Probe Barcode on R2) - MFRP-R1: Fixed RNA Profiling (Multiplex, Probe Barcode on R1) - MFRP-RNA: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R2) - MFRP-Ab: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:69) - MFRP-Ab-R2pos50: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:50) - MFRP-RNA-R1: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R1) - MFRP-Ab-R1: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode on R1) - ARC-v1 for analyzing the Gene Expression portion of Multiome data. If Cell Ranger auto-detects ARC-v1 chemistry, an error is triggered. See https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry- for more information. |`string`, default: `"auto"` | - - -### VDJ related parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--vdj_reference` |VDJ refence index built by Cell Ranger mkref. |`file`, example: `"reference_vdj.tar.gz"` | -|`--vdj_inner_enrichment_primers` |V(D)J Immune Profiling libraries: if inner enrichment primers other than those provided in the 10x Genomics kits are used, they need to be specified here as a text file with one primer per line. |`file`, example: `"enrichment_primers.txt"` | -|`--vdj_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | -|`--vdj_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores |`integer` | - - -### Cell multiplexing parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cell_multiplex_oligo_ids` |The Cell Multiplexing oligo IDs used to multiplex this sample. If multiple CMOs were used for a sample, separate IDs with a pipe (e.g., CMO301|CMO302). Required for Cell Multiplexing libraries. |List of `string`, multiple_sep: `";"` | -|`--min_assignment_confidence` |The minimum estimated likelihood to call a sample as tagged with a Cell Multiplexing Oligo (CMO) instead of "Unassigned". Users may wish to tolerate a higher rate of mis-assignment in order to obtain more singlets to include in their analysis, or a lower rate of mis-assignment at the cost of obtaining fewer singlets. |`double` | -|`--cmo_set` |Path to a custom CMO set CSV file, declaring CMO constructs and associated barcodes. If the default CMO reference IDs that are built into the Cell Ranger software are required, this option does not need to be used. |`file` | -|`--barcode_sample_assignment` |Path to a barcode-sample assignment CSV file that specifies the barcodes that belong to each sample. |`file` | - - -### Fixed RNA profiling paramaters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--probe_set` |A probe set reference CSV file. It specifies the sequences used as a reference for probe alignment and the gene ID associated with each probe. It must include 4 columns (probe file format 1.0.0): gene_id,probe_seq,probe_id,included,region and an optional 5th column (probe file format 1.0.1). - gene_id: The Ensembl gene identifier targeted by the probe. - probe_seq: The nucleotide sequence of the probe, which is complementary to the transcript sequence. - probe_id: The probe identifier, whose format is described in Probe identifiers. - included: A TRUE or FALSE flag specifying whether the probe is included in the filtered counts matrix output or excluded by the probe filter. See filter-probes option of cellranger multi. All probes of a gene must be marked TRUE in the included column for that gene to be included. - region: Present only in v1.0.1 probe set reference CSV. The gene boundary targeted by the probe. Accepted values are spliced or unspliced. The file also contains a number of required metadata fields in the header in the format #key=value: - panel_name: The name of the probe set. - panel_type: Always predesigned for predesigned probe sets. - reference_genome: The reference genome build used for probe design. - reference_version: The version of the Cell Ranger reference transcriptome used for probe design. - probe_set_file_format: The version of the probe set file format specification that this file conforms to. |`file` | -|`--filter_probes` |If 'false', include all non-deprecated probes listed in the probe set reference CSV file. If 'true' or not set, probes that are predicted to have off-target activity to homologous genes are excluded from analysis. Not filtering will result in UMI counts from all non-deprecated probes, including those with predicted off-target activity, to be used in the analysis. Probes whose ID is prefixed with DEPRECATED are always excluded from the analysis. |`boolean` | -|`--probe_barcode_ids` |The Fixed RNA Probe Barcode ID used for this sample, and for multiplex GEX + Antibody Capture libraries, the corresponding Antibody Multiplexing Barcode IDs. 10x recommends specifying both barcodes (e.g., BC001+AB001) when an Antibody Capture library is present. The barcode pair order is BC+AB and they are separated with a "+" (no spaces). Alternatively, you can specify the Probe Barcode ID alone and Cell Ranger's barcode pairing auto-detection algorithm will automatically match to the corresponding Antibody Multiplexing Barcode. |List of `string`, multiple_sep: `";"` | - - -### Antigen Capture (BEAM) libary arguments - -These arguments are recommended if an Antigen Capture (BEAM) library is present. -It is needed to calculate the antigen specificity score. - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--control_id` |A user-defined ID for any negative controls used in the T/BCR Antigen Capture assay. Must match id specified in the feature reference CSV. May only include ASCII characters and must not use whitespace, slash, quote, or comma characters. Each ID must be unique and must not collide with a gene identifier from the transcriptome. |List of `string`, multiple_sep: `";"` | -|`--mhc_allele` |The MHC allele for TCR Antigen Capture libraries. Must match mhc_allele name specified in the Feature Reference CSV. |List of `string`, multiple_sep: `";"` | - - -### General arguments - -These arguments are applicable to all library types. - - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--check_library_compatibility` |Optional. This option allows users to disable the check that evaluates 10x Barcode overlap between ibraries when multiple libraries are specified (e.g., Gene Expression + Antibody Capture). Setting this option to false will disable the check across all library combinations. We recommend running this check (default), however if the pipeline errors out, users can bypass the check to generate outputs for troubleshooting. |`boolean`, default: `TRUE` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The folder to store the alignment results. |`file`, required, example: `"/path/to/output"` | - - -### Executor arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--dryrun` |If true, the output directory will only contain the CWL input files, but the pipeline itself will not be executed. |`boolean_true` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (author) - - * Weiwei Schultz (contributor) - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author) - diff --git a/components/modules/mapping/htseq_count.qmd b/components/modules/mapping/htseq_count.qmd deleted file mode 100644 index f090db68..00000000 --- a/components/modules/mapping/htseq_count.qmd +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: "Htseq count" -namespace: "Mapping" -description: "Quantify gene expression for subsequent testing for differential expression." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `htseq_count` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/htseq_count/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -This script takes one or more alignment files in SAM/BAM format and a feature file in GFF format and calculates for each feature the number of reads mapping to it. - -See http://htseq.readthedocs.io/en/master/count.html for details. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/htseq_count/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -input: # please fill in - example: ["mysample1.BAM", "mysample2.BAM"] -reference: # please fill in - example: "reference.gtf" - -# Output -# output: "$id.$key.output.tsv" -# output_delimiter: " " -# output_sam: ["$id.$key.output_sam_*.BAM"] -# output_sam_format: "foo" - -# Arguments -order: "name" -stranded: "yes" -minimum_alignment_quality: 10 -# type: "exon" -# id_attribute: ["gene_id"] -# additional_attributes: ["gene_name"] -add_chromosome_info: false -mode: "union" -non_unique: "none" -# secondary_alignments: "foo" -# supplementary_alignments: "foo" -counts_output_sparse: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/htseq_count/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the SAM/BAM files containing the mapped reads. |List of `file`, required, example: `"mysample1.BAM", "mysample2.BAM"`, multiple_sep: `";"` | -|`--reference` |Path to the GTF file containing the features. |`file`, required, example: `"reference.gtf"` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Filename to output the counts to. |`file`, required, example: `"htseq-count.tsv"` | -|`--output_delimiter` |Column delimiter in output. |`string`, example: `" "` | -|`--output_sam` |Write out all SAM alignment records into SAM/BAM files (one per input file needed), annotating each line with its feature assignment (as an optional field with tag 'XF'). See the -p option to use BAM instead of SAM. |List of `file`, example: `"mysample1_out.BAM", "mysample2_out.BAM"`, multiple_sep: `";"` | -|`--output_sam_format` |Format to use with the --output_sam argument. |`string` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--order` |Sorting order of . Paired-end sequencing data must be sorted either by position or by read name, and the sorting order must be specified. Ignored for single-end data. |`string`, default: `"name"` | -|`--stranded` |Whether the data is from a strand-specific assay. 'reverse' means 'yes' with reversed strand interpretation. |`string`, default: `"yes"` | -|`--minimum_alignment_quality` |Skip all reads with MAPQ alignment quality lower than the given minimum value. MAPQ is the 5th column of a SAM/BAM file and its usage depends on the software used to map the reads. |`integer`, default: `10` | -|`--type` |Feature type (3rd column in GTF file) to be used, all features of other type are ignored (default, suitable for Ensembl GTF files: exon) |`string`, example: `"exon"` | -|`--id_attribute` |GTF attribute to be used as feature ID (default, suitable for Ensembl GTF files: gene_id). All feature of the right type (see -t option) within the same GTF attribute will be added together. The typical way of using this option is to count all exonic reads from each gene and add the exons but other uses are possible as well. You can call this option multiple times: in that case, the combination of all attributes separated by colons (:) will be used as a unique identifier, e.g. for exons you might use -i gene_id -i exon_number. |List of `string`, example: `"gene_id"`, multiple_sep: `";"` | -|`--additional_attributes` |Additional feature attributes (suitable for Ensembl GTF files: gene_name). Use multiple times for more than one additional attribute. These attributes are only used as annotations in the output, while the determination of how the counts are added together is done based on option -i. |List of `string`, example: `"gene_name"`, multiple_sep: `";"` | -|`--add_chromosome_info` |Store information about the chromosome of each feature as an additional attribute (e.g. colunm in the TSV output file). |`boolean_true` | -|`--mode` |Mode to handle reads overlapping more than one feature. |`string`, default: `"union"` | -|`--non_unique` |Whether and how to score reads that are not uniquely aligned or ambiguously assigned to features. |`string`, default: `"none"` | -|`--secondary_alignments` |Whether to score secondary alignments (0x100 flag). |`string` | -|`--supplementary_alignments` |Whether to score supplementary alignments (0x800 flag). |`string` | -|`--counts_output_sparse` |Store the counts as a sparse matrix (mtx, h5ad, loom). |`boolean_true` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - diff --git a/components/modules/mapping/htseq_count_to_h5mu.qmd b/components/modules/mapping/htseq_count_to_h5mu.qmd deleted file mode 100644 index 929dc8da..00000000 --- a/components/modules/mapping/htseq_count_to_h5mu.qmd +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Htseq count to h5mu" -namespace: "Mapping" -description: "Convert the htseq table to a h5mu" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `htseq_count_to_h5mu` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/htseq_count_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/htseq_count_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -input_id: # please fill in - example: ["foo"] -input_counts: # please fill in - example: ["counts.tsv"] -reference: # please fill in - example: "gencode_v41_star" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/htseq_count_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_id` |The obs index for the counts |List of `string`, required, example: `"foo"`, multiple_sep: `";"` | -|`--input_counts` |The counts as a TSV file as output by HTSeq. |List of `file`, required, example: `"counts.tsv"`, multiple_sep: `";"` | -|`--reference` |The GTF file. |`file`, required, example: `"gencode_v41_star"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - diff --git a/components/modules/mapping/multi_star.qmd b/components/modules/mapping/multi_star.qmd deleted file mode 100644 index 35e87348..00000000 --- a/components/modules/mapping/multi_star.qmd +++ /dev/null @@ -1,666 +0,0 @@ ---- -title: "Multi star" -namespace: "Mapping" -description: "Align fastq files using STAR." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `multi_star` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/multi_star/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/multi_star/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input/Output -input_id: # please fill in - example: ["mysample", "mysample"] -input_r1: # please fill in - example: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L002_R1_001.fastq.gz"] -# input_r2: ["mysample_S1_L001_R2_001.fastq.gz", "mysample_S1_L002_R2_001.fastq.gz"] -reference_index: # please fill in - example: "/path/to/reference" -reference_gtf: # please fill in - example: "genes.gtf" -# output: "$id.$key.output" - -# Processing arguments -run_htseq_count: true -run_multiqc: true -min_success_rate: 0.5 - -# Run Parameters -# runRNGseed: 777 - -# Genome Parameters -# genomeFastaFiles: ["path/to/file"] - -# Splice Junctions Database -# sjdbFileChrStartEnd: ["foo"] -# sjdbGTFfile: "path/to/file" -# sjdbGTFchrPrefix: "foo" -# sjdbGTFfeatureExon: "exon" -# sjdbGTFtagExonParentTranscript: "transcript_id" -# sjdbGTFtagExonParentGene: "gene_id" -# sjdbGTFtagExonParentGeneName: ["gene_name"] -# sjdbGTFtagExonParentGeneType: ["gene_type", "gene_biotype"] -# sjdbOverhang: 100 -# sjdbScore: 2 -# sjdbInsertSave: "Basic" - -# Variation parameters -# varVCFfile: "foo" - -# Read Parameters -# readFilesType: "Fastx" -# readFilesSAMattrKeep: ["All"] -# readFilesManifest: "path/to/file" -# readFilesPrefix: "foo" -# readFilesCommand: ["foo"] -# readMapNumber: -1 -# readMatesLengthsIn: "NotEqual" -# readNameSeparator: ["/"] -# readQualityScoreBase: 33 - -# Read Clipping -# clipAdapterType: "Hamming" -# clip3pNbases: [0] -# clip3pAdapterSeq: ["foo"] -# clip3pAdapterMMp: [0.1] -# clip3pAfterAdapterNbases: [0] -# clip5pNbases: [0] - -# Limits -# limitGenomeGenerateRAM: 31000000000 -# limitIObufferSize: [30000000, 50000000] -# limitOutSAMoneReadBytes: 100000 -# limitOutSJoneRead: 1000 -# limitOutSJcollapsed: 1000000 -# limitBAMsortRAM: 0 -# limitSjdbInsertNsj: 1000000 -# limitNreadsSoft: -1 - -# Output: general -# outTmpKeep: "foo" -# outStd: "Log" -# outReadsUnmapped: "foo" -# outQSconversionAdd: 0 -# outMultimapperOrder: "Old_2.4" - -# Output: SAM and BAM -# outSAMmode: "Full" -# outSAMstrandField: "foo" -# outSAMattributes: ["Standard"] -# outSAMattrIHstart: 1 -# outSAMunmapped: ["foo"] -# outSAMorder: "Paired" -# outSAMprimaryFlag: "OneBestScore" -# outSAMreadID: "Standard" -# outSAMmapqUnique: 255 -# outSAMflagOR: 0 -# outSAMflagAND: 65535 -# outSAMattrRGline: ["foo"] -# outSAMheaderHD: ["foo"] -# outSAMheaderPG: ["foo"] -# outSAMheaderCommentFile: "foo" -# outSAMfilter: ["foo"] -# outSAMmultNmax: -1 -# outSAMtlen: 1 -# outBAMcompression: 1 -# outBAMsortingThreadN: 0 -# outBAMsortingBinsN: 50 - -# BAM processing -# bamRemoveDuplicatesType: "foo" -# bamRemoveDuplicatesMate2basesN: 0 - -# Output Wiggle -# outWigType: ["foo"] -# outWigStrand: "Stranded" -# outWigReferencesPrefix: "foo" -# outWigNorm: "RPM" - -# Output Filtering -# outFilterType: "Normal" -# outFilterMultimapScoreRange: 1 -# outFilterMultimapNmax: 10 -# outFilterMismatchNmax: 10 -# outFilterMismatchNoverLmax: 0.3 -# outFilterMismatchNoverReadLmax: 1.0 -# outFilterScoreMin: 0 -# outFilterScoreMinOverLread: 0.66 -# outFilterMatchNmin: 0 -# outFilterMatchNminOverLread: 0.66 -# outFilterIntronMotifs: "foo" -# outFilterIntronStrands: "RemoveInconsistentStrands" - -# Output splice junctions (SJ.out.tab) -# outSJtype: "Standard" - -# Output Filtering: Splice Junctions -# outSJfilterReads: "All" -# outSJfilterOverhangMin: [30, 12, 12, 12] -# outSJfilterCountUniqueMin: [3, 1, 1, 1] -# outSJfilterCountTotalMin: [3, 1, 1, 1] -# outSJfilterDistToOtherSJmin: [10, 0, 5, 10] -# outSJfilterIntronMaxVsReadN: [50000, 100000, 200000] - -# Scoring -# scoreGap: 0 -# scoreGapNoncan: -8 -# scoreGapGCAG: -4 -# scoreGapATAC: -8 -# scoreGenomicLengthLog2scale: 0 -# scoreDelOpen: -2 -# scoreDelBase: -2 -# scoreInsOpen: -2 -# scoreInsBase: -2 -# scoreStitchSJshift: 1 - -# Alignments and Seeding -# seedSearchStartLmax: 50 -# seedSearchStartLmaxOverLread: 1.0 -# seedSearchLmax: 0 -# seedMultimapNmax: 10000 -# seedPerReadNmax: 1000 -# seedPerWindowNmax: 50 -# seedNoneLociPerWindow: 10 -# seedSplitMin: 12 -# seedMapMin: 5 -# alignIntronMin: 21 -# alignIntronMax: 0 -# alignMatesGapMax: 0 -# alignSJoverhangMin: 5 -# alignSJstitchMismatchNmax: [0, -1, 0, 0] -# alignSJDBoverhangMin: 3 -# alignSplicedMateMapLmin: 0 -# alignSplicedMateMapLminOverLmate: 0.66 -# alignWindowsPerReadNmax: 10000 -# alignTranscriptsPerWindowNmax: 100 -# alignTranscriptsPerReadNmax: 10000 -# alignEndsType: "Local" -# alignEndsProtrude: "0 ConcordantPair" -# alignSoftClipAtReferenceEnds: "Yes" -# alignInsertionFlush: "foo" - -# Paired-End reads -# peOverlapNbasesMin: 0 -# peOverlapMMp: 0.01 - -# Windows, Anchors, Binning -# winAnchorMultimapNmax: 50 -# winBinNbits: 16 -# winAnchorDistNbins: 9 -# winFlankNbins: 4 -# winReadCoverageRelativeMin: 0.5 -# winReadCoverageBasesMin: 0 - -# Chimeric Alignments -# chimOutType: ["Junctions"] -# chimSegmentMin: 0 -# chimScoreMin: 0 -# chimScoreDropMax: 20 -# chimScoreSeparation: 10 -# chimScoreJunctionNonGTAG: -1 -# chimJunctionOverhangMin: 20 -# chimSegmentReadGapMax: 0 -# chimFilter: ["banGenomicN"] -# chimMainSegmentMultNmax: 10 -# chimMultimapNmax: 0 -# chimMultimapScoreRange: 1 -# chimNonchimScoreDropMin: 20 -# chimOutJunctionFormat: 0 - -# Quantification of Annotations -# quantMode: ["foo"] -# quantTranscriptomeBAMcompression: 1 -# quantTranscriptomeBan: "IndelSoftclipSingleend" - -# 2-pass Mapping -# twopassMode: "foo" -# twopass1readsN: -1 - -# WASP parameters -# waspOutputMode: "foo" - -# STARsolo (single cell RNA-seq) parameters -# soloType: ["foo"] -# soloCBwhitelist: ["foo"] -# soloCBstart: 1 -# soloCBlen: 16 -# soloUMIstart: 17 -# soloUMIlen: 10 -# soloBarcodeReadLength: 1 -# soloBarcodeMate: 0 -# soloCBposition: ["foo"] -# soloUMIposition: "foo" -# soloAdapterSequence: "foo" -# soloAdapterMismatchesNmax: 1 -# soloCBmatchWLtype: "1MM_multi" -# soloInputSAMattrBarcodeSeq: ["foo"] -# soloInputSAMattrBarcodeQual: ["foo"] -# soloStrand: "Forward" -# soloFeatures: ["Gene"] -# soloMultiMappers: ["Unique"] -# soloUMIdedup: ["1MM_All"] -# soloUMIfiltering: ["foo"] -# soloOutFileNames: ["Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"] -# soloCellFilter: ["CellRanger2.2", "3000", "0.99", "10"] -# soloOutFormatFeaturesGeneField3: ["Gene Expression"] -# soloCellReadStats: "foo" - -# HTSeq arguments -stranded: "yes" -minimum_alignment_quality: 10 -# type: "exon" -# id_attribute: ["gene_id"] -# additional_attributes: ["gene_name"] -add_chromosome_info: false -mode: "union" -non_unique: "none" -# secondary_alignments: "foo" -# supplementary_alignments: "foo" -counts_output_sparse: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/multi_star/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input/Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_id` |The ID of the sample being processed. This vector should have the same length as the `--input_r1` argument. |List of `string`, required, example: `"mysample", "mysample"`, multiple_sep: `";"` | -|`--input_r1` |Paths to the sequences to be mapped. If using Illumina paired-end reads, only the R1 files should be passed. |List of `file`, required, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L002_R1_001.fastq.gz"`, multiple_sep: `";"` | -|`--input_r2` |Paths to the sequences to be mapped. If using Illumina paired-end reads, only the R2 files should be passed. |List of `file`, example: `"mysample_S1_L001_R2_001.fastq.gz", "mysample_S1_L002_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reference_index` |Path to the reference built by star_build_reference. Corresponds to the --genomeDir argument in the STAR command. |`file`, required, example: `"/path/to/reference"` | -|`--reference_gtf` |Path to the gtf reference file. |`file`, required, example: `"genes.gtf"` | -|`--output` |Path to output directory. Corresponds to the --outFileNamePrefix argument in the STAR command. |`file`, required, example: `"/path/to/foo"` | - - -### Processing arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--run_htseq_count` |Whether or not to also run htseq-count after STAR. |`boolean`, default: `TRUE` | -|`--run_multiqc` |Whether or not to also run MultiQC at the end. |`boolean`, default: `TRUE` | -|`--min_success_rate` |Fail when the success rate is below this threshold. |`double`, default: `0.5` | - - -### Run Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--runRNGseed` |random number generator seed. |`integer`, example: `777` | - - -### Genome Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genomeFastaFiles` |path(s) to the fasta files with the genome sequences, separated by spaces. These files should be plain text FASTA files, they *cannot* be zipped. Required for the genome generation (--runMode genomeGenerate). Can also be used in the mapping (--runMode alignReads) to add extra (new) sequences to the genome (e.g. spike-ins). |List of `file`, multiple_sep: `";"` | - - -### Splice Junctions Database - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sjdbFileChrStartEnd` |path to the files with genomic coordinates (chr start end strand) for the splice junction introns. Multiple files can be supplied and will be concatenated. |List of `string`, multiple_sep: `";"` | -|`--sjdbGTFfile` |path to the GTF file with annotations |`file` | -|`--sjdbGTFchrPrefix` |prefix for chromosome names in a GTF file (e.g. 'chr' for using ENSMEBL annotations with UCSC genomes) |`string` | -|`--sjdbGTFfeatureExon` |feature type in GTF file to be used as exons for building transcripts |`string`, example: `"exon"` | -|`--sjdbGTFtagExonParentTranscript` |GTF attribute name for parent transcript ID (default "transcript_id" works for GTF files) |`string`, example: `"transcript_id"` | -|`--sjdbGTFtagExonParentGene` |GTF attribute name for parent gene ID (default "gene_id" works for GTF files) |`string`, example: `"gene_id"` | -|`--sjdbGTFtagExonParentGeneName` |GTF attribute name for parent gene name |List of `string`, example: `"gene_name"`, multiple_sep: `";"` | -|`--sjdbGTFtagExonParentGeneType` |GTF attribute name for parent gene type |List of `string`, example: `"gene_type", "gene_biotype"`, multiple_sep: `";"` | -|`--sjdbOverhang` |length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1) |`integer`, example: `100` | -|`--sjdbScore` |extra alignment score for alignments that cross database junctions |`integer`, example: `2` | -|`--sjdbInsertSave` |which files to save when sjdb junctions are inserted on the fly at the mapping step - Basic ... only small junction / transcript files - All ... all files including big Genome, SA and SAindex - this will create a complete genome directory |`string`, example: `"Basic"` | - - -### Variation parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--varVCFfile` |path to the VCF file that contains variation data. The 10th column should contain the genotype information, e.g. 0/1 |`string` | - - -### Read Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--readFilesType` |format of input read files - Fastx ... FASTA or FASTQ - SAM SE ... SAM or BAM single-end reads; for BAM use --readFilesCommand samtools view - SAM PE ... SAM or BAM paired-end reads; for BAM use --readFilesCommand samtools view |`string`, example: `"Fastx"` | -|`--readFilesSAMattrKeep` |for --readFilesType SAM SE/PE, which SAM tags to keep in the output BAM, e.g.: --readFilesSAMtagsKeep RG PL - All ... keep all tags - None ... do not keep any tags |List of `string`, example: `"All"`, multiple_sep: `";"` | -|`--readFilesManifest` |path to the "manifest" file with the names of read files. The manifest file should contain 3 tab-separated columns: paired-end reads: read1_file_name $tab$ read2_file_name $tab$ read_group_line. single-end reads: read1_file_name $tab$ - $tab$ read_group_line. Spaces, but not tabs are allowed in file names. If read_group_line does not start with ID:, it can only contain one ID field, and ID: will be added to it. If read_group_line starts with ID:, it can contain several fields separated by $tab$, and all fields will be be copied verbatim into SAM @RG header line. |`file` | -|`--readFilesPrefix` |prefix for the read files names, i.e. it will be added in front of the strings in --readFilesIn |`string` | -|`--readFilesCommand` |command line to execute for each of the input file. This command should generate FASTA or FASTQ text and send it to stdout For example: zcat - to uncompress .gz files, bzcat - to uncompress .bz2 files, etc. |List of `string`, multiple_sep: `";"` | -|`--readMapNumber` |number of reads to map from the beginning of the file -1: map all reads |`integer`, example: `-1` | -|`--readMatesLengthsIn` |Equal/NotEqual - lengths of names,sequences,qualities for both mates are the same / not the same. NotEqual is safe in all situations. |`string`, example: `"NotEqual"` | -|`--readNameSeparator` |character(s) separating the part of the read names that will be trimmed in output (read name after space is always trimmed) |List of `string`, example: `"/"`, multiple_sep: `";"` | -|`--readQualityScoreBase` |number to be subtracted from the ASCII code to get Phred quality score |`integer`, example: `33` | - - -### Read Clipping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--clipAdapterType` |adapter clipping type - Hamming ... adapter clipping based on Hamming distance, with the number of mismatches controlled by --clip5pAdapterMMp - CellRanger4 ... 5p and 3p adapter clipping similar to CellRanger4. Utilizes Opal package by Martin Sosic: https://github.com/Martinsos/opal - None ... no adapter clipping, all other clip* parameters are disregarded |`string`, example: `"Hamming"` | -|`--clip3pNbases` |number(s) of bases to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip3pAdapterSeq` |adapter sequences to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. - polyA ... polyA sequence with the length equal to read length |List of `string`, multiple_sep: `";"` | -|`--clip3pAdapterMMp` |max proportion of mismatches for 3p adapter clipping for each mate. If one value is given, it will be assumed the same for both mates. |List of `double`, example: `0.1`, multiple_sep: `";"` | -|`--clip3pAfterAdapterNbases` |number of bases to clip from 3p of each mate after the adapter clipping. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip5pNbases` |number(s) of bases to clip from 5p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | - - -### Limits - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--limitGenomeGenerateRAM` |maximum available RAM (bytes) for genome generation |`long`, example: `NA` | -|`--limitIObufferSize` |max available buffers size (bytes) for input/output, per thread |List of `long`, example: `30000000, 50000000`, multiple_sep: `";"` | -|`--limitOutSAMoneReadBytes` |max size of the SAM record (bytes) for one read. Recommended value: >(2*(LengthMate1+LengthMate2+100)*outFilterMultimapNmax |`long`, example: `100000` | -|`--limitOutSJoneRead` |max number of junctions for one read (including all multi-mappers) |`integer`, example: `1000` | -|`--limitOutSJcollapsed` |max number of collapsed junctions |`integer`, example: `1000000` | -|`--limitBAMsortRAM` |maximum available RAM (bytes) for sorting BAM. If =0, it will be set to the genome index size. 0 value can only be used with --genomeLoad NoSharedMemory option. |`long`, example: `0` | -|`--limitSjdbInsertNsj` |maximum number of junctions to be inserted to the genome on the fly at the mapping stage, including those from annotations and those detected in the 1st step of the 2-pass run |`integer`, example: `1000000` | -|`--limitNreadsSoft` |soft limit on the number of reads |`integer`, example: `-1` | - - -### Output: general - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outTmpKeep` |whether to keep the temporary files after STAR runs is finished - None ... remove all temporary files - All ... keep all files |`string` | -|`--outStd` |which output will be directed to stdout (standard out) - Log ... log messages - SAM ... alignments in SAM format (which normally are output to Aligned.out.sam file), normal standard output will go into Log.std.out - BAM_Unsorted ... alignments in BAM format, unsorted. Requires --outSAMtype BAM Unsorted - BAM_SortedByCoordinate ... alignments in BAM format, sorted by coordinate. Requires --outSAMtype BAM SortedByCoordinate - BAM_Quant ... alignments to transcriptome in BAM format, unsorted. Requires --quantMode TranscriptomeSAM |`string`, example: `"Log"` | -|`--outReadsUnmapped` |output of unmapped and partially mapped (i.e. mapped only one mate of a paired end read) reads in separate file(s). - None ... no output - Fastx ... output in separate fasta/fastq files, Unmapped.out.mate1/2 |`string` | -|`--outQSconversionAdd` |add this number to the quality score (e.g. to convert from Illumina to Sanger, use -31) |`integer`, example: `0` | -|`--outMultimapperOrder` |order of multimapping alignments in the output files - Old_2.4 ... quasi-random order used before 2.5.0 - Random ... random order of alignments for each multi-mapper. Read mates (pairs) are always adjacent, all alignment for each read stay together. This option will become default in the future releases. |`string`, example: `"Old_2.4"` | - - -### Output: SAM and BAM - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSAMmode` |mode of SAM output - None ... no SAM output - Full ... full SAM output - NoQS ... full SAM but without quality scores |`string`, example: `"Full"` | -|`--outSAMstrandField` |Cufflinks-like strand field flag - None ... not used - intronMotif ... strand derived from the intron motif. This option changes the output alignments: reads with inconsistent and/or non-canonical introns are filtered out. |`string` | -|`--outSAMattributes` |a string of desired SAM attributes, in the order desired for the output SAM. Tags can be listed in any combination/order. ***Presets: - None ... no attributes - Standard ... NH HI AS nM - All ... NH HI AS nM NM MD jM jI MC ch ***Alignment: - NH ... number of loci the reads maps to: =1 for unique mappers, >1 for multimappers. Standard SAM tag. - HI ... multiple alignment index, starts with --outSAMattrIHstart (=1 by default). Standard SAM tag. - AS ... local alignment score, +1/-1 for matches/mismateches, score* penalties for indels and gaps. For PE reads, total score for two mates. Stadnard SAM tag. - nM ... number of mismatches. For PE reads, sum over two mates. - NM ... edit distance to the reference (number of mismatched + inserted + deleted bases) for each mate. Standard SAM tag. - MD ... string encoding mismatched and deleted reference bases (see standard SAM specifications). Standard SAM tag. - jM ... intron motifs for all junctions (i.e. N in CIGAR): 0: non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT. If splice junctions database is used, and a junction is annotated, 20 is added to its motif value. - jI ... start and end of introns for all junctions (1-based). - XS ... alignment strand according to --outSAMstrandField. - MC ... mate's CIGAR string. Standard SAM tag. - ch ... marks all segment of all chimeric alingments for --chimOutType WithinBAM output. - cN ... number of bases clipped from the read ends: 5' and 3' ***Variation: - vA ... variant allele - vG ... genomic coordinate of the variant overlapped by the read. - vW ... 1 - alignment passes WASP filtering; 2,3,4,5,6,7 - alignment does not pass WASP filtering. Requires --waspOutputMode SAMtag. ***STARsolo: - CR CY UR UY ... sequences and quality scores of cell barcodes and UMIs for the solo* demultiplexing. - GX GN ... gene ID and gene name for unique-gene reads. - gx gn ... gene IDs and gene names for unique- and multi-gene reads. - CB UB ... error-corrected cell barcodes and UMIs for solo* demultiplexing. Requires --outSAMtype BAM SortedByCoordinate. - sM ... assessment of CB and UMI. - sS ... sequence of the entire barcode (CB,UMI,adapter). - sQ ... quality of the entire barcode. ***Unsupported/undocumented: - ha ... haplotype (1/2) when mapping to the diploid genome. Requires genome generated with --genomeTransformType Diploid . - rB ... alignment block read/genomic coordinates. - vR ... read coordinate of the variant. |List of `string`, example: `"Standard"`, multiple_sep: `";"` | -|`--outSAMattrIHstart` |start value for the IH attribute. 0 may be required by some downstream software, such as Cufflinks or StringTie. |`integer`, example: `1` | -|`--outSAMunmapped` |output of unmapped reads in the SAM format 1st word: - None ... no output - Within ... output unmapped reads within the main SAM file (i.e. Aligned.out.sam) 2nd word: - KeepPairs ... record unmapped mate for each alignment, and, in case of unsorted output, keep it adjacent to its mapped mate. Only affects multi-mapping reads. |List of `string`, multiple_sep: `";"` | -|`--outSAMorder` |type of sorting for the SAM output Paired: one mate after the other for all paired alignments PairedKeepInputOrder: one mate after the other for all paired alignments, the order is kept the same as in the input FASTQ files |`string`, example: `"Paired"` | -|`--outSAMprimaryFlag` |which alignments are considered primary - all others will be marked with 0x100 bit in the FLAG - OneBestScore ... only one alignment with the best score is primary - AllBestScore ... all alignments with the best score are primary |`string`, example: `"OneBestScore"` | -|`--outSAMreadID` |read ID record type - Standard ... first word (until space) from the FASTx read ID line, removing /1,/2 from the end - Number ... read number (index) in the FASTx file |`string`, example: `"Standard"` | -|`--outSAMmapqUnique` |0 to 255: the MAPQ value for unique mappers |`integer`, example: `255` | -|`--outSAMflagOR` |0 to 65535: sam FLAG will be bitwise OR'd with this value, i.e. FLAG=FLAG | outSAMflagOR. This is applied after all flags have been set by STAR, and after outSAMflagAND. Can be used to set specific bits that are not set otherwise. |`integer`, example: `0` | -|`--outSAMflagAND` |0 to 65535: sam FLAG will be bitwise AND'd with this value, i.e. FLAG=FLAG & outSAMflagOR. This is applied after all flags have been set by STAR, but before outSAMflagOR. Can be used to unset specific bits that are not set otherwise. |`integer`, example: `65535` | -|`--outSAMattrRGline` |SAM/BAM read group line. The first word contains the read group identifier and must start with "ID:", e.g. --outSAMattrRGline ID:xxx CN:yy "DS:z z z". xxx will be added as RG tag to each output alignment. Any spaces in the tag values have to be double quoted. Comma separated RG lines correspons to different (comma separated) input files in --readFilesIn. Commas have to be surrounded by spaces, e.g. --outSAMattrRGline ID:xxx , ID:zzz "DS:z z" , ID:yyy DS:yyyy |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderHD` |@HD (header) line of the SAM header |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderPG` |extra @PG (software) line of the SAM header (in addition to STAR) |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderCommentFile` |path to the file with @CO (comment) lines of the SAM header |`string` | -|`--outSAMfilter` |filter the output into main SAM/BAM files - KeepOnlyAddedReferences ... only keep the reads for which all alignments are to the extra reference sequences added with --genomeFastaFiles at the mapping stage. - KeepAllAddedReferences ... keep all alignments to the extra reference sequences added with --genomeFastaFiles at the mapping stage. |List of `string`, multiple_sep: `";"` | -|`--outSAMmultNmax` |max number of multiple alignments for a read that will be output to the SAM/BAM files. Note that if this value is not equal to -1, the top scoring alignment will be output first - -1 ... all alignments (up to --outFilterMultimapNmax) will be output |`integer`, example: `-1` | -|`--outSAMtlen` |calculation method for the TLEN field in the SAM/BAM files - 1 ... leftmost base of the (+)strand mate to rightmost base of the (-)mate. (+)sign for the (+)strand mate - 2 ... leftmost base of any mate to rightmost base of any mate. (+)sign for the mate with the leftmost base. This is different from 1 for overlapping mates with protruding ends |`integer`, example: `1` | -|`--outBAMcompression` |-1 to 10 BAM compression level, -1=default compression (6?), 0=no compression, 10=maximum compression |`integer`, example: `1` | -|`--outBAMsortingThreadN` |>=0: number of threads for BAM sorting. 0 will default to min(6,--runThreadN). |`integer`, example: `0` | -|`--outBAMsortingBinsN` |>0: number of genome bins for coordinate-sorting |`integer`, example: `50` | - - -### BAM processing - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--bamRemoveDuplicatesType` |mark duplicates in the BAM file, for now only works with (i) sorted BAM fed with inputBAMfile, and (ii) for paired-end alignments only - - ... no duplicate removal/marking - UniqueIdentical ... mark all multimappers, and duplicate unique mappers. The coordinates, FLAG, CIGAR must be identical - UniqueIdenticalNotMulti ... mark duplicate unique mappers but not multimappers. |`string` | -|`--bamRemoveDuplicatesMate2basesN` |number of bases from the 5' of mate 2 to use in collapsing (e.g. for RAMPAGE) |`integer`, example: `0` | - - -### Output Wiggle - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outWigType` |type of signal output, e.g. "bedGraph" OR "bedGraph read1_5p". Requires sorted BAM: --outSAMtype BAM SortedByCoordinate . 1st word: - None ... no signal output - bedGraph ... bedGraph format - wiggle ... wiggle format 2nd word: - read1_5p ... signal from only 5' of the 1st read, useful for CAGE/RAMPAGE etc - read2 ... signal from only 2nd read |List of `string`, multiple_sep: `";"` | -|`--outWigStrand` |strandedness of wiggle/bedGraph output - Stranded ... separate strands, str1 and str2 - Unstranded ... collapsed strands |`string`, example: `"Stranded"` | -|`--outWigReferencesPrefix` |prefix matching reference names to include in the output wiggle file, e.g. "chr", default "-" - include all references |`string` | -|`--outWigNorm` |type of normalization for the signal - RPM ... reads per million of mapped reads - None ... no normalization, "raw" counts |`string`, example: `"RPM"` | - - -### Output Filtering - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outFilterType` |type of filtering - Normal ... standard filtering using only current alignment - BySJout ... keep only those reads that contain junctions that passed filtering into SJ.out.tab |`string`, example: `"Normal"` | -|`--outFilterMultimapScoreRange` |the score range below the maximum score for multimapping alignments |`integer`, example: `1` | -|`--outFilterMultimapNmax` |maximum number of loci the read is allowed to map to. Alignments (all of them) will be output only if the read maps to no more loci than this value. Otherwise no alignments will be output, and the read will be counted as "mapped to too many loci" in the Log.final.out . |`integer`, example: `10` | -|`--outFilterMismatchNmax` |alignment will be output only if it has no more mismatches than this value. |`integer`, example: `10` | -|`--outFilterMismatchNoverLmax` |alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value. |`double`, example: `0.3` | -|`--outFilterMismatchNoverReadLmax` |alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value. |`double`, example: `1` | -|`--outFilterScoreMin` |alignment will be output only if its score is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterScoreMinOverLread` |same as outFilterScoreMin, but normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `0.66` | -|`--outFilterMatchNmin` |alignment will be output only if the number of matched bases is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterMatchNminOverLread` |sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads). |`double`, example: `0.66` | -|`--outFilterIntronMotifs` |filter alignment using their motifs - None ... no filtering - RemoveNoncanonical ... filter out alignments that contain non-canonical junctions - RemoveNoncanonicalUnannotated ... filter out alignments that contain non-canonical unannotated junctions when using annotated splice junctions database. The annotated non-canonical junctions will be kept. |`string` | -|`--outFilterIntronStrands` |filter alignments - RemoveInconsistentStrands ... remove alignments that have junctions with inconsistent strands - None ... no filtering |`string`, example: `"RemoveInconsistentStrands"` | - - -### Output splice junctions (SJ.out.tab) - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJtype` |type of splice junction output - Standard ... standard SJ.out.tab output - None ... no splice junction output |`string`, example: `"Standard"` | - - -### Output Filtering: Splice Junctions - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJfilterReads` |which reads to consider for collapsed splice junctions output - All ... all reads, unique- and multi-mappers - Unique ... uniquely mapping reads only |`string`, example: `"All"` | -|`--outSJfilterOverhangMin` |minimum overhang length for splice junctions on both sides for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif does not apply to annotated junctions |List of `integer`, example: `30, 12, 12, 12`, multiple_sep: `";"` | -|`--outSJfilterCountUniqueMin` |minimum uniquely mapping read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterCountTotalMin` |minimum total (multi-mapping+unique) read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterDistToOtherSJmin` |minimum allowed distance to other junctions' donor/acceptor does not apply to annotated junctions |List of `integer`, example: `10, 0, 5, 10`, multiple_sep: `";"` | -|`--outSJfilterIntronMaxVsReadN` |maximum gap allowed for junctions supported by 1,2,3,,,N reads i.e. by default junctions supported by 1 read can have gaps <=50000b, by 2 reads: <=100000b, by 3 reads: <=200000. by >=4 reads any gap <=alignIntronMax does not apply to annotated junctions |List of `integer`, example: `50000, 100000, 200000`, multiple_sep: `";"` | - - -### Scoring - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--scoreGap` |splice junction penalty (independent on intron motif) |`integer`, example: `0` | -|`--scoreGapNoncan` |non-canonical junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGapGCAG` |GC/AG and CT/GC junction penalty (in addition to scoreGap) |`integer`, example: `-4` | -|`--scoreGapATAC` |AT/AC and GT/AT junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGenomicLengthLog2scale` |extra score logarithmically scaled with genomic length of the alignment: scoreGenomicLengthLog2scale*log2(genomicLength) |`integer`, example: `0` | -|`--scoreDelOpen` |deletion open penalty |`integer`, example: `-2` | -|`--scoreDelBase` |deletion extension penalty per base (in addition to scoreDelOpen) |`integer`, example: `-2` | -|`--scoreInsOpen` |insertion open penalty |`integer`, example: `-2` | -|`--scoreInsBase` |insertion extension penalty per base (in addition to scoreInsOpen) |`integer`, example: `-2` | -|`--scoreStitchSJshift` |maximum score reduction while searching for SJ boundaries in the stitching step |`integer`, example: `1` | - - -### Alignments and Seeding - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--seedSearchStartLmax` |defines the search start point through the read - the read is split into pieces no longer than this value |`integer`, example: `50` | -|`--seedSearchStartLmaxOverLread` |seedSearchStartLmax normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `1` | -|`--seedSearchLmax` |defines the maximum length of the seeds, if =0 seed length is not limited |`integer`, example: `0` | -|`--seedMultimapNmax` |only pieces that map fewer than this value are utilized in the stitching procedure |`integer`, example: `10000` | -|`--seedPerReadNmax` |max number of seeds per read |`integer`, example: `1000` | -|`--seedPerWindowNmax` |max number of seeds per window |`integer`, example: `50` | -|`--seedNoneLociPerWindow` |max number of one seed loci per window |`integer`, example: `10` | -|`--seedSplitMin` |min length of the seed sequences split by Ns or mate gap |`integer`, example: `12` | -|`--seedMapMin` |min length of seeds to be mapped |`integer`, example: `5` | -|`--alignIntronMin` |minimum intron size, genomic gap is considered intron if its length>=alignIntronMin, otherwise it is considered Deletion |`integer`, example: `21` | -|`--alignIntronMax` |maximum intron size, if 0, max intron size will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignMatesGapMax` |maximum gap between two mates, if 0, max intron gap will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignSJoverhangMin` |minimum overhang (i.e. block size) for spliced alignments |`integer`, example: `5` | -|`--alignSJstitchMismatchNmax` |maximum number of mismatches for stitching of the splice junctions (-1: no limit). (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. |List of `integer`, example: `0, -1, 0, 0`, multiple_sep: `";"` | -|`--alignSJDBoverhangMin` |minimum overhang (i.e. block size) for annotated (sjdb) spliced alignments |`integer`, example: `3` | -|`--alignSplicedMateMapLmin` |minimum mapped length for a read mate that is spliced |`integer`, example: `0` | -|`--alignSplicedMateMapLminOverLmate` |alignSplicedMateMapLmin normalized to mate length |`double`, example: `0.66` | -|`--alignWindowsPerReadNmax` |max number of windows per read |`integer`, example: `10000` | -|`--alignTranscriptsPerWindowNmax` |max number of transcripts per window |`integer`, example: `100` | -|`--alignTranscriptsPerReadNmax` |max number of different alignments per read to consider |`integer`, example: `10000` | -|`--alignEndsType` |type of read ends alignment - Local ... standard local alignment with soft-clipping allowed - EndToEnd ... force end-to-end read alignment, do not soft-clip - Extend5pOfRead1 ... fully extend only the 5p of the read1, all other ends: local alignment - Extend5pOfReads12 ... fully extend only the 5p of the both read1 and read2, all other ends: local alignment |`string`, example: `"Local"` | -|`--alignEndsProtrude` |allow protrusion of alignment ends, i.e. start (end) of the +strand mate downstream of the start (end) of the -strand mate 1st word: int: maximum number of protrusion bases allowed 2nd word: string: - ConcordantPair ... report alignments with non-zero protrusion as concordant pairs - DiscordantPair ... report alignments with non-zero protrusion as discordant pairs |`string`, example: `"0 ConcordantPair"` | -|`--alignSoftClipAtReferenceEnds` |allow the soft-clipping of the alignments past the end of the chromosomes - Yes ... allow - No ... prohibit, useful for compatibility with Cufflinks |`string`, example: `"Yes"` | -|`--alignInsertionFlush` |how to flush ambiguous insertion positions - None ... insertions are not flushed - Right ... insertions are flushed to the right |`string` | - - -### Paired-End reads - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--peOverlapNbasesMin` |minimum number of overlapping bases to trigger mates merging and realignment. Specify >0 value to switch on the "merginf of overlapping mates" algorithm. |`integer`, example: `0` | -|`--peOverlapMMp` |maximum proportion of mismatched bases in the overlap area |`double`, example: `0.01` | - - -### Windows, Anchors, Binning - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--winAnchorMultimapNmax` |max number of loci anchors are allowed to map to |`integer`, example: `50` | -|`--winBinNbits` |=log2(winBin), where winBin is the size of the bin for the windows/clustering, each window will occupy an integer number of bins. |`integer`, example: `16` | -|`--winAnchorDistNbins` |max number of bins between two anchors that allows aggregation of anchors into one window |`integer`, example: `9` | -|`--winFlankNbins` |log2(winFlank), where win Flank is the size of the left and right flanking regions for each window |`integer`, example: `4` | -|`--winReadCoverageRelativeMin` |minimum relative coverage of the read sequence by the seeds in a window, for STARlong algorithm only. |`double`, example: `0.5` | -|`--winReadCoverageBasesMin` |minimum number of bases covered by the seeds in a window , for STARlong algorithm only. |`integer`, example: `0` | - - -### Chimeric Alignments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--chimOutType` |type of chimeric output - Junctions ... Chimeric.out.junction - SeparateSAMold ... output old SAM into separate Chimeric.out.sam file - WithinBAM ... output into main aligned BAM files (Aligned.*.bam) - WithinBAM HardClip ... (default) hard-clipping in the CIGAR for supplemental chimeric alignments (default if no 2nd word is present) - WithinBAM SoftClip ... soft-clipping in the CIGAR for supplemental chimeric alignments |List of `string`, example: `"Junctions"`, multiple_sep: `";"` | -|`--chimSegmentMin` |minimum length of chimeric segment length, if ==0, no chimeric output |`integer`, example: `0` | -|`--chimScoreMin` |minimum total (summed) score of the chimeric segments |`integer`, example: `0` | -|`--chimScoreDropMax` |max drop (difference) of chimeric score (the sum of scores of all chimeric segments) from the read length |`integer`, example: `20` | -|`--chimScoreSeparation` |minimum difference (separation) between the best chimeric score and the next one |`integer`, example: `10` | -|`--chimScoreJunctionNonGTAG` |penalty for a non-GT/AG chimeric junction |`integer`, example: `-1` | -|`--chimJunctionOverhangMin` |minimum overhang for a chimeric junction |`integer`, example: `20` | -|`--chimSegmentReadGapMax` |maximum gap in the read sequence between chimeric segments |`integer`, example: `0` | -|`--chimFilter` |different filters for chimeric alignments - None ... no filtering - banGenomicN ... Ns are not allowed in the genome sequence around the chimeric junction |List of `string`, example: `"banGenomicN"`, multiple_sep: `";"` | -|`--chimMainSegmentMultNmax` |maximum number of multi-alignments for the main chimeric segment. =1 will prohibit multimapping main segments. |`integer`, example: `10` | -|`--chimMultimapNmax` |maximum number of chimeric multi-alignments - 0 ... use the old scheme for chimeric detection which only considered unique alignments |`integer`, example: `0` | -|`--chimMultimapScoreRange` |the score range for multi-mapping chimeras below the best chimeric score. Only works with --chimMultimapNmax > 1 |`integer`, example: `1` | -|`--chimNonchimScoreDropMin` |to trigger chimeric detection, the drop in the best non-chimeric alignment score with respect to the read length has to be greater than this value |`integer`, example: `20` | -|`--chimOutJunctionFormat` |formatting type for the Chimeric.out.junction file - 0 ... no comment lines/headers - 1 ... comment lines at the end of the file: command line and Nreads: total, unique/multi-mapping |`integer`, example: `0` | - - -### Quantification of Annotations - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--quantMode` |types of quantification requested - - ... none - TranscriptomeSAM ... output SAM/BAM alignments to transcriptome into a separate file - GeneCounts ... count reads per gene |List of `string`, multiple_sep: `";"` | -|`--quantTranscriptomeBAMcompression` |-2 to 10 transcriptome BAM compression level - -2 ... no BAM output - -1 ... default compression (6?) - 0 ... no compression - 10 ... maximum compression |`integer`, example: `1` | -|`--quantTranscriptomeBan` |prohibit various alignment type - IndelSoftclipSingleend ... prohibit indels, soft clipping and single-end alignments - compatible with RSEM - Singleend ... prohibit single-end alignments |`string`, example: `"IndelSoftclipSingleend"` | - - -### 2-pass Mapping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--twopassMode` |2-pass mapping mode. - None ... 1-pass mapping - Basic ... basic 2-pass mapping, with all 1st pass junctions inserted into the genome indices on the fly |`string` | -|`--twopass1readsN` |number of reads to process for the 1st step. Use very large number (or default -1) to map all reads in the first step. |`integer`, example: `-1` | - - -### WASP parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--waspOutputMode` |WASP allele-specific output type. This is re-implementation of the original WASP mappability filtering by Bryce van de Geijn, Graham McVicker, Yoav Gilad & Jonathan K Pritchard. Please cite the original WASP paper: Nature Methods 12, 1061-1063 (2015), https://www.nature.com/articles/nmeth.3582 . - SAMtag ... add WASP tags to the alignments that pass WASP filtering |`string` | - - -### STARsolo (single cell RNA-seq) parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--soloType` |type of single-cell RNA-seq - CB_UMI_Simple ... (a.k.a. Droplet) one UMI and one Cell Barcode of fixed length in read2, e.g. Drop-seq and 10X Chromium. - CB_UMI_Complex ... multiple Cell Barcodes of varying length, one UMI of fixed length and one adapter sequence of fixed length are allowed in read2 only (e.g. inDrop, ddSeq). - CB_samTagOut ... output Cell Barcode as CR and/or CB SAm tag. No UMI counting. --readFilesIn cDNA_read1 [cDNA_read2 if paired-end] CellBarcode_read . Requires --outSAMtype BAM Unsorted [and/or SortedByCoordinate] - SmartSeq ... Smart-seq: each cell in a separate FASTQ (paired- or single-end), barcodes are corresponding read-groups, no UMI sequences, alignments deduplicated according to alignment start and end (after extending soft-clipped bases) |List of `string`, multiple_sep: `";"` | -|`--soloCBwhitelist` |file(s) with whitelist(s) of cell barcodes. Only --soloType CB_UMI_Complex allows more than one whitelist file. - None ... no whitelist: all cell barcodes are allowed |List of `string`, multiple_sep: `";"` | -|`--soloCBstart` |cell barcode start base |`integer`, example: `1` | -|`--soloCBlen` |cell barcode length |`integer`, example: `16` | -|`--soloUMIstart` |UMI start base |`integer`, example: `17` | -|`--soloUMIlen` |UMI length |`integer`, example: `10` | -|`--soloBarcodeReadLength` |length of the barcode read - 1 ... equal to sum of soloCBlen+soloUMIlen - 0 ... not defined, do not check |`integer`, example: `1` | -|`--soloBarcodeMate` |identifies which read mate contains the barcode (CB+UMI) sequence - 0 ... barcode sequence is on separate read, which should always be the last file in the --readFilesIn listed - 1 ... barcode sequence is a part of mate 1 - 2 ... barcode sequence is a part of mate 2 |`integer`, example: `0` | -|`--soloCBposition` |position of Cell Barcode(s) on the barcode read. Presently only works with --soloType CB_UMI_Complex, and barcodes are assumed to be on Read2. Format for each barcode: startAnchor_startPosition_endAnchor_endPosition start(end)Anchor defines the Anchor Base for the CB: 0: read start; 1: read end; 2: adapter start; 3: adapter end start(end)Position is the 0-based position with of the CB start(end) with respect to the Anchor Base String for different barcodes are separated by space. Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 0_0_2_-1 3_1_3_8 |List of `string`, multiple_sep: `";"` | -|`--soloUMIposition` |position of the UMI on the barcode read, same as soloCBposition Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 3_9_3_14 |`string` | -|`--soloAdapterSequence` |adapter sequence to anchor barcodes. Only one adapter sequence is allowed. |`string` | -|`--soloAdapterMismatchesNmax` |maximum number of mismatches allowed in adapter sequence. |`integer`, example: `1` | -|`--soloCBmatchWLtype` |matching the Cell Barcodes to the WhiteList - Exact ... only exact matches allowed - 1MM ... only one match in whitelist with 1 mismatched base allowed. Allowed CBs have to have at least one read with exact match. - 1MM_multi ... multiple matches in whitelist with 1 mismatched base allowed, posterior probability calculation is used choose one of the matches. Allowed CBs have to have at least one read with exact match. This option matches best with CellRanger 2.2.0 - 1MM_multi_pseudocounts ... same as 1MM_Multi, but pseudocounts of 1 are added to all whitelist barcodes. - 1MM_multi_Nbase_pseudocounts ... same as 1MM_multi_pseudocounts, multimatching to WL is allowed for CBs with N-bases. This option matches best with CellRanger >= 3.0.0 - EditDist_2 ... allow up to edit distance of 3 fpr each of the barcodes. May include one deletion + one insertion. Only works with --soloType CB_UMI_Complex. Matches to multiple passlist barcdoes are not allowed. Similar to ParseBio Split-seq pipeline. |`string`, example: `"1MM_multi"` | -|`--soloInputSAMattrBarcodeSeq` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode sequence (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeSeq CR UR . This parameter is required when running STARsolo with input from SAM. |List of `string`, multiple_sep: `";"` | -|`--soloInputSAMattrBarcodeQual` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode qualities (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeQual CY UY . If this parameter is '-' (default), the quality 'H' will be assigned to all bases. |List of `string`, multiple_sep: `";"` | -|`--soloStrand` |strandedness of the solo libraries: - Unstranded ... no strand information - Forward ... read strand same as the original RNA molecule - Reverse ... read strand opposite to the original RNA molecule |`string`, example: `"Forward"` | -|`--soloFeatures` |genomic features for which the UMI counts per Cell Barcode are collected - Gene ... genes: reads match the gene transcript - SJ ... splice junctions: reported in SJ.out.tab - GeneFull ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns - GeneFull_ExonOverIntron ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns: prioritize 100% overlap with exons - GeneFull_Ex50pAS ... full gene (pre-RNA): count all reads overlapping genes' exons and introns: prioritize >50% overlap with exons. Do not count reads with 100% exonic overlap in the antisense direction. |List of `string`, example: `"Gene"`, multiple_sep: `";"` | -|`--soloMultiMappers` |counting method for reads mapping to multiple genes - Unique ... count only reads that map to unique genes - Uniform ... uniformly distribute multi-genic UMIs to all genes - Rescue ... distribute UMIs proportionally to unique+uniform counts (~ first iteration of EM) - PropUnique ... distribute UMIs proportionally to unique mappers, if present, and uniformly if not. - EM ... multi-gene UMIs are distributed using Expectation Maximization algorithm |List of `string`, example: `"Unique"`, multiple_sep: `";"` | -|`--soloUMIdedup` |type of UMI deduplication (collapsing) algorithm - 1MM_All ... all UMIs with 1 mismatch distance to each other are collapsed (i.e. counted once). - 1MM_Directional_UMItools ... follows the "directional" method from the UMI-tools by Smith, Heger and Sudbery (Genome Research 2017). - 1MM_Directional ... same as 1MM_Directional_UMItools, but with more stringent criteria for duplicate UMIs - Exact ... only exactly matching UMIs are collapsed. - NoDedup ... no deduplication of UMIs, count all reads. - 1MM_CR ... CellRanger2-4 algorithm for 1MM UMI collapsing. |List of `string`, example: `"1MM_All"`, multiple_sep: `";"` | -|`--soloUMIfiltering` |type of UMI filtering (for reads uniquely mapping to genes) - - ... basic filtering: remove UMIs with N and homopolymers (similar to CellRanger 2.2.0). - MultiGeneUMI ... basic + remove lower-count UMIs that map to more than one gene. - MultiGeneUMI_All ... basic + remove all UMIs that map to more than one gene. - MultiGeneUMI_CR ... basic + remove lower-count UMIs that map to more than one gene, matching CellRanger > 3.0.0 . Only works with --soloUMIdedup 1MM_CR |List of `string`, multiple_sep: `";"` | -|`--soloOutFileNames` |file names for STARsolo output: file_name_prefix gene_names barcode_sequences cell_feature_count_matrix |List of `string`, example: `"Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"`, multiple_sep: `";"` | -|`--soloCellFilter` |cell filtering type and parameters - None ... do not output filtered cells - TopCells ... only report top cells by UMI count, followed by the exact number of cells - CellRanger2.2 ... simple filtering of CellRanger 2.2. Can be followed by numbers: number of expected cells, robust maximum percentile for UMI count, maximum to minimum ratio for UMI count The harcoded values are from CellRanger: nExpectedCells=3000; maxPercentile=0.99; maxMinRatio=10 - EmptyDrops_CR ... EmptyDrops filtering in CellRanger flavor. Please cite the original EmptyDrops paper: A.T.L Lun et al, Genome Biology, 20, 63 (2019): https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y Can be followed by 10 numeric parameters: nExpectedCells maxPercentile maxMinRatio indMin indMax umiMin umiMinFracMedian candMaxN FDR simN The harcoded values are from CellRanger: 3000 0.99 10 45000 90000 500 0.01 20000 0.01 10000 |List of `string`, example: `"CellRanger2.2", "3000", "0.99", "10"`, multiple_sep: `";"` | -|`--soloOutFormatFeaturesGeneField3` |field 3 in the Gene features.tsv file. If "-", then no 3rd field is output. |List of `string`, example: `"Gene Expression"`, multiple_sep: `";"` | -|`--soloCellReadStats` |Output reads statistics for each CB - Standard ... standard output |`string` | - - -### HTSeq arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--stranded` |Whether the data is from a strand-specific assay. 'reverse' means 'yes' with reversed strand interpretation. |`string`, default: `"yes"` | -|`--minimum_alignment_quality` |Skip all reads with MAPQ alignment quality lower than the given minimum value. MAPQ is the 5th column of a SAM/BAM file and its usage depends on the software used to map the reads. |`integer`, default: `10` | -|`--type` |Feature type (3rd column in GTF file) to be used, all features of other type are ignored (default, suitable for Ensembl GTF files: exon) |`string`, example: `"exon"` | -|`--id_attribute` |GTF attribute to be used as feature ID (default, suitable for Ensembl GTF files: gene_id). All feature of the right type (see -t option) within the same GTF attribute will be added together. The typical way of using this option is to count all exonic reads from each gene and add the exons but other uses are possible as well. You can call this option multiple times: in that case, the combination of all attributes separated by colons (:) will be used as a unique identifier, e.g. for exons you might use -i gene_id -i exon_number. |List of `string`, example: `"gene_id"`, multiple_sep: `";"` | -|`--additional_attributes` |Additional feature attributes (suitable for Ensembl GTF files: gene_name). Use multiple times for more than one additional attribute. These attributes are only used as annotations in the output, while the determination of how the counts are added together is done based on option -i. |List of `string`, example: `"gene_name"`, multiple_sep: `";"` | -|`--add_chromosome_info` |Store information about the chromosome of each feature as an additional attribute (e.g. colunm in the TSV output file). |`boolean_true` | -|`--mode` |Mode to handle reads overlapping more than one feature. |`string`, default: `"union"` | -|`--non_unique` |Whether and how to score reads that are not uniquely aligned or ambiguously assigned to features. |`string`, default: `"none"` | -|`--secondary_alignments` |Whether to score secondary alignments (0x100 flag). |`string` | -|`--supplementary_alignments` |Whether to score supplementary alignments (0x800 flag). |`string` | -|`--counts_output_sparse` |Store the counts as a sparse matrix (mtx, h5ad, loom). |`boolean_true` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/mapping/multi_star_to_h5mu.qmd b/components/modules/mapping/multi_star_to_h5mu.qmd deleted file mode 100644 index 0467220e..00000000 --- a/components/modules/mapping/multi_star_to_h5mu.qmd +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Multi star to h5mu" -namespace: "Mapping" -description: "Convert the output of `multi_star` to a h5mu" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `multi_star_to_h5mu` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/multi_star_to_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/multi_star_to_h5mu/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "/path/to/foo" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/multi_star_to_h5mu/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The directory created by `multi_star` |`file`, required, example: `"/path/to/foo"` | -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - diff --git a/components/modules/mapping/samtools_sort.qmd b/components/modules/mapping/samtools_sort.qmd deleted file mode 100644 index 0abea89c..00000000 --- a/components/modules/mapping/samtools_sort.qmd +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: "Samtools sort" -namespace: "Mapping" -description: "Sort and (optionally) index alignments." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `samtools_sort` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/samtools_sort/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Reads are sorted by leftmost coordinates, or by read name when `--sort_by_read_names` is used. - -An appropriate `@HD-SO` sort order header tag will be added or an existing one updated if necessary. - -Note that to generate an index file (by specifying `--output_bai`), the default coordinate sort must be used. -Thus the `--sort_by_read_names` and `--sort_by ` options are incompatible with `--output_bai`. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/samtools_sort/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input -input: # please fill in - example: "input.bam" - -# Output -# output_bam: "$id.$key.output_bam.bam" -# output_bai: "$id.$key.output_bai.bai" -# output_format: "bam" -# compression: 5 - -# Arguments -minimizer_cluster: false -# minimizer_kmer: 20 -sort_by_read_names: false -# sort_by: "foo" -no_pg: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/samtools_sort/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the SAM/BAM/CRAM files containing the mapped reads. |`file`, required, example: `"input.bam"` | - - -### Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output_bam` |Filename to output the counts to. |`file`, required, example: `"output.bam"` | -|`--output_bai` |BAI-format index for BAM file. |`file`, example: `"output.bam.bai"` | -|`--output_format` |The output format. By default, samtools tries to select a format based on the -o filename extension; if output is to standard output or no format can be deduced, bam is selected. |`string`, example: `"bam"` | -|`--compression` |Compression level, from 0 (uncompressed) to 9 (best |`integer`, example: `5` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--minimizer_cluster` |Sort unmapped reads (those in chromosome "*") by their sequence minimiser (Schleimer et al., 2003; Roberts et al., 2004), also reverse complementing as appropriate. This has the effect of collating some similar data together, improving the compressibility of the unmapped sequence. The minimiser kmer size is adjusted using the -K option. Note data compressed in this manner may need to be name collated prior to conversion back to fastq. Mapped sequences are sorted by chromosome and position. |`boolean_true` | -|`--minimizer_kmer` |Sets the kmer size to be used in the -M option. |`integer`, example: `20` | -|`--sort_by_read_names` |Sort by read names (i.e., the QNAME field) rather than by chromosomal coordinates. |`boolean_true` | -|`--sort_by` |Sort first by this value in the alignment tag, then by position or name (if also using -n). |`string` | -|`--no_pg` |Do not add a @PG line to the header of the output file. |`boolean_true` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - diff --git a/components/modules/mapping/star_align.qmd b/components/modules/mapping/star_align.qmd deleted file mode 100644 index 0e6f75f6..00000000 --- a/components/modules/mapping/star_align.qmd +++ /dev/null @@ -1,626 +0,0 @@ ---- -title: "Star align" -namespace: "Mapping" -description: "Align fastq files using STAR." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `star_align` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/star_align/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/star_align/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input/Output -input: # please fill in - example: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -reference: # please fill in - example: "/path/to/reference" -# output: "$id.$key.output" - -# Run Parameters -# runRNGseed: 777 - -# Genome Parameters -# genomeLoad: "NoSharedMemory" -# genomeFastaFiles: ["path/to/file"] -# genomeFileSizes: [0] -# genomeTransformOutput: ["foo"] -# genomeChrSetMitochondrial: ["chrM", "M", "MT"] - -# Splice Junctions Database -# sjdbFileChrStartEnd: ["foo"] -# sjdbGTFfile: "path/to/file" -# sjdbGTFchrPrefix: "foo" -# sjdbGTFfeatureExon: "exon" -# sjdbGTFtagExonParentTranscript: "transcript_id" -# sjdbGTFtagExonParentGene: "gene_id" -# sjdbGTFtagExonParentGeneName: ["gene_name"] -# sjdbGTFtagExonParentGeneType: ["gene_type", "gene_biotype"] -# sjdbOverhang: 100 -# sjdbScore: 2 -# sjdbInsertSave: "Basic" - -# Variation parameters -# varVCFfile: "foo" - -# Read Parameters -# readFilesType: "Fastx" -# readFilesSAMattrKeep: ["All"] -# readFilesManifest: "path/to/file" -# readFilesPrefix: "foo" -# readFilesCommand: ["foo"] -# readMapNumber: -1 -# readMatesLengthsIn: "NotEqual" -# readNameSeparator: ["/"] -# readQualityScoreBase: 33 - -# Read Clipping -# clipAdapterType: "Hamming" -# clip3pNbases: [0] -# clip3pAdapterSeq: ["foo"] -# clip3pAdapterMMp: [0.1] -# clip3pAfterAdapterNbases: [0] -# clip5pNbases: [0] - -# Limits -# limitGenomeGenerateRAM: 31000000000 -# limitIObufferSize: [30000000, 50000000] -# limitOutSAMoneReadBytes: 100000 -# limitOutSJoneRead: 1000 -# limitOutSJcollapsed: 1000000 -# limitBAMsortRAM: 0 -# limitSjdbInsertNsj: 1000000 -# limitNreadsSoft: -1 - -# Output: general -# outTmpKeep: "foo" -# outStd: "Log" -# outReadsUnmapped: "foo" -# outQSconversionAdd: 0 -# outMultimapperOrder: "Old_2.4" - -# Output: SAM and BAM -# outSAMtype: ["SAM"] -# outSAMmode: "Full" -# outSAMstrandField: "foo" -# outSAMattributes: ["Standard"] -# outSAMattrIHstart: 1 -# outSAMunmapped: ["foo"] -# outSAMorder: "Paired" -# outSAMprimaryFlag: "OneBestScore" -# outSAMreadID: "Standard" -# outSAMmapqUnique: 255 -# outSAMflagOR: 0 -# outSAMflagAND: 65535 -# outSAMattrRGline: ["foo"] -# outSAMheaderHD: ["foo"] -# outSAMheaderPG: ["foo"] -# outSAMheaderCommentFile: "foo" -# outSAMfilter: ["foo"] -# outSAMmultNmax: -1 -# outSAMtlen: 1 -# outBAMcompression: 1 -# outBAMsortingThreadN: 0 -# outBAMsortingBinsN: 50 - -# BAM processing -# bamRemoveDuplicatesType: "foo" -# bamRemoveDuplicatesMate2basesN: 0 - -# Output Wiggle -# outWigType: ["foo"] -# outWigStrand: "Stranded" -# outWigReferencesPrefix: "foo" -# outWigNorm: "RPM" - -# Output Filtering -# outFilterType: "Normal" -# outFilterMultimapScoreRange: 1 -# outFilterMultimapNmax: 10 -# outFilterMismatchNmax: 10 -# outFilterMismatchNoverLmax: 0.3 -# outFilterMismatchNoverReadLmax: 1.0 -# outFilterScoreMin: 0 -# outFilterScoreMinOverLread: 0.66 -# outFilterMatchNmin: 0 -# outFilterMatchNminOverLread: 0.66 -# outFilterIntronMotifs: "foo" -# outFilterIntronStrands: "RemoveInconsistentStrands" - -# Output splice junctions (SJ.out.tab) -# outSJtype: "Standard" - -# Output Filtering: Splice Junctions -# outSJfilterReads: "All" -# outSJfilterOverhangMin: [30, 12, 12, 12] -# outSJfilterCountUniqueMin: [3, 1, 1, 1] -# outSJfilterCountTotalMin: [3, 1, 1, 1] -# outSJfilterDistToOtherSJmin: [10, 0, 5, 10] -# outSJfilterIntronMaxVsReadN: [50000, 100000, 200000] - -# Scoring -# scoreGap: 0 -# scoreGapNoncan: -8 -# scoreGapGCAG: -4 -# scoreGapATAC: -8 -# scoreGenomicLengthLog2scale: 0 -# scoreDelOpen: -2 -# scoreDelBase: -2 -# scoreInsOpen: -2 -# scoreInsBase: -2 -# scoreStitchSJshift: 1 - -# Alignments and Seeding -# seedSearchStartLmax: 50 -# seedSearchStartLmaxOverLread: 1.0 -# seedSearchLmax: 0 -# seedMultimapNmax: 10000 -# seedPerReadNmax: 1000 -# seedPerWindowNmax: 50 -# seedNoneLociPerWindow: 10 -# seedSplitMin: 12 -# seedMapMin: 5 -# alignIntronMin: 21 -# alignIntronMax: 0 -# alignMatesGapMax: 0 -# alignSJoverhangMin: 5 -# alignSJstitchMismatchNmax: [0, -1, 0, 0] -# alignSJDBoverhangMin: 3 -# alignSplicedMateMapLmin: 0 -# alignSplicedMateMapLminOverLmate: 0.66 -# alignWindowsPerReadNmax: 10000 -# alignTranscriptsPerWindowNmax: 100 -# alignTranscriptsPerReadNmax: 10000 -# alignEndsType: "Local" -# alignEndsProtrude: "0 ConcordantPair" -# alignSoftClipAtReferenceEnds: "Yes" -# alignInsertionFlush: "foo" - -# Paired-End reads -# peOverlapNbasesMin: 0 -# peOverlapMMp: 0.01 - -# Windows, Anchors, Binning -# winAnchorMultimapNmax: 50 -# winBinNbits: 16 -# winAnchorDistNbins: 9 -# winFlankNbins: 4 -# winReadCoverageRelativeMin: 0.5 -# winReadCoverageBasesMin: 0 - -# Chimeric Alignments -# chimOutType: ["Junctions"] -# chimSegmentMin: 0 -# chimScoreMin: 0 -# chimScoreDropMax: 20 -# chimScoreSeparation: 10 -# chimScoreJunctionNonGTAG: -1 -# chimJunctionOverhangMin: 20 -# chimSegmentReadGapMax: 0 -# chimFilter: ["banGenomicN"] -# chimMainSegmentMultNmax: 10 -# chimMultimapNmax: 0 -# chimMultimapScoreRange: 1 -# chimNonchimScoreDropMin: 20 -# chimOutJunctionFormat: 0 - -# Quantification of Annotations -# quantMode: ["foo"] -# quantTranscriptomeBAMcompression: 1 -# quantTranscriptomeBan: "IndelSoftclipSingleend" - -# 2-pass Mapping -# twopassMode: "foo" -# twopass1readsN: -1 - -# WASP parameters -# waspOutputMode: "foo" - -# STARsolo (single cell RNA-seq) parameters -# soloType: ["foo"] -# soloCBwhitelist: ["foo"] -# soloCBstart: 1 -# soloCBlen: 16 -# soloUMIstart: 17 -# soloUMIlen: 10 -# soloBarcodeReadLength: 1 -# soloBarcodeMate: 0 -# soloCBposition: ["foo"] -# soloUMIposition: "foo" -# soloAdapterSequence: "foo" -# soloAdapterMismatchesNmax: 1 -# soloCBmatchWLtype: "1MM_multi" -# soloInputSAMattrBarcodeSeq: ["foo"] -# soloInputSAMattrBarcodeQual: ["foo"] -# soloStrand: "Forward" -# soloFeatures: ["Gene"] -# soloMultiMappers: ["Unique"] -# soloUMIdedup: ["1MM_All"] -# soloUMIfiltering: ["foo"] -# soloOutFileNames: ["Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"] -# soloCellFilter: ["CellRanger2.2", "3000", "0.99", "10"] -# soloOutFormatFeaturesGeneField3: ["Gene Expression"] -# soloCellReadStats: "foo" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/star_align/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input/Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The FASTQ files to be analyzed. Corresponds to the --readFilesIn argument in the STAR command. |List of `file`, required, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reference` |Path to the reference built by star_build_reference. Corresponds to the --genomeDir argument in the STAR command. |`file`, required, example: `"/path/to/reference"` | -|`--output` |Path to output directory. Corresponds to the --outFileNamePrefix argument in the STAR command. |`file`, required, example: `"/path/to/foo"` | - - -### Run Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--runRNGseed` |random number generator seed. |`integer`, example: `777` | - - -### Genome Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genomeLoad` |mode of shared memory usage for the genome files. Only used with --runMode alignReads. - LoadAndKeep ... load genome into shared and keep it in memory after run - LoadAndRemove ... load genome into shared but remove it after run - LoadAndExit ... load genome into shared memory and exit, keeping the genome in memory for future runs - Remove ... do not map anything, just remove loaded genome from memory - NoSharedMemory ... do not use shared memory, each job will have its own private copy of the genome |`string`, example: `"NoSharedMemory"` | -|`--genomeFastaFiles` |path(s) to the fasta files with the genome sequences, separated by spaces. These files should be plain text FASTA files, they *cannot* be zipped. Required for the genome generation (--runMode genomeGenerate). Can also be used in the mapping (--runMode alignReads) to add extra (new) sequences to the genome (e.g. spike-ins). |List of `file`, multiple_sep: `";"` | -|`--genomeFileSizes` |genome files exact sizes in bytes. Typically, this should not be defined by the user. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--genomeTransformOutput` |which output to transform back to original genome - SAM ... SAM/BAM alignments - SJ ... splice junctions (SJ.out.tab) - None ... no transformation of the output |List of `string`, multiple_sep: `";"` | -|`--genomeChrSetMitochondrial` |names of the mitochondrial chromosomes. Presently only used for STARsolo statistics output/ |List of `string`, example: `"chrM", "M", "MT"`, multiple_sep: `";"` | - - -### Splice Junctions Database - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sjdbFileChrStartEnd` |path to the files with genomic coordinates (chr start end strand) for the splice junction introns. Multiple files can be supplied and will be concatenated. |List of `string`, multiple_sep: `";"` | -|`--sjdbGTFfile` |path to the GTF file with annotations |`file` | -|`--sjdbGTFchrPrefix` |prefix for chromosome names in a GTF file (e.g. 'chr' for using ENSMEBL annotations with UCSC genomes) |`string` | -|`--sjdbGTFfeatureExon` |feature type in GTF file to be used as exons for building transcripts |`string`, example: `"exon"` | -|`--sjdbGTFtagExonParentTranscript` |GTF attribute name for parent transcript ID (default "transcript_id" works for GTF files) |`string`, example: `"transcript_id"` | -|`--sjdbGTFtagExonParentGene` |GTF attribute name for parent gene ID (default "gene_id" works for GTF files) |`string`, example: `"gene_id"` | -|`--sjdbGTFtagExonParentGeneName` |GTF attribute name for parent gene name |List of `string`, example: `"gene_name"`, multiple_sep: `";"` | -|`--sjdbGTFtagExonParentGeneType` |GTF attribute name for parent gene type |List of `string`, example: `"gene_type", "gene_biotype"`, multiple_sep: `";"` | -|`--sjdbOverhang` |length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1) |`integer`, example: `100` | -|`--sjdbScore` |extra alignment score for alignments that cross database junctions |`integer`, example: `2` | -|`--sjdbInsertSave` |which files to save when sjdb junctions are inserted on the fly at the mapping step - Basic ... only small junction / transcript files - All ... all files including big Genome, SA and SAindex - this will create a complete genome directory |`string`, example: `"Basic"` | - - -### Variation parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--varVCFfile` |path to the VCF file that contains variation data. The 10th column should contain the genotype information, e.g. 0/1 |`string` | - - -### Read Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--readFilesType` |format of input read files - Fastx ... FASTA or FASTQ - SAM SE ... SAM or BAM single-end reads; for BAM use --readFilesCommand samtools view - SAM PE ... SAM or BAM paired-end reads; for BAM use --readFilesCommand samtools view |`string`, example: `"Fastx"` | -|`--readFilesSAMattrKeep` |for --readFilesType SAM SE/PE, which SAM tags to keep in the output BAM, e.g.: --readFilesSAMtagsKeep RG PL - All ... keep all tags - None ... do not keep any tags |List of `string`, example: `"All"`, multiple_sep: `";"` | -|`--readFilesManifest` |path to the "manifest" file with the names of read files. The manifest file should contain 3 tab-separated columns: paired-end reads: read1_file_name $tab$ read2_file_name $tab$ read_group_line. single-end reads: read1_file_name $tab$ - $tab$ read_group_line. Spaces, but not tabs are allowed in file names. If read_group_line does not start with ID:, it can only contain one ID field, and ID: will be added to it. If read_group_line starts with ID:, it can contain several fields separated by $tab$, and all fields will be be copied verbatim into SAM @RG header line. |`file` | -|`--readFilesPrefix` |prefix for the read files names, i.e. it will be added in front of the strings in --readFilesIn |`string` | -|`--readFilesCommand` |command line to execute for each of the input file. This command should generate FASTA or FASTQ text and send it to stdout For example: zcat - to uncompress .gz files, bzcat - to uncompress .bz2 files, etc. |List of `string`, multiple_sep: `";"` | -|`--readMapNumber` |number of reads to map from the beginning of the file -1: map all reads |`integer`, example: `-1` | -|`--readMatesLengthsIn` |Equal/NotEqual - lengths of names,sequences,qualities for both mates are the same / not the same. NotEqual is safe in all situations. |`string`, example: `"NotEqual"` | -|`--readNameSeparator` |character(s) separating the part of the read names that will be trimmed in output (read name after space is always trimmed) |List of `string`, example: `"/"`, multiple_sep: `";"` | -|`--readQualityScoreBase` |number to be subtracted from the ASCII code to get Phred quality score |`integer`, example: `33` | - - -### Read Clipping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--clipAdapterType` |adapter clipping type - Hamming ... adapter clipping based on Hamming distance, with the number of mismatches controlled by --clip5pAdapterMMp - CellRanger4 ... 5p and 3p adapter clipping similar to CellRanger4. Utilizes Opal package by Martin Sosic: https://github.com/Martinsos/opal - None ... no adapter clipping, all other clip* parameters are disregarded |`string`, example: `"Hamming"` | -|`--clip3pNbases` |number(s) of bases to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip3pAdapterSeq` |adapter sequences to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. - polyA ... polyA sequence with the length equal to read length |List of `string`, multiple_sep: `";"` | -|`--clip3pAdapterMMp` |max proportion of mismatches for 3p adapter clipping for each mate. If one value is given, it will be assumed the same for both mates. |List of `double`, example: `0.1`, multiple_sep: `";"` | -|`--clip3pAfterAdapterNbases` |number of bases to clip from 3p of each mate after the adapter clipping. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip5pNbases` |number(s) of bases to clip from 5p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | - - -### Limits - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--limitGenomeGenerateRAM` |maximum available RAM (bytes) for genome generation |`long`, example: `NA` | -|`--limitIObufferSize` |max available buffers size (bytes) for input/output, per thread |List of `long`, example: `30000000, 50000000`, multiple_sep: `";"` | -|`--limitOutSAMoneReadBytes` |max size of the SAM record (bytes) for one read. Recommended value: >(2*(LengthMate1+LengthMate2+100)*outFilterMultimapNmax |`long`, example: `100000` | -|`--limitOutSJoneRead` |max number of junctions for one read (including all multi-mappers) |`integer`, example: `1000` | -|`--limitOutSJcollapsed` |max number of collapsed junctions |`integer`, example: `1000000` | -|`--limitBAMsortRAM` |maximum available RAM (bytes) for sorting BAM. If =0, it will be set to the genome index size. 0 value can only be used with --genomeLoad NoSharedMemory option. |`long`, example: `0` | -|`--limitSjdbInsertNsj` |maximum number of junctions to be inserted to the genome on the fly at the mapping stage, including those from annotations and those detected in the 1st step of the 2-pass run |`integer`, example: `1000000` | -|`--limitNreadsSoft` |soft limit on the number of reads |`integer`, example: `-1` | - - -### Output: general - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outTmpKeep` |whether to keep the temporary files after STAR runs is finished - None ... remove all temporary files - All ... keep all files |`string` | -|`--outStd` |which output will be directed to stdout (standard out) - Log ... log messages - SAM ... alignments in SAM format (which normally are output to Aligned.out.sam file), normal standard output will go into Log.std.out - BAM_Unsorted ... alignments in BAM format, unsorted. Requires --outSAMtype BAM Unsorted - BAM_SortedByCoordinate ... alignments in BAM format, sorted by coordinate. Requires --outSAMtype BAM SortedByCoordinate - BAM_Quant ... alignments to transcriptome in BAM format, unsorted. Requires --quantMode TranscriptomeSAM |`string`, example: `"Log"` | -|`--outReadsUnmapped` |output of unmapped and partially mapped (i.e. mapped only one mate of a paired end read) reads in separate file(s). - None ... no output - Fastx ... output in separate fasta/fastq files, Unmapped.out.mate1/2 |`string` | -|`--outQSconversionAdd` |add this number to the quality score (e.g. to convert from Illumina to Sanger, use -31) |`integer`, example: `0` | -|`--outMultimapperOrder` |order of multimapping alignments in the output files - Old_2.4 ... quasi-random order used before 2.5.0 - Random ... random order of alignments for each multi-mapper. Read mates (pairs) are always adjacent, all alignment for each read stay together. This option will become default in the future releases. |`string`, example: `"Old_2.4"` | - - -### Output: SAM and BAM - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSAMtype` |type of SAM/BAM output 1st word: - BAM ... output BAM without sorting - SAM ... output SAM without sorting - None ... no SAM/BAM output 2nd, 3rd: - Unsorted ... standard unsorted - SortedByCoordinate ... sorted by coordinate. This option will allocate extra memory for sorting which can be specified by --limitBAMsortRAM. |List of `string`, example: `"SAM"`, multiple_sep: `";"` | -|`--outSAMmode` |mode of SAM output - None ... no SAM output - Full ... full SAM output - NoQS ... full SAM but without quality scores |`string`, example: `"Full"` | -|`--outSAMstrandField` |Cufflinks-like strand field flag - None ... not used - intronMotif ... strand derived from the intron motif. This option changes the output alignments: reads with inconsistent and/or non-canonical introns are filtered out. |`string` | -|`--outSAMattributes` |a string of desired SAM attributes, in the order desired for the output SAM. Tags can be listed in any combination/order. ***Presets: - None ... no attributes - Standard ... NH HI AS nM - All ... NH HI AS nM NM MD jM jI MC ch ***Alignment: - NH ... number of loci the reads maps to: =1 for unique mappers, >1 for multimappers. Standard SAM tag. - HI ... multiple alignment index, starts with --outSAMattrIHstart (=1 by default). Standard SAM tag. - AS ... local alignment score, +1/-1 for matches/mismateches, score* penalties for indels and gaps. For PE reads, total score for two mates. Stadnard SAM tag. - nM ... number of mismatches. For PE reads, sum over two mates. - NM ... edit distance to the reference (number of mismatched + inserted + deleted bases) for each mate. Standard SAM tag. - MD ... string encoding mismatched and deleted reference bases (see standard SAM specifications). Standard SAM tag. - jM ... intron motifs for all junctions (i.e. N in CIGAR): 0: non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT. If splice junctions database is used, and a junction is annotated, 20 is added to its motif value. - jI ... start and end of introns for all junctions (1-based). - XS ... alignment strand according to --outSAMstrandField. - MC ... mate's CIGAR string. Standard SAM tag. - ch ... marks all segment of all chimeric alingments for --chimOutType WithinBAM output. - cN ... number of bases clipped from the read ends: 5' and 3' ***Variation: - vA ... variant allele - vG ... genomic coordinate of the variant overlapped by the read. - vW ... 1 - alignment passes WASP filtering; 2,3,4,5,6,7 - alignment does not pass WASP filtering. Requires --waspOutputMode SAMtag. ***STARsolo: - CR CY UR UY ... sequences and quality scores of cell barcodes and UMIs for the solo* demultiplexing. - GX GN ... gene ID and gene name for unique-gene reads. - gx gn ... gene IDs and gene names for unique- and multi-gene reads. - CB UB ... error-corrected cell barcodes and UMIs for solo* demultiplexing. Requires --outSAMtype BAM SortedByCoordinate. - sM ... assessment of CB and UMI. - sS ... sequence of the entire barcode (CB,UMI,adapter). - sQ ... quality of the entire barcode. ***Unsupported/undocumented: - ha ... haplotype (1/2) when mapping to the diploid genome. Requires genome generated with --genomeTransformType Diploid . - rB ... alignment block read/genomic coordinates. - vR ... read coordinate of the variant. |List of `string`, example: `"Standard"`, multiple_sep: `";"` | -|`--outSAMattrIHstart` |start value for the IH attribute. 0 may be required by some downstream software, such as Cufflinks or StringTie. |`integer`, example: `1` | -|`--outSAMunmapped` |output of unmapped reads in the SAM format 1st word: - None ... no output - Within ... output unmapped reads within the main SAM file (i.e. Aligned.out.sam) 2nd word: - KeepPairs ... record unmapped mate for each alignment, and, in case of unsorted output, keep it adjacent to its mapped mate. Only affects multi-mapping reads. |List of `string`, multiple_sep: `";"` | -|`--outSAMorder` |type of sorting for the SAM output Paired: one mate after the other for all paired alignments PairedKeepInputOrder: one mate after the other for all paired alignments, the order is kept the same as in the input FASTQ files |`string`, example: `"Paired"` | -|`--outSAMprimaryFlag` |which alignments are considered primary - all others will be marked with 0x100 bit in the FLAG - OneBestScore ... only one alignment with the best score is primary - AllBestScore ... all alignments with the best score are primary |`string`, example: `"OneBestScore"` | -|`--outSAMreadID` |read ID record type - Standard ... first word (until space) from the FASTx read ID line, removing /1,/2 from the end - Number ... read number (index) in the FASTx file |`string`, example: `"Standard"` | -|`--outSAMmapqUnique` |0 to 255: the MAPQ value for unique mappers |`integer`, example: `255` | -|`--outSAMflagOR` |0 to 65535: sam FLAG will be bitwise OR'd with this value, i.e. FLAG=FLAG | outSAMflagOR. This is applied after all flags have been set by STAR, and after outSAMflagAND. Can be used to set specific bits that are not set otherwise. |`integer`, example: `0` | -|`--outSAMflagAND` |0 to 65535: sam FLAG will be bitwise AND'd with this value, i.e. FLAG=FLAG & outSAMflagOR. This is applied after all flags have been set by STAR, but before outSAMflagOR. Can be used to unset specific bits that are not set otherwise. |`integer`, example: `65535` | -|`--outSAMattrRGline` |SAM/BAM read group line. The first word contains the read group identifier and must start with "ID:", e.g. --outSAMattrRGline ID:xxx CN:yy "DS:z z z". xxx will be added as RG tag to each output alignment. Any spaces in the tag values have to be double quoted. Comma separated RG lines correspons to different (comma separated) input files in --readFilesIn. Commas have to be surrounded by spaces, e.g. --outSAMattrRGline ID:xxx , ID:zzz "DS:z z" , ID:yyy DS:yyyy |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderHD` |@HD (header) line of the SAM header |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderPG` |extra @PG (software) line of the SAM header (in addition to STAR) |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderCommentFile` |path to the file with @CO (comment) lines of the SAM header |`string` | -|`--outSAMfilter` |filter the output into main SAM/BAM files - KeepOnlyAddedReferences ... only keep the reads for which all alignments are to the extra reference sequences added with --genomeFastaFiles at the mapping stage. - KeepAllAddedReferences ... keep all alignments to the extra reference sequences added with --genomeFastaFiles at the mapping stage. |List of `string`, multiple_sep: `";"` | -|`--outSAMmultNmax` |max number of multiple alignments for a read that will be output to the SAM/BAM files. Note that if this value is not equal to -1, the top scoring alignment will be output first - -1 ... all alignments (up to --outFilterMultimapNmax) will be output |`integer`, example: `-1` | -|`--outSAMtlen` |calculation method for the TLEN field in the SAM/BAM files - 1 ... leftmost base of the (+)strand mate to rightmost base of the (-)mate. (+)sign for the (+)strand mate - 2 ... leftmost base of any mate to rightmost base of any mate. (+)sign for the mate with the leftmost base. This is different from 1 for overlapping mates with protruding ends |`integer`, example: `1` | -|`--outBAMcompression` |-1 to 10 BAM compression level, -1=default compression (6?), 0=no compression, 10=maximum compression |`integer`, example: `1` | -|`--outBAMsortingThreadN` |>=0: number of threads for BAM sorting. 0 will default to min(6,--runThreadN). |`integer`, example: `0` | -|`--outBAMsortingBinsN` |>0: number of genome bins for coordinate-sorting |`integer`, example: `50` | - - -### BAM processing - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--bamRemoveDuplicatesType` |mark duplicates in the BAM file, for now only works with (i) sorted BAM fed with inputBAMfile, and (ii) for paired-end alignments only - - ... no duplicate removal/marking - UniqueIdentical ... mark all multimappers, and duplicate unique mappers. The coordinates, FLAG, CIGAR must be identical - UniqueIdenticalNotMulti ... mark duplicate unique mappers but not multimappers. |`string` | -|`--bamRemoveDuplicatesMate2basesN` |number of bases from the 5' of mate 2 to use in collapsing (e.g. for RAMPAGE) |`integer`, example: `0` | - - -### Output Wiggle - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outWigType` |type of signal output, e.g. "bedGraph" OR "bedGraph read1_5p". Requires sorted BAM: --outSAMtype BAM SortedByCoordinate . 1st word: - None ... no signal output - bedGraph ... bedGraph format - wiggle ... wiggle format 2nd word: - read1_5p ... signal from only 5' of the 1st read, useful for CAGE/RAMPAGE etc - read2 ... signal from only 2nd read |List of `string`, multiple_sep: `";"` | -|`--outWigStrand` |strandedness of wiggle/bedGraph output - Stranded ... separate strands, str1 and str2 - Unstranded ... collapsed strands |`string`, example: `"Stranded"` | -|`--outWigReferencesPrefix` |prefix matching reference names to include in the output wiggle file, e.g. "chr", default "-" - include all references |`string` | -|`--outWigNorm` |type of normalization for the signal - RPM ... reads per million of mapped reads - None ... no normalization, "raw" counts |`string`, example: `"RPM"` | - - -### Output Filtering - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outFilterType` |type of filtering - Normal ... standard filtering using only current alignment - BySJout ... keep only those reads that contain junctions that passed filtering into SJ.out.tab |`string`, example: `"Normal"` | -|`--outFilterMultimapScoreRange` |the score range below the maximum score for multimapping alignments |`integer`, example: `1` | -|`--outFilterMultimapNmax` |maximum number of loci the read is allowed to map to. Alignments (all of them) will be output only if the read maps to no more loci than this value. Otherwise no alignments will be output, and the read will be counted as "mapped to too many loci" in the Log.final.out . |`integer`, example: `10` | -|`--outFilterMismatchNmax` |alignment will be output only if it has no more mismatches than this value. |`integer`, example: `10` | -|`--outFilterMismatchNoverLmax` |alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value. |`double`, example: `0.3` | -|`--outFilterMismatchNoverReadLmax` |alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value. |`double`, example: `1` | -|`--outFilterScoreMin` |alignment will be output only if its score is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterScoreMinOverLread` |same as outFilterScoreMin, but normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `0.66` | -|`--outFilterMatchNmin` |alignment will be output only if the number of matched bases is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterMatchNminOverLread` |sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads). |`double`, example: `0.66` | -|`--outFilterIntronMotifs` |filter alignment using their motifs - None ... no filtering - RemoveNoncanonical ... filter out alignments that contain non-canonical junctions - RemoveNoncanonicalUnannotated ... filter out alignments that contain non-canonical unannotated junctions when using annotated splice junctions database. The annotated non-canonical junctions will be kept. |`string` | -|`--outFilterIntronStrands` |filter alignments - RemoveInconsistentStrands ... remove alignments that have junctions with inconsistent strands - None ... no filtering |`string`, example: `"RemoveInconsistentStrands"` | - - -### Output splice junctions (SJ.out.tab) - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJtype` |type of splice junction output - Standard ... standard SJ.out.tab output - None ... no splice junction output |`string`, example: `"Standard"` | - - -### Output Filtering: Splice Junctions - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJfilterReads` |which reads to consider for collapsed splice junctions output - All ... all reads, unique- and multi-mappers - Unique ... uniquely mapping reads only |`string`, example: `"All"` | -|`--outSJfilterOverhangMin` |minimum overhang length for splice junctions on both sides for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif does not apply to annotated junctions |List of `integer`, example: `30, 12, 12, 12`, multiple_sep: `";"` | -|`--outSJfilterCountUniqueMin` |minimum uniquely mapping read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterCountTotalMin` |minimum total (multi-mapping+unique) read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterDistToOtherSJmin` |minimum allowed distance to other junctions' donor/acceptor does not apply to annotated junctions |List of `integer`, example: `10, 0, 5, 10`, multiple_sep: `";"` | -|`--outSJfilterIntronMaxVsReadN` |maximum gap allowed for junctions supported by 1,2,3,,,N reads i.e. by default junctions supported by 1 read can have gaps <=50000b, by 2 reads: <=100000b, by 3 reads: <=200000. by >=4 reads any gap <=alignIntronMax does not apply to annotated junctions |List of `integer`, example: `50000, 100000, 200000`, multiple_sep: `";"` | - - -### Scoring - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--scoreGap` |splice junction penalty (independent on intron motif) |`integer`, example: `0` | -|`--scoreGapNoncan` |non-canonical junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGapGCAG` |GC/AG and CT/GC junction penalty (in addition to scoreGap) |`integer`, example: `-4` | -|`--scoreGapATAC` |AT/AC and GT/AT junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGenomicLengthLog2scale` |extra score logarithmically scaled with genomic length of the alignment: scoreGenomicLengthLog2scale*log2(genomicLength) |`integer`, example: `0` | -|`--scoreDelOpen` |deletion open penalty |`integer`, example: `-2` | -|`--scoreDelBase` |deletion extension penalty per base (in addition to scoreDelOpen) |`integer`, example: `-2` | -|`--scoreInsOpen` |insertion open penalty |`integer`, example: `-2` | -|`--scoreInsBase` |insertion extension penalty per base (in addition to scoreInsOpen) |`integer`, example: `-2` | -|`--scoreStitchSJshift` |maximum score reduction while searching for SJ boundaries in the stitching step |`integer`, example: `1` | - - -### Alignments and Seeding - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--seedSearchStartLmax` |defines the search start point through the read - the read is split into pieces no longer than this value |`integer`, example: `50` | -|`--seedSearchStartLmaxOverLread` |seedSearchStartLmax normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `1` | -|`--seedSearchLmax` |defines the maximum length of the seeds, if =0 seed length is not limited |`integer`, example: `0` | -|`--seedMultimapNmax` |only pieces that map fewer than this value are utilized in the stitching procedure |`integer`, example: `10000` | -|`--seedPerReadNmax` |max number of seeds per read |`integer`, example: `1000` | -|`--seedPerWindowNmax` |max number of seeds per window |`integer`, example: `50` | -|`--seedNoneLociPerWindow` |max number of one seed loci per window |`integer`, example: `10` | -|`--seedSplitMin` |min length of the seed sequences split by Ns or mate gap |`integer`, example: `12` | -|`--seedMapMin` |min length of seeds to be mapped |`integer`, example: `5` | -|`--alignIntronMin` |minimum intron size, genomic gap is considered intron if its length>=alignIntronMin, otherwise it is considered Deletion |`integer`, example: `21` | -|`--alignIntronMax` |maximum intron size, if 0, max intron size will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignMatesGapMax` |maximum gap between two mates, if 0, max intron gap will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignSJoverhangMin` |minimum overhang (i.e. block size) for spliced alignments |`integer`, example: `5` | -|`--alignSJstitchMismatchNmax` |maximum number of mismatches for stitching of the splice junctions (-1: no limit). (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. |List of `integer`, example: `0, -1, 0, 0`, multiple_sep: `";"` | -|`--alignSJDBoverhangMin` |minimum overhang (i.e. block size) for annotated (sjdb) spliced alignments |`integer`, example: `3` | -|`--alignSplicedMateMapLmin` |minimum mapped length for a read mate that is spliced |`integer`, example: `0` | -|`--alignSplicedMateMapLminOverLmate` |alignSplicedMateMapLmin normalized to mate length |`double`, example: `0.66` | -|`--alignWindowsPerReadNmax` |max number of windows per read |`integer`, example: `10000` | -|`--alignTranscriptsPerWindowNmax` |max number of transcripts per window |`integer`, example: `100` | -|`--alignTranscriptsPerReadNmax` |max number of different alignments per read to consider |`integer`, example: `10000` | -|`--alignEndsType` |type of read ends alignment - Local ... standard local alignment with soft-clipping allowed - EndToEnd ... force end-to-end read alignment, do not soft-clip - Extend5pOfRead1 ... fully extend only the 5p of the read1, all other ends: local alignment - Extend5pOfReads12 ... fully extend only the 5p of the both read1 and read2, all other ends: local alignment |`string`, example: `"Local"` | -|`--alignEndsProtrude` |allow protrusion of alignment ends, i.e. start (end) of the +strand mate downstream of the start (end) of the -strand mate 1st word: int: maximum number of protrusion bases allowed 2nd word: string: - ConcordantPair ... report alignments with non-zero protrusion as concordant pairs - DiscordantPair ... report alignments with non-zero protrusion as discordant pairs |`string`, example: `"0 ConcordantPair"` | -|`--alignSoftClipAtReferenceEnds` |allow the soft-clipping of the alignments past the end of the chromosomes - Yes ... allow - No ... prohibit, useful for compatibility with Cufflinks |`string`, example: `"Yes"` | -|`--alignInsertionFlush` |how to flush ambiguous insertion positions - None ... insertions are not flushed - Right ... insertions are flushed to the right |`string` | - - -### Paired-End reads - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--peOverlapNbasesMin` |minimum number of overlapping bases to trigger mates merging and realignment. Specify >0 value to switch on the "merginf of overlapping mates" algorithm. |`integer`, example: `0` | -|`--peOverlapMMp` |maximum proportion of mismatched bases in the overlap area |`double`, example: `0.01` | - - -### Windows, Anchors, Binning - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--winAnchorMultimapNmax` |max number of loci anchors are allowed to map to |`integer`, example: `50` | -|`--winBinNbits` |=log2(winBin), where winBin is the size of the bin for the windows/clustering, each window will occupy an integer number of bins. |`integer`, example: `16` | -|`--winAnchorDistNbins` |max number of bins between two anchors that allows aggregation of anchors into one window |`integer`, example: `9` | -|`--winFlankNbins` |log2(winFlank), where win Flank is the size of the left and right flanking regions for each window |`integer`, example: `4` | -|`--winReadCoverageRelativeMin` |minimum relative coverage of the read sequence by the seeds in a window, for STARlong algorithm only. |`double`, example: `0.5` | -|`--winReadCoverageBasesMin` |minimum number of bases covered by the seeds in a window , for STARlong algorithm only. |`integer`, example: `0` | - - -### Chimeric Alignments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--chimOutType` |type of chimeric output - Junctions ... Chimeric.out.junction - SeparateSAMold ... output old SAM into separate Chimeric.out.sam file - WithinBAM ... output into main aligned BAM files (Aligned.*.bam) - WithinBAM HardClip ... (default) hard-clipping in the CIGAR for supplemental chimeric alignments (default if no 2nd word is present) - WithinBAM SoftClip ... soft-clipping in the CIGAR for supplemental chimeric alignments |List of `string`, example: `"Junctions"`, multiple_sep: `";"` | -|`--chimSegmentMin` |minimum length of chimeric segment length, if ==0, no chimeric output |`integer`, example: `0` | -|`--chimScoreMin` |minimum total (summed) score of the chimeric segments |`integer`, example: `0` | -|`--chimScoreDropMax` |max drop (difference) of chimeric score (the sum of scores of all chimeric segments) from the read length |`integer`, example: `20` | -|`--chimScoreSeparation` |minimum difference (separation) between the best chimeric score and the next one |`integer`, example: `10` | -|`--chimScoreJunctionNonGTAG` |penalty for a non-GT/AG chimeric junction |`integer`, example: `-1` | -|`--chimJunctionOverhangMin` |minimum overhang for a chimeric junction |`integer`, example: `20` | -|`--chimSegmentReadGapMax` |maximum gap in the read sequence between chimeric segments |`integer`, example: `0` | -|`--chimFilter` |different filters for chimeric alignments - None ... no filtering - banGenomicN ... Ns are not allowed in the genome sequence around the chimeric junction |List of `string`, example: `"banGenomicN"`, multiple_sep: `";"` | -|`--chimMainSegmentMultNmax` |maximum number of multi-alignments for the main chimeric segment. =1 will prohibit multimapping main segments. |`integer`, example: `10` | -|`--chimMultimapNmax` |maximum number of chimeric multi-alignments - 0 ... use the old scheme for chimeric detection which only considered unique alignments |`integer`, example: `0` | -|`--chimMultimapScoreRange` |the score range for multi-mapping chimeras below the best chimeric score. Only works with --chimMultimapNmax > 1 |`integer`, example: `1` | -|`--chimNonchimScoreDropMin` |to trigger chimeric detection, the drop in the best non-chimeric alignment score with respect to the read length has to be greater than this value |`integer`, example: `20` | -|`--chimOutJunctionFormat` |formatting type for the Chimeric.out.junction file - 0 ... no comment lines/headers - 1 ... comment lines at the end of the file: command line and Nreads: total, unique/multi-mapping |`integer`, example: `0` | - - -### Quantification of Annotations - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--quantMode` |types of quantification requested - - ... none - TranscriptomeSAM ... output SAM/BAM alignments to transcriptome into a separate file - GeneCounts ... count reads per gene |List of `string`, multiple_sep: `";"` | -|`--quantTranscriptomeBAMcompression` |-2 to 10 transcriptome BAM compression level - -2 ... no BAM output - -1 ... default compression (6?) - 0 ... no compression - 10 ... maximum compression |`integer`, example: `1` | -|`--quantTranscriptomeBan` |prohibit various alignment type - IndelSoftclipSingleend ... prohibit indels, soft clipping and single-end alignments - compatible with RSEM - Singleend ... prohibit single-end alignments |`string`, example: `"IndelSoftclipSingleend"` | - - -### 2-pass Mapping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--twopassMode` |2-pass mapping mode. - None ... 1-pass mapping - Basic ... basic 2-pass mapping, with all 1st pass junctions inserted into the genome indices on the fly |`string` | -|`--twopass1readsN` |number of reads to process for the 1st step. Use very large number (or default -1) to map all reads in the first step. |`integer`, example: `-1` | - - -### WASP parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--waspOutputMode` |WASP allele-specific output type. This is re-implementation of the original WASP mappability filtering by Bryce van de Geijn, Graham McVicker, Yoav Gilad & Jonathan K Pritchard. Please cite the original WASP paper: Nature Methods 12, 1061-1063 (2015), https://www.nature.com/articles/nmeth.3582 . - SAMtag ... add WASP tags to the alignments that pass WASP filtering |`string` | - - -### STARsolo (single cell RNA-seq) parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--soloType` |type of single-cell RNA-seq - CB_UMI_Simple ... (a.k.a. Droplet) one UMI and one Cell Barcode of fixed length in read2, e.g. Drop-seq and 10X Chromium. - CB_UMI_Complex ... multiple Cell Barcodes of varying length, one UMI of fixed length and one adapter sequence of fixed length are allowed in read2 only (e.g. inDrop, ddSeq). - CB_samTagOut ... output Cell Barcode as CR and/or CB SAm tag. No UMI counting. --readFilesIn cDNA_read1 [cDNA_read2 if paired-end] CellBarcode_read . Requires --outSAMtype BAM Unsorted [and/or SortedByCoordinate] - SmartSeq ... Smart-seq: each cell in a separate FASTQ (paired- or single-end), barcodes are corresponding read-groups, no UMI sequences, alignments deduplicated according to alignment start and end (after extending soft-clipped bases) |List of `string`, multiple_sep: `";"` | -|`--soloCBwhitelist` |file(s) with whitelist(s) of cell barcodes. Only --soloType CB_UMI_Complex allows more than one whitelist file. - None ... no whitelist: all cell barcodes are allowed |List of `string`, multiple_sep: `";"` | -|`--soloCBstart` |cell barcode start base |`integer`, example: `1` | -|`--soloCBlen` |cell barcode length |`integer`, example: `16` | -|`--soloUMIstart` |UMI start base |`integer`, example: `17` | -|`--soloUMIlen` |UMI length |`integer`, example: `10` | -|`--soloBarcodeReadLength` |length of the barcode read - 1 ... equal to sum of soloCBlen+soloUMIlen - 0 ... not defined, do not check |`integer`, example: `1` | -|`--soloBarcodeMate` |identifies which read mate contains the barcode (CB+UMI) sequence - 0 ... barcode sequence is on separate read, which should always be the last file in the --readFilesIn listed - 1 ... barcode sequence is a part of mate 1 - 2 ... barcode sequence is a part of mate 2 |`integer`, example: `0` | -|`--soloCBposition` |position of Cell Barcode(s) on the barcode read. Presently only works with --soloType CB_UMI_Complex, and barcodes are assumed to be on Read2. Format for each barcode: startAnchor_startPosition_endAnchor_endPosition start(end)Anchor defines the Anchor Base for the CB: 0: read start; 1: read end; 2: adapter start; 3: adapter end start(end)Position is the 0-based position with of the CB start(end) with respect to the Anchor Base String for different barcodes are separated by space. Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 0_0_2_-1 3_1_3_8 |List of `string`, multiple_sep: `";"` | -|`--soloUMIposition` |position of the UMI on the barcode read, same as soloCBposition Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 3_9_3_14 |`string` | -|`--soloAdapterSequence` |adapter sequence to anchor barcodes. Only one adapter sequence is allowed. |`string` | -|`--soloAdapterMismatchesNmax` |maximum number of mismatches allowed in adapter sequence. |`integer`, example: `1` | -|`--soloCBmatchWLtype` |matching the Cell Barcodes to the WhiteList - Exact ... only exact matches allowed - 1MM ... only one match in whitelist with 1 mismatched base allowed. Allowed CBs have to have at least one read with exact match. - 1MM_multi ... multiple matches in whitelist with 1 mismatched base allowed, posterior probability calculation is used choose one of the matches. Allowed CBs have to have at least one read with exact match. This option matches best with CellRanger 2.2.0 - 1MM_multi_pseudocounts ... same as 1MM_Multi, but pseudocounts of 1 are added to all whitelist barcodes. - 1MM_multi_Nbase_pseudocounts ... same as 1MM_multi_pseudocounts, multimatching to WL is allowed for CBs with N-bases. This option matches best with CellRanger >= 3.0.0 - EditDist_2 ... allow up to edit distance of 3 fpr each of the barcodes. May include one deletion + one insertion. Only works with --soloType CB_UMI_Complex. Matches to multiple passlist barcdoes are not allowed. Similar to ParseBio Split-seq pipeline. |`string`, example: `"1MM_multi"` | -|`--soloInputSAMattrBarcodeSeq` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode sequence (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeSeq CR UR . This parameter is required when running STARsolo with input from SAM. |List of `string`, multiple_sep: `";"` | -|`--soloInputSAMattrBarcodeQual` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode qualities (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeQual CY UY . If this parameter is '-' (default), the quality 'H' will be assigned to all bases. |List of `string`, multiple_sep: `";"` | -|`--soloStrand` |strandedness of the solo libraries: - Unstranded ... no strand information - Forward ... read strand same as the original RNA molecule - Reverse ... read strand opposite to the original RNA molecule |`string`, example: `"Forward"` | -|`--soloFeatures` |genomic features for which the UMI counts per Cell Barcode are collected - Gene ... genes: reads match the gene transcript - SJ ... splice junctions: reported in SJ.out.tab - GeneFull ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns - GeneFull_ExonOverIntron ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns: prioritize 100% overlap with exons - GeneFull_Ex50pAS ... full gene (pre-RNA): count all reads overlapping genes' exons and introns: prioritize >50% overlap with exons. Do not count reads with 100% exonic overlap in the antisense direction. |List of `string`, example: `"Gene"`, multiple_sep: `";"` | -|`--soloMultiMappers` |counting method for reads mapping to multiple genes - Unique ... count only reads that map to unique genes - Uniform ... uniformly distribute multi-genic UMIs to all genes - Rescue ... distribute UMIs proportionally to unique+uniform counts (~ first iteration of EM) - PropUnique ... distribute UMIs proportionally to unique mappers, if present, and uniformly if not. - EM ... multi-gene UMIs are distributed using Expectation Maximization algorithm |List of `string`, example: `"Unique"`, multiple_sep: `";"` | -|`--soloUMIdedup` |type of UMI deduplication (collapsing) algorithm - 1MM_All ... all UMIs with 1 mismatch distance to each other are collapsed (i.e. counted once). - 1MM_Directional_UMItools ... follows the "directional" method from the UMI-tools by Smith, Heger and Sudbery (Genome Research 2017). - 1MM_Directional ... same as 1MM_Directional_UMItools, but with more stringent criteria for duplicate UMIs - Exact ... only exactly matching UMIs are collapsed. - NoDedup ... no deduplication of UMIs, count all reads. - 1MM_CR ... CellRanger2-4 algorithm for 1MM UMI collapsing. |List of `string`, example: `"1MM_All"`, multiple_sep: `";"` | -|`--soloUMIfiltering` |type of UMI filtering (for reads uniquely mapping to genes) - - ... basic filtering: remove UMIs with N and homopolymers (similar to CellRanger 2.2.0). - MultiGeneUMI ... basic + remove lower-count UMIs that map to more than one gene. - MultiGeneUMI_All ... basic + remove all UMIs that map to more than one gene. - MultiGeneUMI_CR ... basic + remove lower-count UMIs that map to more than one gene, matching CellRanger > 3.0.0 . Only works with --soloUMIdedup 1MM_CR |List of `string`, multiple_sep: `";"` | -|`--soloOutFileNames` |file names for STARsolo output: file_name_prefix gene_names barcode_sequences cell_feature_count_matrix |List of `string`, example: `"Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"`, multiple_sep: `";"` | -|`--soloCellFilter` |cell filtering type and parameters - None ... do not output filtered cells - TopCells ... only report top cells by UMI count, followed by the exact number of cells - CellRanger2.2 ... simple filtering of CellRanger 2.2. Can be followed by numbers: number of expected cells, robust maximum percentile for UMI count, maximum to minimum ratio for UMI count The harcoded values are from CellRanger: nExpectedCells=3000; maxPercentile=0.99; maxMinRatio=10 - EmptyDrops_CR ... EmptyDrops filtering in CellRanger flavor. Please cite the original EmptyDrops paper: A.T.L Lun et al, Genome Biology, 20, 63 (2019): https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y Can be followed by 10 numeric parameters: nExpectedCells maxPercentile maxMinRatio indMin indMax umiMin umiMinFracMedian candMaxN FDR simN The harcoded values are from CellRanger: 3000 0.99 10 45000 90000 500 0.01 20000 0.01 10000 |List of `string`, example: `"CellRanger2.2", "3000", "0.99", "10"`, multiple_sep: `";"` | -|`--soloOutFormatFeaturesGeneField3` |field 3 in the Gene features.tsv file. If "-", then no 3rd field is output. |List of `string`, example: `"Gene Expression"`, multiple_sep: `";"` | -|`--soloCellReadStats` |Output reads statistics for each CB - Standard ... standard output |`string` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/mapping/star_align_v273a.qmd b/components/modules/mapping/star_align_v273a.qmd deleted file mode 100644 index bdcb1362..00000000 --- a/components/modules/mapping/star_align_v273a.qmd +++ /dev/null @@ -1,626 +0,0 @@ ---- -title: "Star align v273a" -namespace: "Mapping" -description: "Align fastq files using STAR." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `star_align_v273a` -Namespace: `mapping` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/mapping/star_align_v273a/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/mapping/star_align_v273a/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input/Output -input: # please fill in - example: ["mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"] -reference: # please fill in - example: "/path/to/reference" -# output: "$id.$key.output" - -# Run Parameters -# runRNGseed: 777 - -# Genome Parameters -# genomeLoad: "NoSharedMemory" -# genomeFastaFiles: ["path/to/file"] -# genomeFileSizes: [0] -# genomeTransformOutput: ["foo"] -# genomeChrSetMitochondrial: ["chrM", "M", "MT"] - -# Splice Junctions Database -# sjdbFileChrStartEnd: ["foo"] -# sjdbGTFfile: "path/to/file" -# sjdbGTFchrPrefix: "foo" -# sjdbGTFfeatureExon: "exon" -# sjdbGTFtagExonParentTranscript: "transcript_id" -# sjdbGTFtagExonParentGene: "gene_id" -# sjdbGTFtagExonParentGeneName: ["gene_name"] -# sjdbGTFtagExonParentGeneType: ["gene_type", "gene_biotype"] -# sjdbOverhang: 100 -# sjdbScore: 2 -# sjdbInsertSave: "Basic" - -# Variation parameters -# varVCFfile: "foo" - -# Read Parameters -# readFilesType: "Fastx" -# readFilesSAMattrKeep: ["All"] -# readFilesManifest: "path/to/file" -# readFilesPrefix: "foo" -# readFilesCommand: ["foo"] -# readMapNumber: -1 -# readMatesLengthsIn: "NotEqual" -# readNameSeparator: ["/"] -# readQualityScoreBase: 33 - -# Read Clipping -# clipAdapterType: "Hamming" -# clip3pNbases: [0] -# clip3pAdapterSeq: ["foo"] -# clip3pAdapterMMp: [0.1] -# clip3pAfterAdapterNbases: [0] -# clip5pNbases: [0] - -# Limits -# limitGenomeGenerateRAM: 31000000000 -# limitIObufferSize: [30000000, 50000000] -# limitOutSAMoneReadBytes: 100000 -# limitOutSJoneRead: 1000 -# limitOutSJcollapsed: 1000000 -# limitBAMsortRAM: 0 -# limitSjdbInsertNsj: 1000000 -# limitNreadsSoft: -1 - -# Output: general -# outTmpKeep: "foo" -# outStd: "Log" -# outReadsUnmapped: "foo" -# outQSconversionAdd: 0 -# outMultimapperOrder: "Old_2.4" - -# Output: SAM and BAM -# outSAMtype: ["SAM"] -# outSAMmode: "Full" -# outSAMstrandField: "foo" -# outSAMattributes: ["Standard"] -# outSAMattrIHstart: 1 -# outSAMunmapped: ["foo"] -# outSAMorder: "Paired" -# outSAMprimaryFlag: "OneBestScore" -# outSAMreadID: "Standard" -# outSAMmapqUnique: 255 -# outSAMflagOR: 0 -# outSAMflagAND: 65535 -# outSAMattrRGline: ["foo"] -# outSAMheaderHD: ["foo"] -# outSAMheaderPG: ["foo"] -# outSAMheaderCommentFile: "foo" -# outSAMfilter: ["foo"] -# outSAMmultNmax: -1 -# outSAMtlen: 1 -# outBAMcompression: 1 -# outBAMsortingThreadN: 0 -# outBAMsortingBinsN: 50 - -# BAM processing -# bamRemoveDuplicatesType: "foo" -# bamRemoveDuplicatesMate2basesN: 0 - -# Output Wiggle -# outWigType: ["foo"] -# outWigStrand: "Stranded" -# outWigReferencesPrefix: "foo" -# outWigNorm: "RPM" - -# Output Filtering -# outFilterType: "Normal" -# outFilterMultimapScoreRange: 1 -# outFilterMultimapNmax: 10 -# outFilterMismatchNmax: 10 -# outFilterMismatchNoverLmax: 0.3 -# outFilterMismatchNoverReadLmax: 1.0 -# outFilterScoreMin: 0 -# outFilterScoreMinOverLread: 0.66 -# outFilterMatchNmin: 0 -# outFilterMatchNminOverLread: 0.66 -# outFilterIntronMotifs: "foo" -# outFilterIntronStrands: "RemoveInconsistentStrands" - -# Output splice junctions (SJ.out.tab) -# outSJtype: "Standard" - -# Output Filtering: Splice Junctions -# outSJfilterReads: "All" -# outSJfilterOverhangMin: [30, 12, 12, 12] -# outSJfilterCountUniqueMin: [3, 1, 1, 1] -# outSJfilterCountTotalMin: [3, 1, 1, 1] -# outSJfilterDistToOtherSJmin: [10, 0, 5, 10] -# outSJfilterIntronMaxVsReadN: [50000, 100000, 200000] - -# Scoring -# scoreGap: 0 -# scoreGapNoncan: -8 -# scoreGapGCAG: -4 -# scoreGapATAC: -8 -# scoreGenomicLengthLog2scale: 0 -# scoreDelOpen: -2 -# scoreDelBase: -2 -# scoreInsOpen: -2 -# scoreInsBase: -2 -# scoreStitchSJshift: 1 - -# Alignments and Seeding -# seedSearchStartLmax: 50 -# seedSearchStartLmaxOverLread: 1.0 -# seedSearchLmax: 0 -# seedMultimapNmax: 10000 -# seedPerReadNmax: 1000 -# seedPerWindowNmax: 50 -# seedNoneLociPerWindow: 10 -# seedSplitMin: 12 -# seedMapMin: 5 -# alignIntronMin: 21 -# alignIntronMax: 0 -# alignMatesGapMax: 0 -# alignSJoverhangMin: 5 -# alignSJstitchMismatchNmax: [0, -1, 0, 0] -# alignSJDBoverhangMin: 3 -# alignSplicedMateMapLmin: 0 -# alignSplicedMateMapLminOverLmate: 0.66 -# alignWindowsPerReadNmax: 10000 -# alignTranscriptsPerWindowNmax: 100 -# alignTranscriptsPerReadNmax: 10000 -# alignEndsType: "Local" -# alignEndsProtrude: "0 ConcordantPair" -# alignSoftClipAtReferenceEnds: "Yes" -# alignInsertionFlush: "foo" - -# Paired-End reads -# peOverlapNbasesMin: 0 -# peOverlapMMp: 0.01 - -# Windows, Anchors, Binning -# winAnchorMultimapNmax: 50 -# winBinNbits: 16 -# winAnchorDistNbins: 9 -# winFlankNbins: 4 -# winReadCoverageRelativeMin: 0.5 -# winReadCoverageBasesMin: 0 - -# Chimeric Alignments -# chimOutType: ["Junctions"] -# chimSegmentMin: 0 -# chimScoreMin: 0 -# chimScoreDropMax: 20 -# chimScoreSeparation: 10 -# chimScoreJunctionNonGTAG: -1 -# chimJunctionOverhangMin: 20 -# chimSegmentReadGapMax: 0 -# chimFilter: ["banGenomicN"] -# chimMainSegmentMultNmax: 10 -# chimMultimapNmax: 0 -# chimMultimapScoreRange: 1 -# chimNonchimScoreDropMin: 20 -# chimOutJunctionFormat: 0 - -# Quantification of Annotations -# quantMode: ["foo"] -# quantTranscriptomeBAMcompression: 1 -# quantTranscriptomeBan: "IndelSoftclipSingleend" - -# 2-pass Mapping -# twopassMode: "foo" -# twopass1readsN: -1 - -# WASP parameters -# waspOutputMode: "foo" - -# STARsolo (single cell RNA-seq) parameters -# soloType: ["foo"] -# soloCBwhitelist: ["foo"] -# soloCBstart: 1 -# soloCBlen: 16 -# soloUMIstart: 17 -# soloUMIlen: 10 -# soloBarcodeReadLength: 1 -# soloBarcodeMate: 0 -# soloCBposition: ["foo"] -# soloUMIposition: "foo" -# soloAdapterSequence: "foo" -# soloAdapterMismatchesNmax: 1 -# soloCBmatchWLtype: "1MM_multi" -# soloInputSAMattrBarcodeSeq: ["foo"] -# soloInputSAMattrBarcodeQual: ["foo"] -# soloStrand: "Forward" -# soloFeatures: ["Gene"] -# soloMultiMappers: ["Unique"] -# soloUMIdedup: ["1MM_All"] -# soloUMIfiltering: ["foo"] -# soloOutFileNames: ["Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"] -# soloCellFilter: ["CellRanger2.2", "3000", "0.99", "10"] -# soloOutFormatFeaturesGeneField3: ["Gene Expression"] -# soloCellReadStats: "foo" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/mapping/star_align_v273a/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input/Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The FASTQ files to be analyzed. Corresponds to the --readFilesIn in the STAR command. |List of `file`, required, example: `"mysample_S1_L001_R1_001.fastq.gz", "mysample_S1_L001_R2_001.fastq.gz"`, multiple_sep: `";"` | -|`--reference` |Path to the reference built by star_build_reference. Corresponds to the --genomeDir in the STAR command. |`file`, required, example: `"/path/to/reference"` | -|`--output` |Path to output directory. Corresponds to the --outFileNamePrefix in the STAR command. |`file`, required, example: `"/path/to/foo"` | - - -### Run Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--runRNGseed` |random number generator seed. |`integer`, example: `777` | - - -### Genome Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genomeLoad` |mode of shared memory usage for the genome files. Only used with --runMode alignReads. - LoadAndKeep ... load genome into shared and keep it in memory after run - LoadAndRemove ... load genome into shared but remove it after run - LoadAndExit ... load genome into shared memory and exit, keeping the genome in memory for future runs - Remove ... do not map anything, just remove loaded genome from memory - NoSharedMemory ... do not use shared memory, each job will have its own private copy of the genome |`string`, example: `"NoSharedMemory"` | -|`--genomeFastaFiles` |path(s) to the fasta files with the genome sequences, separated by spaces. These files should be plain text FASTA files, they *cannot* be zipped. Required for the genome generation (--runMode genomeGenerate). Can also be used in the mapping (--runMode alignReads) to add extra (new) sequences to the genome (e.g. spike-ins). |List of `file`, multiple_sep: `";"` | -|`--genomeFileSizes` |genome files exact sizes in bytes. Typically, this should not be defined by the user. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--genomeTransformOutput` |which output to transform back to original genome - SAM ... SAM/BAM alignments - SJ ... splice junctions (SJ.out.tab) - None ... no transformation of the output |List of `string`, multiple_sep: `";"` | -|`--genomeChrSetMitochondrial` |names of the mitochondrial chromosomes. Presently only used for STARsolo statistics output/ |List of `string`, example: `"chrM", "M", "MT"`, multiple_sep: `";"` | - - -### Splice Junctions Database - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--sjdbFileChrStartEnd` |path to the files with genomic coordinates (chr start end strand) for the splice junction introns. Multiple files can be supplied and will be concatenated. |List of `string`, multiple_sep: `";"` | -|`--sjdbGTFfile` |path to the GTF file with annotations |`file` | -|`--sjdbGTFchrPrefix` |prefix for chromosome names in a GTF file (e.g. 'chr' for using ENSMEBL annotations with UCSC genomes) |`string` | -|`--sjdbGTFfeatureExon` |feature type in GTF file to be used as exons for building transcripts |`string`, example: `"exon"` | -|`--sjdbGTFtagExonParentTranscript` |GTF attribute name for parent transcript ID (default "transcript_id" works for GTF files) |`string`, example: `"transcript_id"` | -|`--sjdbGTFtagExonParentGene` |GTF attribute name for parent gene ID (default "gene_id" works for GTF files) |`string`, example: `"gene_id"` | -|`--sjdbGTFtagExonParentGeneName` |GTF attribute name for parent gene name |List of `string`, example: `"gene_name"`, multiple_sep: `";"` | -|`--sjdbGTFtagExonParentGeneType` |GTF attribute name for parent gene type |List of `string`, example: `"gene_type", "gene_biotype"`, multiple_sep: `";"` | -|`--sjdbOverhang` |length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1) |`integer`, example: `100` | -|`--sjdbScore` |extra alignment score for alignments that cross database junctions |`integer`, example: `2` | -|`--sjdbInsertSave` |which files to save when sjdb junctions are inserted on the fly at the mapping step - Basic ... only small junction / transcript files - All ... all files including big Genome, SA and SAindex - this will create a complete genome directory |`string`, example: `"Basic"` | - - -### Variation parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--varVCFfile` |path to the VCF file that contains variation data. The 10th column should contain the genotype information, e.g. 0/1 |`string` | - - -### Read Parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--readFilesType` |format of input read files - Fastx ... FASTA or FASTQ - SAM SE ... SAM or BAM single-end reads; for BAM use --readFilesCommand samtools view - SAM PE ... SAM or BAM paired-end reads; for BAM use --readFilesCommand samtools view |`string`, example: `"Fastx"` | -|`--readFilesSAMattrKeep` |for --readFilesType SAM SE/PE, which SAM tags to keep in the output BAM, e.g.: --readFilesSAMtagsKeep RG PL - All ... keep all tags - None ... do not keep any tags |List of `string`, example: `"All"`, multiple_sep: `";"` | -|`--readFilesManifest` |path to the "manifest" file with the names of read files. The manifest file should contain 3 tab-separated columns: paired-end reads: read1_file_name $tab$ read2_file_name $tab$ read_group_line. single-end reads: read1_file_name $tab$ - $tab$ read_group_line. Spaces, but not tabs are allowed in file names. If read_group_line does not start with ID:, it can only contain one ID field, and ID: will be added to it. If read_group_line starts with ID:, it can contain several fields separated by $tab$, and all fields will be be copied verbatim into SAM @RG header line. |`file` | -|`--readFilesPrefix` |prefix for the read files names, i.e. it will be added in front of the strings in --readFilesIn |`string` | -|`--readFilesCommand` |command line to execute for each of the input file. This command should generate FASTA or FASTQ text and send it to stdout For example: zcat - to uncompress .gz files, bzcat - to uncompress .bz2 files, etc. |List of `string`, multiple_sep: `";"` | -|`--readMapNumber` |number of reads to map from the beginning of the file -1: map all reads |`integer`, example: `-1` | -|`--readMatesLengthsIn` |Equal/NotEqual - lengths of names,sequences,qualities for both mates are the same / not the same. NotEqual is safe in all situations. |`string`, example: `"NotEqual"` | -|`--readNameSeparator` |character(s) separating the part of the read names that will be trimmed in output (read name after space is always trimmed) |List of `string`, example: `"/"`, multiple_sep: `";"` | -|`--readQualityScoreBase` |number to be subtracted from the ASCII code to get Phred quality score |`integer`, example: `33` | - - -### Read Clipping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--clipAdapterType` |adapter clipping type - Hamming ... adapter clipping based on Hamming distance, with the number of mismatches controlled by --clip5pAdapterMMp - CellRanger4 ... 5p and 3p adapter clipping similar to CellRanger4. Utilizes Opal package by Martin Sosic: https://github.com/Martinsos/opal - None ... no adapter clipping, all other clip* parameters are disregarded |`string`, example: `"Hamming"` | -|`--clip3pNbases` |number(s) of bases to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip3pAdapterSeq` |adapter sequences to clip from 3p of each mate. If one value is given, it will be assumed the same for both mates. - polyA ... polyA sequence with the length equal to read length |List of `string`, multiple_sep: `";"` | -|`--clip3pAdapterMMp` |max proportion of mismatches for 3p adapter clipping for each mate. If one value is given, it will be assumed the same for both mates. |List of `double`, example: `0.1`, multiple_sep: `";"` | -|`--clip3pAfterAdapterNbases` |number of bases to clip from 3p of each mate after the adapter clipping. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | -|`--clip5pNbases` |number(s) of bases to clip from 5p of each mate. If one value is given, it will be assumed the same for both mates. |List of `integer`, example: `0`, multiple_sep: `";"` | - - -### Limits - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--limitGenomeGenerateRAM` |maximum available RAM (bytes) for genome generation |`long`, example: `NA` | -|`--limitIObufferSize` |max available buffers size (bytes) for input/output, per thread |List of `long`, example: `30000000, 50000000`, multiple_sep: `";"` | -|`--limitOutSAMoneReadBytes` |max size of the SAM record (bytes) for one read. Recommended value: >(2*(LengthMate1+LengthMate2+100)*outFilterMultimapNmax |`long`, example: `100000` | -|`--limitOutSJoneRead` |max number of junctions for one read (including all multi-mappers) |`integer`, example: `1000` | -|`--limitOutSJcollapsed` |max number of collapsed junctions |`integer`, example: `1000000` | -|`--limitBAMsortRAM` |maximum available RAM (bytes) for sorting BAM. If =0, it will be set to the genome index size. 0 value can only be used with --genomeLoad NoSharedMemory option. |`long`, example: `0` | -|`--limitSjdbInsertNsj` |maximum number of junctions to be inserted to the genome on the fly at the mapping stage, including those from annotations and those detected in the 1st step of the 2-pass run |`integer`, example: `1000000` | -|`--limitNreadsSoft` |soft limit on the number of reads |`integer`, example: `-1` | - - -### Output: general - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outTmpKeep` |whether to keep the temporary files after STAR runs is finished - None ... remove all temporary files - All ... keep all files |`string` | -|`--outStd` |which output will be directed to stdout (standard out) - Log ... log messages - SAM ... alignments in SAM format (which normally are output to Aligned.out.sam file), normal standard output will go into Log.std.out - BAM_Unsorted ... alignments in BAM format, unsorted. Requires --outSAMtype BAM Unsorted - BAM_SortedByCoordinate ... alignments in BAM format, sorted by coordinate. Requires --outSAMtype BAM SortedByCoordinate - BAM_Quant ... alignments to transcriptome in BAM format, unsorted. Requires --quantMode TranscriptomeSAM |`string`, example: `"Log"` | -|`--outReadsUnmapped` |output of unmapped and partially mapped (i.e. mapped only one mate of a paired end read) reads in separate file(s). - None ... no output - Fastx ... output in separate fasta/fastq files, Unmapped.out.mate1/2 |`string` | -|`--outQSconversionAdd` |add this number to the quality score (e.g. to convert from Illumina to Sanger, use -31) |`integer`, example: `0` | -|`--outMultimapperOrder` |order of multimapping alignments in the output files - Old_2.4 ... quasi-random order used before 2.5.0 - Random ... random order of alignments for each multi-mapper. Read mates (pairs) are always adjacent, all alignment for each read stay together. This option will become default in the future releases. |`string`, example: `"Old_2.4"` | - - -### Output: SAM and BAM - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSAMtype` |type of SAM/BAM output 1st word: - BAM ... output BAM without sorting - SAM ... output SAM without sorting - None ... no SAM/BAM output 2nd, 3rd: - Unsorted ... standard unsorted - SortedByCoordinate ... sorted by coordinate. This option will allocate extra memory for sorting which can be specified by --limitBAMsortRAM. |List of `string`, example: `"SAM"`, multiple_sep: `";"` | -|`--outSAMmode` |mode of SAM output - None ... no SAM output - Full ... full SAM output - NoQS ... full SAM but without quality scores |`string`, example: `"Full"` | -|`--outSAMstrandField` |Cufflinks-like strand field flag - None ... not used - intronMotif ... strand derived from the intron motif. This option changes the output alignments: reads with inconsistent and/or non-canonical introns are filtered out. |`string` | -|`--outSAMattributes` |a string of desired SAM attributes, in the order desired for the output SAM. Tags can be listed in any combination/order. ***Presets: - None ... no attributes - Standard ... NH HI AS nM - All ... NH HI AS nM NM MD jM jI MC ch ***Alignment: - NH ... number of loci the reads maps to: =1 for unique mappers, >1 for multimappers. Standard SAM tag. - HI ... multiple alignment index, starts with --outSAMattrIHstart (=1 by default). Standard SAM tag. - AS ... local alignment score, +1/-1 for matches/mismateches, score* penalties for indels and gaps. For PE reads, total score for two mates. Stadnard SAM tag. - nM ... number of mismatches. For PE reads, sum over two mates. - NM ... edit distance to the reference (number of mismatched + inserted + deleted bases) for each mate. Standard SAM tag. - MD ... string encoding mismatched and deleted reference bases (see standard SAM specifications). Standard SAM tag. - jM ... intron motifs for all junctions (i.e. N in CIGAR): 0: non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT. If splice junctions database is used, and a junction is annotated, 20 is added to its motif value. - jI ... start and end of introns for all junctions (1-based). - XS ... alignment strand according to --outSAMstrandField. - MC ... mate's CIGAR string. Standard SAM tag. - ch ... marks all segment of all chimeric alingments for --chimOutType WithinBAM output. - cN ... number of bases clipped from the read ends: 5' and 3' ***Variation: - vA ... variant allele - vG ... genomic coordinate of the variant overlapped by the read. - vW ... 1 - alignment passes WASP filtering; 2,3,4,5,6,7 - alignment does not pass WASP filtering. Requires --waspOutputMode SAMtag. ***STARsolo: - CR CY UR UY ... sequences and quality scores of cell barcodes and UMIs for the solo* demultiplexing. - GX GN ... gene ID and gene name for unique-gene reads. - gx gn ... gene IDs and gene names for unique- and multi-gene reads. - CB UB ... error-corrected cell barcodes and UMIs for solo* demultiplexing. Requires --outSAMtype BAM SortedByCoordinate. - sM ... assessment of CB and UMI. - sS ... sequence of the entire barcode (CB,UMI,adapter). - sQ ... quality of the entire barcode. ***Unsupported/undocumented: - ha ... haplotype (1/2) when mapping to the diploid genome. Requires genome generated with --genomeTransformType Diploid . - rB ... alignment block read/genomic coordinates. - vR ... read coordinate of the variant. |List of `string`, example: `"Standard"`, multiple_sep: `";"` | -|`--outSAMattrIHstart` |start value for the IH attribute. 0 may be required by some downstream software, such as Cufflinks or StringTie. |`integer`, example: `1` | -|`--outSAMunmapped` |output of unmapped reads in the SAM format 1st word: - None ... no output - Within ... output unmapped reads within the main SAM file (i.e. Aligned.out.sam) 2nd word: - KeepPairs ... record unmapped mate for each alignment, and, in case of unsorted output, keep it adjacent to its mapped mate. Only affects multi-mapping reads. |List of `string`, multiple_sep: `";"` | -|`--outSAMorder` |type of sorting for the SAM output Paired: one mate after the other for all paired alignments PairedKeepInputOrder: one mate after the other for all paired alignments, the order is kept the same as in the input FASTQ files |`string`, example: `"Paired"` | -|`--outSAMprimaryFlag` |which alignments are considered primary - all others will be marked with 0x100 bit in the FLAG - OneBestScore ... only one alignment with the best score is primary - AllBestScore ... all alignments with the best score are primary |`string`, example: `"OneBestScore"` | -|`--outSAMreadID` |read ID record type - Standard ... first word (until space) from the FASTx read ID line, removing /1,/2 from the end - Number ... read number (index) in the FASTx file |`string`, example: `"Standard"` | -|`--outSAMmapqUnique` |0 to 255: the MAPQ value for unique mappers |`integer`, example: `255` | -|`--outSAMflagOR` |0 to 65535: sam FLAG will be bitwise OR'd with this value, i.e. FLAG=FLAG | outSAMflagOR. This is applied after all flags have been set by STAR, and after outSAMflagAND. Can be used to set specific bits that are not set otherwise. |`integer`, example: `0` | -|`--outSAMflagAND` |0 to 65535: sam FLAG will be bitwise AND'd with this value, i.e. FLAG=FLAG & outSAMflagOR. This is applied after all flags have been set by STAR, but before outSAMflagOR. Can be used to unset specific bits that are not set otherwise. |`integer`, example: `65535` | -|`--outSAMattrRGline` |SAM/BAM read group line. The first word contains the read group identifier and must start with "ID:", e.g. --outSAMattrRGline ID:xxx CN:yy "DS:z z z". xxx will be added as RG tag to each output alignment. Any spaces in the tag values have to be double quoted. Comma separated RG lines correspons to different (comma separated) input files in --readFilesIn. Commas have to be surrounded by spaces, e.g. --outSAMattrRGline ID:xxx , ID:zzz "DS:z z" , ID:yyy DS:yyyy |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderHD` |@HD (header) line of the SAM header |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderPG` |extra @PG (software) line of the SAM header (in addition to STAR) |List of `string`, multiple_sep: `";"` | -|`--outSAMheaderCommentFile` |path to the file with @CO (comment) lines of the SAM header |`string` | -|`--outSAMfilter` |filter the output into main SAM/BAM files - KeepOnlyAddedReferences ... only keep the reads for which all alignments are to the extra reference sequences added with --genomeFastaFiles at the mapping stage. - KeepAllAddedReferences ... keep all alignments to the extra reference sequences added with --genomeFastaFiles at the mapping stage. |List of `string`, multiple_sep: `";"` | -|`--outSAMmultNmax` |max number of multiple alignments for a read that will be output to the SAM/BAM files. Note that if this value is not equal to -1, the top scoring alignment will be output first - -1 ... all alignments (up to --outFilterMultimapNmax) will be output |`integer`, example: `-1` | -|`--outSAMtlen` |calculation method for the TLEN field in the SAM/BAM files - 1 ... leftmost base of the (+)strand mate to rightmost base of the (-)mate. (+)sign for the (+)strand mate - 2 ... leftmost base of any mate to rightmost base of any mate. (+)sign for the mate with the leftmost base. This is different from 1 for overlapping mates with protruding ends |`integer`, example: `1` | -|`--outBAMcompression` |-1 to 10 BAM compression level, -1=default compression (6?), 0=no compression, 10=maximum compression |`integer`, example: `1` | -|`--outBAMsortingThreadN` |>=0: number of threads for BAM sorting. 0 will default to min(6,--runThreadN). |`integer`, example: `0` | -|`--outBAMsortingBinsN` |>0: number of genome bins for coordinate-sorting |`integer`, example: `50` | - - -### BAM processing - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--bamRemoveDuplicatesType` |mark duplicates in the BAM file, for now only works with (i) sorted BAM fed with inputBAMfile, and (ii) for paired-end alignments only - - ... no duplicate removal/marking - UniqueIdentical ... mark all multimappers, and duplicate unique mappers. The coordinates, FLAG, CIGAR must be identical - UniqueIdenticalNotMulti ... mark duplicate unique mappers but not multimappers. |`string` | -|`--bamRemoveDuplicatesMate2basesN` |number of bases from the 5' of mate 2 to use in collapsing (e.g. for RAMPAGE) |`integer`, example: `0` | - - -### Output Wiggle - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outWigType` |type of signal output, e.g. "bedGraph" OR "bedGraph read1_5p". Requires sorted BAM: --outSAMtype BAM SortedByCoordinate . 1st word: - None ... no signal output - bedGraph ... bedGraph format - wiggle ... wiggle format 2nd word: - read1_5p ... signal from only 5' of the 1st read, useful for CAGE/RAMPAGE etc - read2 ... signal from only 2nd read |List of `string`, multiple_sep: `";"` | -|`--outWigStrand` |strandedness of wiggle/bedGraph output - Stranded ... separate strands, str1 and str2 - Unstranded ... collapsed strands |`string`, example: `"Stranded"` | -|`--outWigReferencesPrefix` |prefix matching reference names to include in the output wiggle file, e.g. "chr", default "-" - include all references |`string` | -|`--outWigNorm` |type of normalization for the signal - RPM ... reads per million of mapped reads - None ... no normalization, "raw" counts |`string`, example: `"RPM"` | - - -### Output Filtering - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outFilterType` |type of filtering - Normal ... standard filtering using only current alignment - BySJout ... keep only those reads that contain junctions that passed filtering into SJ.out.tab |`string`, example: `"Normal"` | -|`--outFilterMultimapScoreRange` |the score range below the maximum score for multimapping alignments |`integer`, example: `1` | -|`--outFilterMultimapNmax` |maximum number of loci the read is allowed to map to. Alignments (all of them) will be output only if the read maps to no more loci than this value. Otherwise no alignments will be output, and the read will be counted as "mapped to too many loci" in the Log.final.out . |`integer`, example: `10` | -|`--outFilterMismatchNmax` |alignment will be output only if it has no more mismatches than this value. |`integer`, example: `10` | -|`--outFilterMismatchNoverLmax` |alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value. |`double`, example: `0.3` | -|`--outFilterMismatchNoverReadLmax` |alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value. |`double`, example: `1` | -|`--outFilterScoreMin` |alignment will be output only if its score is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterScoreMinOverLread` |same as outFilterScoreMin, but normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `0.66` | -|`--outFilterMatchNmin` |alignment will be output only if the number of matched bases is higher than or equal to this value. |`integer`, example: `0` | -|`--outFilterMatchNminOverLread` |sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads). |`double`, example: `0.66` | -|`--outFilterIntronMotifs` |filter alignment using their motifs - None ... no filtering - RemoveNoncanonical ... filter out alignments that contain non-canonical junctions - RemoveNoncanonicalUnannotated ... filter out alignments that contain non-canonical unannotated junctions when using annotated splice junctions database. The annotated non-canonical junctions will be kept. |`string` | -|`--outFilterIntronStrands` |filter alignments - RemoveInconsistentStrands ... remove alignments that have junctions with inconsistent strands - None ... no filtering |`string`, example: `"RemoveInconsistentStrands"` | - - -### Output splice junctions (SJ.out.tab) - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJtype` |type of splice junction output - Standard ... standard SJ.out.tab output - None ... no splice junction output |`string`, example: `"Standard"` | - - -### Output Filtering: Splice Junctions - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--outSJfilterReads` |which reads to consider for collapsed splice junctions output - All ... all reads, unique- and multi-mappers - Unique ... uniquely mapping reads only |`string`, example: `"All"` | -|`--outSJfilterOverhangMin` |minimum overhang length for splice junctions on both sides for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif does not apply to annotated junctions |List of `integer`, example: `30, 12, 12, 12`, multiple_sep: `";"` | -|`--outSJfilterCountUniqueMin` |minimum uniquely mapping read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterCountTotalMin` |minimum total (multi-mapping+unique) read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif Junctions are output if one of outSJfilterCountUniqueMin OR outSJfilterCountTotalMin conditions are satisfied does not apply to annotated junctions |List of `integer`, example: `3, 1, 1, 1`, multiple_sep: `";"` | -|`--outSJfilterDistToOtherSJmin` |minimum allowed distance to other junctions' donor/acceptor does not apply to annotated junctions |List of `integer`, example: `10, 0, 5, 10`, multiple_sep: `";"` | -|`--outSJfilterIntronMaxVsReadN` |maximum gap allowed for junctions supported by 1,2,3,,,N reads i.e. by default junctions supported by 1 read can have gaps <=50000b, by 2 reads: <=100000b, by 3 reads: <=200000. by >=4 reads any gap <=alignIntronMax does not apply to annotated junctions |List of `integer`, example: `50000, 100000, 200000`, multiple_sep: `";"` | - - -### Scoring - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--scoreGap` |splice junction penalty (independent on intron motif) |`integer`, example: `0` | -|`--scoreGapNoncan` |non-canonical junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGapGCAG` |GC/AG and CT/GC junction penalty (in addition to scoreGap) |`integer`, example: `-4` | -|`--scoreGapATAC` |AT/AC and GT/AT junction penalty (in addition to scoreGap) |`integer`, example: `-8` | -|`--scoreGenomicLengthLog2scale` |extra score logarithmically scaled with genomic length of the alignment: scoreGenomicLengthLog2scale*log2(genomicLength) |`integer`, example: `0` | -|`--scoreDelOpen` |deletion open penalty |`integer`, example: `-2` | -|`--scoreDelBase` |deletion extension penalty per base (in addition to scoreDelOpen) |`integer`, example: `-2` | -|`--scoreInsOpen` |insertion open penalty |`integer`, example: `-2` | -|`--scoreInsBase` |insertion extension penalty per base (in addition to scoreInsOpen) |`integer`, example: `-2` | -|`--scoreStitchSJshift` |maximum score reduction while searching for SJ boundaries in the stitching step |`integer`, example: `1` | - - -### Alignments and Seeding - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--seedSearchStartLmax` |defines the search start point through the read - the read is split into pieces no longer than this value |`integer`, example: `50` | -|`--seedSearchStartLmaxOverLread` |seedSearchStartLmax normalized to read length (sum of mates' lengths for paired-end reads) |`double`, example: `1` | -|`--seedSearchLmax` |defines the maximum length of the seeds, if =0 seed length is not limited |`integer`, example: `0` | -|`--seedMultimapNmax` |only pieces that map fewer than this value are utilized in the stitching procedure |`integer`, example: `10000` | -|`--seedPerReadNmax` |max number of seeds per read |`integer`, example: `1000` | -|`--seedPerWindowNmax` |max number of seeds per window |`integer`, example: `50` | -|`--seedNoneLociPerWindow` |max number of one seed loci per window |`integer`, example: `10` | -|`--seedSplitMin` |min length of the seed sequences split by Ns or mate gap |`integer`, example: `12` | -|`--seedMapMin` |min length of seeds to be mapped |`integer`, example: `5` | -|`--alignIntronMin` |minimum intron size, genomic gap is considered intron if its length>=alignIntronMin, otherwise it is considered Deletion |`integer`, example: `21` | -|`--alignIntronMax` |maximum intron size, if 0, max intron size will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignMatesGapMax` |maximum gap between two mates, if 0, max intron gap will be determined by (2^winBinNbits)*winAnchorDistNbins |`integer`, example: `0` | -|`--alignSJoverhangMin` |minimum overhang (i.e. block size) for spliced alignments |`integer`, example: `5` | -|`--alignSJstitchMismatchNmax` |maximum number of mismatches for stitching of the splice junctions (-1: no limit). (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif. |List of `integer`, example: `0, -1, 0, 0`, multiple_sep: `";"` | -|`--alignSJDBoverhangMin` |minimum overhang (i.e. block size) for annotated (sjdb) spliced alignments |`integer`, example: `3` | -|`--alignSplicedMateMapLmin` |minimum mapped length for a read mate that is spliced |`integer`, example: `0` | -|`--alignSplicedMateMapLminOverLmate` |alignSplicedMateMapLmin normalized to mate length |`double`, example: `0.66` | -|`--alignWindowsPerReadNmax` |max number of windows per read |`integer`, example: `10000` | -|`--alignTranscriptsPerWindowNmax` |max number of transcripts per window |`integer`, example: `100` | -|`--alignTranscriptsPerReadNmax` |max number of different alignments per read to consider |`integer`, example: `10000` | -|`--alignEndsType` |type of read ends alignment - Local ... standard local alignment with soft-clipping allowed - EndToEnd ... force end-to-end read alignment, do not soft-clip - Extend5pOfRead1 ... fully extend only the 5p of the read1, all other ends: local alignment - Extend5pOfReads12 ... fully extend only the 5p of the both read1 and read2, all other ends: local alignment |`string`, example: `"Local"` | -|`--alignEndsProtrude` |allow protrusion of alignment ends, i.e. start (end) of the +strand mate downstream of the start (end) of the -strand mate 1st word: int: maximum number of protrusion bases allowed 2nd word: string: - ConcordantPair ... report alignments with non-zero protrusion as concordant pairs - DiscordantPair ... report alignments with non-zero protrusion as discordant pairs |`string`, example: `"0 ConcordantPair"` | -|`--alignSoftClipAtReferenceEnds` |allow the soft-clipping of the alignments past the end of the chromosomes - Yes ... allow - No ... prohibit, useful for compatibility with Cufflinks |`string`, example: `"Yes"` | -|`--alignInsertionFlush` |how to flush ambiguous insertion positions - None ... insertions are not flushed - Right ... insertions are flushed to the right |`string` | - - -### Paired-End reads - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--peOverlapNbasesMin` |minimum number of overlapping bases to trigger mates merging and realignment. Specify >0 value to switch on the "merginf of overlapping mates" algorithm. |`integer`, example: `0` | -|`--peOverlapMMp` |maximum proportion of mismatched bases in the overlap area |`double`, example: `0.01` | - - -### Windows, Anchors, Binning - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--winAnchorMultimapNmax` |max number of loci anchors are allowed to map to |`integer`, example: `50` | -|`--winBinNbits` |=log2(winBin), where winBin is the size of the bin for the windows/clustering, each window will occupy an integer number of bins. |`integer`, example: `16` | -|`--winAnchorDistNbins` |max number of bins between two anchors that allows aggregation of anchors into one window |`integer`, example: `9` | -|`--winFlankNbins` |log2(winFlank), where win Flank is the size of the left and right flanking regions for each window |`integer`, example: `4` | -|`--winReadCoverageRelativeMin` |minimum relative coverage of the read sequence by the seeds in a window, for STARlong algorithm only. |`double`, example: `0.5` | -|`--winReadCoverageBasesMin` |minimum number of bases covered by the seeds in a window , for STARlong algorithm only. |`integer`, example: `0` | - - -### Chimeric Alignments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--chimOutType` |type of chimeric output - Junctions ... Chimeric.out.junction - SeparateSAMold ... output old SAM into separate Chimeric.out.sam file - WithinBAM ... output into main aligned BAM files (Aligned.*.bam) - WithinBAM HardClip ... (default) hard-clipping in the CIGAR for supplemental chimeric alignments (default if no 2nd word is present) - WithinBAM SoftClip ... soft-clipping in the CIGAR for supplemental chimeric alignments |List of `string`, example: `"Junctions"`, multiple_sep: `";"` | -|`--chimSegmentMin` |minimum length of chimeric segment length, if ==0, no chimeric output |`integer`, example: `0` | -|`--chimScoreMin` |minimum total (summed) score of the chimeric segments |`integer`, example: `0` | -|`--chimScoreDropMax` |max drop (difference) of chimeric score (the sum of scores of all chimeric segments) from the read length |`integer`, example: `20` | -|`--chimScoreSeparation` |minimum difference (separation) between the best chimeric score and the next one |`integer`, example: `10` | -|`--chimScoreJunctionNonGTAG` |penalty for a non-GT/AG chimeric junction |`integer`, example: `-1` | -|`--chimJunctionOverhangMin` |minimum overhang for a chimeric junction |`integer`, example: `20` | -|`--chimSegmentReadGapMax` |maximum gap in the read sequence between chimeric segments |`integer`, example: `0` | -|`--chimFilter` |different filters for chimeric alignments - None ... no filtering - banGenomicN ... Ns are not allowed in the genome sequence around the chimeric junction |List of `string`, example: `"banGenomicN"`, multiple_sep: `";"` | -|`--chimMainSegmentMultNmax` |maximum number of multi-alignments for the main chimeric segment. =1 will prohibit multimapping main segments. |`integer`, example: `10` | -|`--chimMultimapNmax` |maximum number of chimeric multi-alignments - 0 ... use the old scheme for chimeric detection which only considered unique alignments |`integer`, example: `0` | -|`--chimMultimapScoreRange` |the score range for multi-mapping chimeras below the best chimeric score. Only works with --chimMultimapNmax > 1 |`integer`, example: `1` | -|`--chimNonchimScoreDropMin` |to trigger chimeric detection, the drop in the best non-chimeric alignment score with respect to the read length has to be greater than this value |`integer`, example: `20` | -|`--chimOutJunctionFormat` |formatting type for the Chimeric.out.junction file - 0 ... no comment lines/headers - 1 ... comment lines at the end of the file: command line and Nreads: total, unique/multi-mapping |`integer`, example: `0` | - - -### Quantification of Annotations - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--quantMode` |types of quantification requested - - ... none - TranscriptomeSAM ... output SAM/BAM alignments to transcriptome into a separate file - GeneCounts ... count reads per gene |List of `string`, multiple_sep: `";"` | -|`--quantTranscriptomeBAMcompression` |-2 to 10 transcriptome BAM compression level - -2 ... no BAM output - -1 ... default compression (6?) - 0 ... no compression - 10 ... maximum compression |`integer`, example: `1` | -|`--quantTranscriptomeBan` |prohibit various alignment type - IndelSoftclipSingleend ... prohibit indels, soft clipping and single-end alignments - compatible with RSEM - Singleend ... prohibit single-end alignments |`string`, example: `"IndelSoftclipSingleend"` | - - -### 2-pass Mapping - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--twopassMode` |2-pass mapping mode. - None ... 1-pass mapping - Basic ... basic 2-pass mapping, with all 1st pass junctions inserted into the genome indices on the fly |`string` | -|`--twopass1readsN` |number of reads to process for the 1st step. Use very large number (or default -1) to map all reads in the first step. |`integer`, example: `-1` | - - -### WASP parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--waspOutputMode` |WASP allele-specific output type. This is re-implementation of the original WASP mappability filtering by Bryce van de Geijn, Graham McVicker, Yoav Gilad & Jonathan K Pritchard. Please cite the original WASP paper: Nature Methods 12, 1061-1063 (2015), https://www.nature.com/articles/nmeth.3582 . - SAMtag ... add WASP tags to the alignments that pass WASP filtering |`string` | - - -### STARsolo (single cell RNA-seq) parameters - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--soloType` |type of single-cell RNA-seq - CB_UMI_Simple ... (a.k.a. Droplet) one UMI and one Cell Barcode of fixed length in read2, e.g. Drop-seq and 10X Chromium. - CB_UMI_Complex ... multiple Cell Barcodes of varying length, one UMI of fixed length and one adapter sequence of fixed length are allowed in read2 only (e.g. inDrop, ddSeq). - CB_samTagOut ... output Cell Barcode as CR and/or CB SAm tag. No UMI counting. --readFilesIn cDNA_read1 [cDNA_read2 if paired-end] CellBarcode_read . Requires --outSAMtype BAM Unsorted [and/or SortedByCoordinate] - SmartSeq ... Smart-seq: each cell in a separate FASTQ (paired- or single-end), barcodes are corresponding read-groups, no UMI sequences, alignments deduplicated according to alignment start and end (after extending soft-clipped bases) |List of `string`, multiple_sep: `";"` | -|`--soloCBwhitelist` |file(s) with whitelist(s) of cell barcodes. Only --soloType CB_UMI_Complex allows more than one whitelist file. - None ... no whitelist: all cell barcodes are allowed |List of `string`, multiple_sep: `";"` | -|`--soloCBstart` |cell barcode start base |`integer`, example: `1` | -|`--soloCBlen` |cell barcode length |`integer`, example: `16` | -|`--soloUMIstart` |UMI start base |`integer`, example: `17` | -|`--soloUMIlen` |UMI length |`integer`, example: `10` | -|`--soloBarcodeReadLength` |length of the barcode read - 1 ... equal to sum of soloCBlen+soloUMIlen - 0 ... not defined, do not check |`integer`, example: `1` | -|`--soloBarcodeMate` |identifies which read mate contains the barcode (CB+UMI) sequence - 0 ... barcode sequence is on separate read, which should always be the last file in the --readFilesIn listed - 1 ... barcode sequence is a part of mate 1 - 2 ... barcode sequence is a part of mate 2 |`integer`, example: `0` | -|`--soloCBposition` |position of Cell Barcode(s) on the barcode read. Presently only works with --soloType CB_UMI_Complex, and barcodes are assumed to be on Read2. Format for each barcode: startAnchor_startPosition_endAnchor_endPosition start(end)Anchor defines the Anchor Base for the CB: 0: read start; 1: read end; 2: adapter start; 3: adapter end start(end)Position is the 0-based position with of the CB start(end) with respect to the Anchor Base String for different barcodes are separated by space. Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 0_0_2_-1 3_1_3_8 |List of `string`, multiple_sep: `";"` | -|`--soloUMIposition` |position of the UMI on the barcode read, same as soloCBposition Example: inDrop (Zilionis et al, Nat. Protocols, 2017): --soloCBposition 3_9_3_14 |`string` | -|`--soloAdapterSequence` |adapter sequence to anchor barcodes. Only one adapter sequence is allowed. |`string` | -|`--soloAdapterMismatchesNmax` |maximum number of mismatches allowed in adapter sequence. |`integer`, example: `1` | -|`--soloCBmatchWLtype` |matching the Cell Barcodes to the WhiteList - Exact ... only exact matches allowed - 1MM ... only one match in whitelist with 1 mismatched base allowed. Allowed CBs have to have at least one read with exact match. - 1MM_multi ... multiple matches in whitelist with 1 mismatched base allowed, posterior probability calculation is used choose one of the matches. Allowed CBs have to have at least one read with exact match. This option matches best with CellRanger 2.2.0 - 1MM_multi_pseudocounts ... same as 1MM_Multi, but pseudocounts of 1 are added to all whitelist barcodes. - 1MM_multi_Nbase_pseudocounts ... same as 1MM_multi_pseudocounts, multimatching to WL is allowed for CBs with N-bases. This option matches best with CellRanger >= 3.0.0 - EditDist_2 ... allow up to edit distance of 3 fpr each of the barcodes. May include one deletion + one insertion. Only works with --soloType CB_UMI_Complex. Matches to multiple passlist barcdoes are not allowed. Similar to ParseBio Split-seq pipeline. |`string`, example: `"1MM_multi"` | -|`--soloInputSAMattrBarcodeSeq` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode sequence (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeSeq CR UR . This parameter is required when running STARsolo with input from SAM. |List of `string`, multiple_sep: `";"` | -|`--soloInputSAMattrBarcodeQual` |when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode qualities (in proper order). For instance, for 10X CellRanger or STARsolo BAMs, use --soloInputSAMattrBarcodeQual CY UY . If this parameter is '-' (default), the quality 'H' will be assigned to all bases. |List of `string`, multiple_sep: `";"` | -|`--soloStrand` |strandedness of the solo libraries: - Unstranded ... no strand information - Forward ... read strand same as the original RNA molecule - Reverse ... read strand opposite to the original RNA molecule |`string`, example: `"Forward"` | -|`--soloFeatures` |genomic features for which the UMI counts per Cell Barcode are collected - Gene ... genes: reads match the gene transcript - SJ ... splice junctions: reported in SJ.out.tab - GeneFull ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns - GeneFull_ExonOverIntron ... full gene (pre-mRNA): count all reads overlapping genes' exons and introns: prioritize 100% overlap with exons - GeneFull_Ex50pAS ... full gene (pre-RNA): count all reads overlapping genes' exons and introns: prioritize >50% overlap with exons. Do not count reads with 100% exonic overlap in the antisense direction. |List of `string`, example: `"Gene"`, multiple_sep: `";"` | -|`--soloMultiMappers` |counting method for reads mapping to multiple genes - Unique ... count only reads that map to unique genes - Uniform ... uniformly distribute multi-genic UMIs to all genes - Rescue ... distribute UMIs proportionally to unique+uniform counts (~ first iteration of EM) - PropUnique ... distribute UMIs proportionally to unique mappers, if present, and uniformly if not. - EM ... multi-gene UMIs are distributed using Expectation Maximization algorithm |List of `string`, example: `"Unique"`, multiple_sep: `";"` | -|`--soloUMIdedup` |type of UMI deduplication (collapsing) algorithm - 1MM_All ... all UMIs with 1 mismatch distance to each other are collapsed (i.e. counted once). - 1MM_Directional_UMItools ... follows the "directional" method from the UMI-tools by Smith, Heger and Sudbery (Genome Research 2017). - 1MM_Directional ... same as 1MM_Directional_UMItools, but with more stringent criteria for duplicate UMIs - Exact ... only exactly matching UMIs are collapsed. - NoDedup ... no deduplication of UMIs, count all reads. - 1MM_CR ... CellRanger2-4 algorithm for 1MM UMI collapsing. |List of `string`, example: `"1MM_All"`, multiple_sep: `";"` | -|`--soloUMIfiltering` |type of UMI filtering (for reads uniquely mapping to genes) - - ... basic filtering: remove UMIs with N and homopolymers (similar to CellRanger 2.2.0). - MultiGeneUMI ... basic + remove lower-count UMIs that map to more than one gene. - MultiGeneUMI_All ... basic + remove all UMIs that map to more than one gene. - MultiGeneUMI_CR ... basic + remove lower-count UMIs that map to more than one gene, matching CellRanger > 3.0.0 . Only works with --soloUMIdedup 1MM_CR |List of `string`, multiple_sep: `";"` | -|`--soloOutFileNames` |file names for STARsolo output: file_name_prefix gene_names barcode_sequences cell_feature_count_matrix |List of `string`, example: `"Solo.out/", "features.tsv", "barcodes.tsv", "matrix.mtx"`, multiple_sep: `";"` | -|`--soloCellFilter` |cell filtering type and parameters - None ... do not output filtered cells - TopCells ... only report top cells by UMI count, followed by the exact number of cells - CellRanger2.2 ... simple filtering of CellRanger 2.2. Can be followed by numbers: number of expected cells, robust maximum percentile for UMI count, maximum to minimum ratio for UMI count The harcoded values are from CellRanger: nExpectedCells=3000; maxPercentile=0.99; maxMinRatio=10 - EmptyDrops_CR ... EmptyDrops filtering in CellRanger flavor. Please cite the original EmptyDrops paper: A.T.L Lun et al, Genome Biology, 20, 63 (2019): https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y Can be followed by 10 numeric parameters: nExpectedCells maxPercentile maxMinRatio indMin indMax umiMin umiMinFracMedian candMaxN FDR simN The harcoded values are from CellRanger: 3000 0.99 10 45000 90000 500 0.01 20000 0.01 10000 |List of `string`, example: `"CellRanger2.2", "3000", "0.99", "10"`, multiple_sep: `";"` | -|`--soloOutFormatFeaturesGeneField3` |field 3 in the Gene features.tsv file. If "-", then no 3rd field is output. |List of `string`, example: `"Gene Expression"`, multiple_sep: `";"` | -|`--soloCellReadStats` |Output reads statistics for each CB - Standard ... standard output |`string` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/metadata/add_id.qmd b/components/modules/metadata/add_id.qmd deleted file mode 100644 index f74ecd65..00000000 --- a/components/modules/metadata/add_id.qmd +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: "Add id" -namespace: "Metadata" -description: "Add id of .obs." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `add_id` -Namespace: `metadata` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/metadata/add_id/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Also allows to make .obs_names (the .obs index) unique -by prefixing the values with an unique id per .h5mu file - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/metadata/add_id/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "sample_path" -input_id: # please fill in - example: "foo" -obs_output: "sample_id" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -make_observation_keys_unique: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/metadata/add_id/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the input .h5mu. |`file`, required, example: `"sample_path"` | -|`--input_id` |The input id. |`string`, required | -|`--obs_output` |Name of the .obs column where to store the id. |`string`, default: `"sample_id"` | -|`--output` | |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--make_observation_keys_unique` |Join the id to the .obs index (.obs_names). |`boolean_true` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/metadata/grep_annotation_column.qmd b/components/modules/metadata/grep_annotation_column.qmd deleted file mode 100644 index 18364518..00000000 --- a/components/modules/metadata/grep_annotation_column.qmd +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: "Grep annotation column" -namespace: "Metadata" -description: "Perform a regex lookup on a column from the annotation matrices .obs or .var." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `grep_annotation_column` -Namespace: `metadata` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/metadata/grep_annotation_column/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The annotation matrix can originate from either a modality, or all modalities (global .var or .obs) - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/metadata/grep_annotation_column/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "sample_path" -# input_column: "foo" -# input_layer: "foo" -modality: # please fill in - example: "rna" -# matrix: "var" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_match_column: # please fill in - example: "foo" -# output_fraction_column: "foo" - -# Query options -regex_pattern: # please fill in - example: "^[mM][tT]-" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/metadata/grep_annotation_column/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -Arguments related to the input dataset. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to the input .h5mu. |`file`, required, example: `"sample_path"` | -|`--input_column` |Column to query. If not specified, use .var_names or .obs_names, depending on the value of --matrix |`string` | -|`--input_layer` |Input data to use when calculating fraction of observations that match with the query. Only used when --output_fraction_column is provided. If not specified, .X is used. |`string` | -|`--modality` |Which modality to get the annotation matrix from. |`string`, required, example: `"rna"` | -|`--matrix` |Matrix to fetch the column from that will be searched. |`string`, example: `"var"` | - - -### Outputs - -Arguments related to how the output will be written. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` | |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--output_match_column` |Name of the column to write the result to. |`string`, required | -|`--output_fraction_column` |For the opposite axis, name of the column to write the fraction of observations that matches to the pattern. |`string` | - - -### Query options - -Options related to the query - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--regex_pattern` |Regex to use to match with the input column. |`string`, required, example: `"^[mM][tT]-"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/metadata/join_csv.qmd b/components/modules/metadata/join_csv.qmd deleted file mode 100644 index 19ef9c3d..00000000 --- a/components/modules/metadata/join_csv.qmd +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: "Join csv" -namespace: "Metadata" -description: "Join a csv containing metadata to the .obs or .var field of a mudata file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `join_csv` -Namespace: `metadata` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/metadata/join_csv/config.vsh.yml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/metadata/join_csv/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# MuData Input -input: # please fill in - example: "input.h5mu" -modality: "rna" -# obs_key: "foo" -# var_key: "foo" - -# MuData Output -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Metadata Input -input_csv: # please fill in - example: "metadata.csv" -csv_key: "id" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/metadata/join_csv/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### MuData Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obs_key` |Obs column name where the sample id can be found for each observation to join on. Useful when adding metadata to concatenated samples. Mutually exclusive with `--var_key`." |`string` | -|`--var_key` |Var column name where the sample id can be found for each variable to join on. Mutually exclusive with `--obs_key`." |`string` | - - -### MuData Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - - -### Metadata Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_csv` |.csv file containing metadata |`file`, required, example: `"metadata.csv"` | -|`--csv_key` |column of the the csv that corresponds to the sample id. |`string`, default: `"id"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) - diff --git a/components/modules/metadata/join_uns_to_obs.qmd b/components/modules/metadata/join_uns_to_obs.qmd deleted file mode 100644 index 41528f2c..00000000 --- a/components/modules/metadata/join_uns_to_obs.qmd +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Join uns to obs" -namespace: "Metadata" -description: "Join a data frame of length 1 (1 row index value) in .uns containing metadata to the .obs of a mudata file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `join_uns_to_obs` -Namespace: `metadata` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/metadata/join_uns_to_obs/config.vsh.yml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/metadata/join_uns_to_obs/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -uns_key: # please fill in - example: "foo" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/metadata/join_uns_to_obs/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--uns_key` | |`string`, required | -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - diff --git a/components/modules/metadata/move_obsm_to_obs.qmd b/components/modules/metadata/move_obsm_to_obs.qmd deleted file mode 100644 index bf19acad..00000000 --- a/components/modules/metadata/move_obsm_to_obs.qmd +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Move obsm to obs" -namespace: "Metadata" -description: "Move a matrix from .obsm to .obs." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `move_obsm_to_obs` -Namespace: `metadata` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/metadata/move_obsm_to_obs/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Newly created columns in .obs will -be created from the .obsm key suffixed with an underscore and the name of the columns -of the specified .obsm matrix - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/metadata/move_obsm_to_obs/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# MuData Input -input: # please fill in - example: "input.h5mu" -modality: "rna" -obsm_key: # please fill in - example: "foo" - -# MuData Output -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/metadata/move_obsm_to_obs/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### MuData Input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obsm_key` |Key of a data structure to move from `.obsm` to `.obs`. |`string`, required | - - -### MuData Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) - diff --git a/components/modules/neighbors/bbknn.qmd b/components/modules/neighbors/bbknn.qmd deleted file mode 100644 index fb724c5b..00000000 --- a/components/modules/neighbors/bbknn.qmd +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Bbknn" -namespace: "Neighbors" -description: "BBKNN network generation" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bbknn` -Namespace: `neighbors` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/neighbors/bbknn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/neighbors/bbknn/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -modality: "rna" -obsm_input: "X_pca" -obs_batch: "batch" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -uns_output: "neighbors" -obsp_distances: "distances" -obsp_connectivities: "connectivities" -n_neighbors_within_batch: 3 -n_pcs: 50 -# n_trim: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/neighbors/bbknn/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required | -|`--modality` | |`string`, default: `"rna"` | -|`--obsm_input` |The dimensionality reduction in `.obsm` to use for neighbour detection. Defaults to X_pca. |`string`, default: `"X_pca"` | -|`--obs_batch` |.obs column name discriminating between your batches. |`string`, default: `"batch"` | -|`--output` |Output .h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--uns_output` |Mandatory .uns slot to store various neighbor output objects. |`string`, default: `"neighbors"` | -|`--obsp_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"distances"` | -|`--obsp_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"connectivities"` | -|`--n_neighbors_within_batch` |How many top neighbours to report for each batch; total number of neighbours in the initial k-nearest-neighbours computation will be this number times the number of batches. |`integer`, default: `3` | -|`--n_pcs` |How many dimensions (in case of PCA, principal components) to use in the analysis. |`integer`, default: `50` | -|`--n_trim` |Trim the neighbours of each cell to these many top connectivities. May help with population independence and improve the tidiness of clustering. The lower the value the more independent the individual populations, at the cost of more conserved batch effect. If `None` (default), sets the parameter value automatically to 10 times `neighbors_within_batch` times the number of batches. Set to 0 to skip. |`integer` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (author) - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/neighbors/find_neighbors.qmd b/components/modules/neighbors/find_neighbors.qmd deleted file mode 100644 index 73c9f2a4..00000000 --- a/components/modules/neighbors/find_neighbors.qmd +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: "Find neighbors" -namespace: "Neighbors" -description: "Compute a neighborhood graph of observations [McInnes18]." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `find_neighbors` -Namespace: `neighbors` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/neighbors/find_neighbors/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The neighbor search efficiency of this heavily relies on UMAP [McInnes18], which also provides a method for estimating connectivities of data points - the connectivity of the manifold (method=='umap'). If method=='gauss', connectivities are computed according to [Coifman05], in the adaption of [Haghverdi16]. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/neighbors/find_neighbors/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -obsm_input: "X_pca" -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -uns_output: "neighbors" -obsp_distances: "distances" -obsp_connectivities: "connectivities" -metric: "euclidean" -num_neighbors: 15 -seed: 0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/neighbors/find_neighbors/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obsm_input` |Which .obsm slot to use as a starting PCA embedding. |`string`, default: `"X_pca"` | -|`--output` |Output h5mu file containing the found neighbors. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--uns_output` |Mandatory .uns slot to store various neighbor output objects. |`string`, default: `"neighbors"` | -|`--obsp_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"distances"` | -|`--obsp_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"connectivities"` | -|`--metric` |The distance metric to be used in the generation of the nearest neighborhood network. |`string`, default: `"euclidean"` | -|`--num_neighbors` |The size of local neighborhood (in terms of number of neighboring data points) used for manifold approximation. Larger values result in more global views of the manifold, while smaller values result in more local data being preserved. In general values should be in the range 2 to 100. If knn is True, number of nearest neighbors to be searched. If knn is False, a Gaussian kernel width is set to the distance of the n_neighbors neighbor. |`integer`, default: `15` | -|`--seed` |A random seed. |`integer`, default: `0` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor) - diff --git a/components/modules/process_10xh5/filter_10xh5.qmd b/components/modules/process_10xh5/filter_10xh5.qmd deleted file mode 100644 index 9050c84e..00000000 --- a/components/modules/process_10xh5/filter_10xh5.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Filter 10xh5" -namespace: "Process 10xh5" -description: "Filter a 10x h5 dataset" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `filter_10xh5` -Namespace: `process_10xh5` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/process_10xh5/filter_10xh5/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/process_10xh5/filter_10xh5/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "pbmc_1k_protein_v3_raw_feature_bc_matrix.h5" -# output: "$id.$key.output.h5" -min_library_size: 0 -min_cells_per_gene: 0 -# keep_feature_types: ["Antibody Capture"] -verbose: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/process_10xh5/filter_10xh5/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |An h5 file from the 10x genomics website. |`file`, required, example: `"pbmc_1k_protein_v3_raw_feature_bc_matrix.h5"` | -|`--output` |Output h5 file. |`file`, required, example: `"pbmc_1k_protein_v3_raw_feature_bc_matrix_filtered.h5"` | -|`--min_library_size` |Minimum library size. |`integer`, default: `0` | -|`--min_cells_per_gene` |Minimum number of cells per gene. |`integer`, default: `0` | -|`--keep_feature_types` |Specify which feature types will never be filtered out |List of `string`, example: `"Antibody Capture"`, multiple_sep: `";"` | -|`--verbose` |Increase verbosity |`boolean_true` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/qc/calculate_atac_qc_metrics.qmd b/components/modules/qc/calculate_atac_qc_metrics.qmd deleted file mode 100644 index a7a819fc..00000000 --- a/components/modules/qc/calculate_atac_qc_metrics.qmd +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Calculate atac qc metrics" -namespace: "Qc" -description: "Add basic ATAC quality control metrics to an .h5mu file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `calculate_atac_qc_metrics` -Namespace: `qc` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/qc/calculate_atac_qc_metrics/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The metrics are comparable to what scanpy.pp.calculate_qc_metrics output, -although they have slightly different names: - -Obs metrics (name in this component -> name in scanpy): - - n_features_per_cell -> n_genes_by_counts - - total_fragment_counts -> total_counts - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/qc/calculate_atac_qc_metrics/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -# fragments_path: "fragments.tsv.gz" -modality: "atac" -# layer: "raw_counts" -n_fragments_for_nucleosome_signal: 100000 -nuc_signal_threshold: 2.0 -n_tss: 3000 -tss_threshold: 1.5 - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/qc/calculate_atac_qc_metrics/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--fragments_path` |Path to the fragments file. If not provided and not present in the input h5mu file, the nucleosome signal and TSS enrichment score will not be calculated. |`file`, example: `"fragments.tsv.gz"` | -|`--modality` | |`string`, default: `"atac"` | -|`--layer` |Layer at `.layers` to use for the calculation. If not provided, `.X` is used. |`string`, example: `"raw_counts"` | -|`--n_fragments_for_nucleosome_signal` |Number of fragments to use per cell for nucleosome signal calculation. Takes very long to calculate, for a test run lower value (e.g. 10e3) is recommended. See https://www.sc-best-practices.org/chromatin_accessibility/quality_control.html#nucleosome-signal for more information |`integer`, default: `100000` | -|`--nuc_signal_threshold` |Threshold for nucleosome signal. Cells with nucleosome signal above this threshold will be marked as low quality ("NS_FAIL"), otherwise they will be marked "NS_PASS". |`double`, default: `2` | -|`--n_tss` |Number of the transcription start sites to calculate TSS enrichment score. See https://www.sc-best-practices.org/chromatin_accessibility/quality_control.html#tss-enrichment for more information |`integer`, default: `3000` | -|`--tss_threshold` |Threshold for TSS enrichment score. Cells with TSS enrichment score below this threshold will be marked as low quality ("TSS_FAIL") otherwise they will be marked as "TSS_PASS". |`double`, default: `1.5` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/qc/calculate_qc_metrics.qmd b/components/modules/qc/calculate_qc_metrics.qmd deleted file mode 100644 index f4553eec..00000000 --- a/components/modules/qc/calculate_qc_metrics.qmd +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "Calculate qc metrics" -namespace: "Qc" -description: "Add basic quality control metrics to an .h5mu file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `calculate_qc_metrics` -Namespace: `qc` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/qc/calculate_qc_metrics/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The metrics are comparable to what scanpy.pp.calculate_qc_metrics output, -although they have slightly different names: - -Var metrics (name in this component -> name in scanpy): - - pct_dropout -> pct_dropout_by_{expr_type} - - num_nonzero_obs -> n_cells_by_{expr_type} - - obs_mean -> mean_{expr_type} - - total_counts -> total_{expr_type} - - Obs metrics: - - num_nonzero_vars -> n_genes_by_{expr_type} - - pct_{var_qc_metrics} -> pct_{expr_type}_{qc_var} - - total_counts_{var_qc_metrics} -> total_{expr_type}_{qc_var} - - pct_of_counts_in_top_{top_n_vars}_vars -> pct_{expr_type}_in_top_{n}_{var_type} - - total_counts -> total_{expr_type} - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/qc/calculate_qc_metrics/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# layer: "raw_counts" - -# Metrics added to .obs -# var_qc_metrics: ["ercc,highly_variable,mitochondrial"] -# var_qc_metrics_fill_na_value: true -# top_n_vars: [123] -output_obs_num_nonzero_vars: "num_nonzero_vars" -output_obs_total_counts_vars: "total_counts" - -# Metrics added to .var -output_var_num_nonzero_obs: "num_nonzero_obs" -output_var_total_counts_obs: "total_counts" -output_var_obs_mean: "obs_mean" -output_var_pct_dropout: "pct_dropout" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/qc/calculate_qc_metrics/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` | |`string`, example: `"raw_counts"` | - - -### Metrics added to .obs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--var_qc_metrics` |Keys to select a boolean (containing only True or False) column from .var. For each cell, calculate the proportion of total values for genes which are labeled 'True', compared to the total sum of the values for all genes. |List of `string`, example: `"ercc,highly_variable,mitochondrial"`, multiple_sep: `";"` | -|`--var_qc_metrics_fill_na_value` |Fill any 'NA' values found in the columns specified with --var_qc_metrics to 'True' or 'False'. as False. |`boolean` | -|`--top_n_vars` |Number of top vars to be used to calculate cumulative proportions. If not specified, proportions are not calculated. `--top_n_vars 20;50` finds cumulative proportion to the 20th and 50th most expressed vars. |List of `integer`, multiple_sep: `";"` | -|`--output_obs_num_nonzero_vars` |Name of column in .obs describing, for each observation, the number of stored values (including explicit zeroes). In other words, the name of the column that counts for each row the number of columns that contain data. |`string`, default: `"num_nonzero_vars"` | -|`--output_obs_total_counts_vars` |Name of the column for .obs describing, for each observation (row), the sum of the stored values in the columns. |`string`, default: `"total_counts"` | - - -### Metrics added to .var - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output_var_num_nonzero_obs` |Name of column describing, for each feature, the number of stored values (including explicit zeroes). In other words, the name of the column that counts for each column the number of rows that contain data. |`string`, default: `"num_nonzero_obs"` | -|`--output_var_total_counts_obs` |Name of the column in .var describing, for each feature (column), the sum of the stored values in the rows. |`string`, default: `"total_counts"` | -|`--output_var_obs_mean` |Name of the column in .obs providing the mean of the values in each row. |`string`, default: `"obs_mean"` | -|`--output_var_pct_dropout` |Name of the column in .obs providing for each feature the percentage of observations the feature does not appear on (i.e. is missing). Same as `--num_nonzero_obs` but percentage based. |`string`, default: `"pct_dropout"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) - diff --git a/components/modules/qc/fastqc.qmd b/components/modules/qc/fastqc.qmd deleted file mode 100644 index 87cf1131..00000000 --- a/components/modules/qc/fastqc.qmd +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Fastqc" -namespace: "Qc" -description: "Fastqc component, please see https://www.bioinformatics.babraham.ac.uk/projects/fastqc/." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `fastqc` -Namespace: `qc` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/qc/fastqc/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -This component can take one or more files (by means of shell globbing) or a complete directory - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/qc/fastqc/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -mode: "files" -input: # please fill in - example: "fastq_dir" -# output: "$id.$key.output" -# threads: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/qc/fastqc/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--mode` |The mode in which the component works. Can be either files or dir. |`string`, default: `"files"` | -|`--input` |Directory containing input fastq files. |`file`, required, example: `"fastq_dir"` | -|`--output` |Output directory to write reports to. |`file`, required, example: `"qc"` | -|`--threads` |Specifies the number of files which can be processed simultaneously. Each thread will be allocated 250MB of memory. |`integer` | - diff --git a/components/modules/qc/multiqc.qmd b/components/modules/qc/multiqc.qmd deleted file mode 100644 index ed717df4..00000000 --- a/components/modules/qc/multiqc.qmd +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Multiqc" -namespace: "Qc" -description: "MultiQC aggregates results from bioinformatics analyses across many samples into a single report." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `multiqc` -Namespace: `qc` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/qc/multiqc/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -It searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/qc/multiqc/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: ["input.txt"] -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/qc/multiqc/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Inputs for MultiQC. |List of `file`, required, example: `"input.txt"`, multiple_sep: `";"` | -|`--output` |Create report in the specified output directory. |`file`, required, example: `"report"` | - diff --git a/components/modules/query/cellxgene_census.qmd b/components/modules/query/cellxgene_census.qmd deleted file mode 100644 index d5fe576f..00000000 --- a/components/modules/query/cellxgene_census.qmd +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: "Cellxgene census" -namespace: "Query" -description: "Query cells from a CellxGene Census or custom TileDBSoma object." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellxgene_census` -Namespace: `query` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/query/cellxgene_census/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Aside from fetching the cells' RNA counts (`.X`), cell metadata -(`.obs`) and gene metadata (`.var`), this component also fetches -the dataset metadata and joins it into the cell metadata - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/query/cellxgene_census/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input database -# input_uri: "s3://bucket/path" -# census_version: "stable" -add_dataset_metadata: false - -# Cell query -species: # please fill in - example: "homo_sapiens" -obs_value_filter: # please fill in - example: "is_primary_data == True and cell_type_ontology_term_id in ['CL:0000136', 'CL:1000311', 'CL:0002616'] and suspension_type == 'cell'" - -# Filter cells by grouping -# cell_filter_grouping: ["dataset_id", "tissue", "assay", "disease", "cell_type"] -# cell_filter_minimum_count: 100 - -# Count filtering -cell_filter_min_genes: 50 -cell_filter_min_counts: 0 -gene_filter_min_cells: 5 -gene_filter_min_counts: 0 - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_modality: "rna" -# output_layer_counts: "foo" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/query/cellxgene_census/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input database - -Open CellxGene Census by version or URI. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_uri` |If specified, a URI containing the Census SOMA objects. If specified, will take precedence over the `--census_version` argument. |`string`, example: `"s3://bucket/path"` | -|`--census_version` |Which release of CellxGene census to use. Possible values are "latest", "stable", or the date of one of the releases (e.g. "2023-07-25"). For more information, check the documentation on [Census data releases](https://chanzuckerberg.github.io/cellxgene-census/cellxgene_census_docsite_data_release_info.html). |`string`, example: `"stable"` | -|`--add_dataset_metadata` |If true, the experiment metadata will be added to the cell metadata. More specifically: `collection_id`, `collection_name`, `collection_doi`, `dataset_title`. |`boolean_true` | - - -### Cell query - -Arguments related to the query. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--species` |The organism to query, usually one of `Homo sapiens` or `Mus musculus`. |`string`, required, example: `"homo_sapiens"` | -|`--obs_value_filter` |Filter for selecting the `obs` metadata (i.e. cells). Value is a filter query written in the SOMA `value_filter` syntax. |`string`, required, example: `"is_primary_data == True and cell_type_ontology_term_id in ['CL:0000136', 'CL:1000311', 'CL:0002616'] and suspension_type == 'cell'"` | - - -### Filter cells by grouping - -Filter groups with fewer than X number of cells. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cell_filter_grouping` |A subset of 'obs' columns by which to group the cells for filtering. Only groups surpassing or equal to the `--cell_filter_minimum_count` threshold will be retained. Take care not to introduce a selection bias against cells with more fine-grained ontology annotations. |List of `string`, example: `"dataset_id", "tissue", "assay", "disease", "cell_type"`, multiple_sep: `";"` | -|`--cell_filter_minimum_count` |A minimum number of cells per group to retain. If `--cell_filter_grouping` is defined, this parameter should also be provided and vice versa. |`integer`, example: `100` | - - -### Count filtering - -Arguments related to filtering cells and genes by counts. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--cell_filter_min_genes` |Remove cells with less than this number of genes. |`integer`, default: `50` | -|`--cell_filter_min_counts` |Remove cells with less than this number of counts. |`integer`, default: `0` | -|`--gene_filter_min_cells` |Remove genes expressed in less than this number of cells. |`integer`, default: `5` | -|`--gene_filter_min_counts` |Remove genes with less than this number of counts. |`integer`, default: `0` | - - -### Outputs - -Output arguments. - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_modality` |Which modality to store the output in. |`string`, default: `"rna"` | -|`--output_layer_counts` |Which layer to store the raw counts in. If not provided, the .X layer will be used. |`string` | - -## Authors - - - * Matthias Beyens [{{< fa brands github >}}](https://github.com/MatthiasBeyens) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3304-0706) [{{< fa brands linkedin >}}](https://linkedin.com/in/mbeyens) (maintainer, author) - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author) - - * Kai Waldrant [{{< fa brands github >}}](https://github.com/KaiWaldrant) [{{< fa brands orcid >}}](https://orcid.org/0009-0003-8555-1361) [{{< fa brands linkedin >}}](https://linkedin.com/in/kaiwaldrant) (contributor) - diff --git a/components/modules/reference/build_bdrhap_reference.qmd b/components/modules/reference/build_bdrhap_reference.qmd deleted file mode 100644 index 092f0c09..00000000 --- a/components/modules/reference/build_bdrhap_reference.qmd +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Build bdrhap reference" -namespace: "Reference" -description: "The Reference Files Generator creates an archive containing Genome Index and Transcriptome annotation files needed for the BD Rhapsody Sequencing Analysis Pipeline." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `build_bdrhap_reference` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/build_bdrhap_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -The app takes as input one or more FASTA and GTF files -and produces a compressed archive in the form of a tar.gz file. The -archive contains: - -- STAR index -- Filtered GTF file - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/build_bdrhap_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -genome_fasta: # please fill in - example: ["genome_sequence.fa.gz"] -gtf: # please fill in - example: ["transcriptome_annotation.gtf.gz"] -# extra_sequences: ["path/to/file"] - -# Outputs -# reference_archive: "$id.$key.reference_archive.gz" - -# Arguments -mitochondrial_contigs: ["chrM", "chrMT", "M", "MT"] -filtering_off: false -wta_only_index: false -# extra_star_params: "--limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/build_bdrhap_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genome_fasta` |Reference genome file in FASTA or FASTA.GZ format. The BD Rhapsody Sequencing Analysis Pipeline uses GRCh38 for Human and GRCm39 for Mouse. |List of `file`, required, example: `"genome_sequence.fa.gz"`, multiple_sep: `";"` | -|`--gtf` |File path to the transcript annotation files in GTF or GTF.GZ format. The Sequence Analysis Pipeline requires the 'gene_name' or 'gene_id' attribute to be set on each gene and exon feature. Gene and exon feature lines must have the same attribute, and exons must have a corresponding gene with the same value. For TCR/BCR assays, the TCR or BCR gene segments must have the 'gene_type' or 'gene_biotype' attribute set, and the value should begin with 'TR' or 'IG', respectively. |List of `file`, required, example: `"transcriptome_annotation.gtf.gz"`, multiple_sep: `";"` | -|`--extra_sequences` |File path to additional sequences in FASTA format to use when building the STAR index. (e.g. transgenes or CRISPR guide barcodes). GTF lines for these sequences will be automatically generated and combined with the main GTF. |List of `file`, multiple_sep: `";"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--reference_archive` |A Compressed archive containing the Reference Genome Index and annotation GTF files. This archive is meant to be used as an input in the BD Rhapsody Sequencing Analysis Pipeline. |`file`, required, example: `"reference.tar.gz"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--mitochondrial_contigs` |Names of the Mitochondrial contigs in the provided Reference Genome. Fragments originating from contigs other than these are identified as 'nuclear fragments' in the ATACseq analysis pipeline. |List of `string`, default: `"chrM", "chrMT", "M", "MT"`, multiple_sep: `";"` | -|`--filtering_off` |By default the input Transcript Annotation files are filtered based on the gene_type/gene_biotype attribute. Only features having the following attribute values are kept: - protein_coding - lncRNA - IG_LV_gene - IG_V_gene - IG_V_pseudogene - IG_D_gene - IG_J_gene - IG_J_pseudogene - IG_C_gene - IG_C_pseudogene - TR_V_gene - TR_V_pseudogene - TR_D_gene - TR_J_gene - TR_J_pseudogene - TR_C_gene If you have already pre-filtered the input Annotation files and/or wish to turn-off the filtering, please set this option to True. |`boolean_true` | -|`--wta_only_index` |Build a WTA only index, otherwise builds a WTA + ATAC index. |`boolean_true` | -|`--extra_star_params` |Additional parameters to pass to STAR when building the genome index. Specify exactly like how you would on the command line. |`string`, example: `"--limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/reference/build_cellranger_arc_reference.qmd b/components/modules/reference/build_cellranger_arc_reference.qmd deleted file mode 100644 index 60434d65..00000000 --- a/components/modules/reference/build_cellranger_arc_reference.qmd +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Build cellranger arc reference" -namespace: "Reference" -description: "Build a Cell Ranger-arc and -atac compatible reference folder from user-supplied genome FASTA and gene GTF files." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `build_cellranger_arc_reference` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/build_cellranger_arc_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Creates a new folder named after the genome. - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/build_cellranger_arc_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -genome_fasta: # please fill in - example: "genome_sequence.fa.gz" -annotation_gtf: # please fill in - example: "annotation.gtf.gz" -# motifs_file: "JASPAR2024_CORE_non-redundant_pfms_jaspar.txt.modified" -non_nuclear_contigs: ["chrM"] -# output: "$id.$key.output" -genome: # please fill in - example: "output" -# organism: "foo" -# subset_regex: "(ERCC-00002|chr1)" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/build_cellranger_arc_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genome_fasta` |Reference genome fasta. |`file`, required, example: `"genome_sequence.fa.gz"` | -|`--annotation_gtf` |Reference annotation. |`file`, required, example: `"annotation.gtf.gz"` | -|`--motifs_file` |Transcription factor motifs in JASPAR format. See https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/advanced/references |`file`, example: `"JASPAR2024_CORE_non-redundant_pfms_jaspar.txt.modified"` | -|`--non_nuclear_contigs` |Name(s) of contig(s) that do not have any chromatin structure, for example, mitochondria or plastids. These contigs are excluded from peak calling since the entire contig will be "open" due to a lack of chromatin structure. Leave empty if there are no such contigs. |List of `string`, default: `"chrM"`, example: `"chrM"`, multiple_sep: `";"` | -|`--output` |Output folder |`file`, required, example: `"cellranger_reference"` | -|`--genome` |Name of the genome. This will be the name of the intermediate output folder |`string`, required, default: `"output"`, example: `"GRCh38"` | -|`--organism` |Name of the organism. This is displayed in the web summary but is otherwise not used in the analysis. |`string` | -|`--subset_regex` |Will subset the reference chromosomes using the given regex. |`string`, example: `"(ERCC-00002|chr1)"` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (author) - diff --git a/components/modules/reference/build_cellranger_reference.qmd b/components/modules/reference/build_cellranger_reference.qmd deleted file mode 100644 index 10ec279a..00000000 --- a/components/modules/reference/build_cellranger_reference.qmd +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Build cellranger reference" -namespace: "Reference" -description: "Build a Cell Ranger-compatible reference folder from user-supplied genome FASTA and gene GTF files." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `build_cellranger_reference` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/build_cellranger_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Creates a new folder named after the genome. - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/build_cellranger_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -genome_fasta: # please fill in - example: "genome_sequence.fa.gz" -transcriptome_gtf: # please fill in - example: "transcriptome_annotation.gtf.gz" -# reference_version: "foo" -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/build_cellranger_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genome_fasta` |Reference genome fasta. |`file`, required, example: `"genome_sequence.fa.gz"` | -|`--transcriptome_gtf` |Reference transcriptome annotation. |`file`, required, example: `"transcriptome_annotation.gtf.gz"` | -|`--reference_version` |Optional reference version string to include with reference |`string` | -|`--output` |Output folder |`file`, required, example: `"cellranger_reference"` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/reference/build_star_reference.qmd b/components/modules/reference/build_star_reference.qmd deleted file mode 100644 index 751f3699..00000000 --- a/components/modules/reference/build_star_reference.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Build star reference" -namespace: "Reference" -description: "Create a reference for STAR from a set of fasta files." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `build_star_reference` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/build_star_reference/config.vsh.yml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/build_star_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Input/Output -genome_fasta: # please fill in - example: ["chr1.fasta", "chr2.fasta"] -# transcriptome_gtf: "path/to/file" -# output: "$id.$key.output" - -# Genome indexing arguments -genomeSAindexNbases: 14 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/build_star_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Input/Output - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genome_fasta` |The fasta files to be included in the reference. Corresponds to the --genomeFastaFiles argument in the STAR command. |List of `file`, required, example: `"chr1.fasta", "chr2.fasta"`, multiple_sep: `";"` | -|`--transcriptome_gtf` |Specifies the path to the file with annotated transcripts in the standard GTF format. STAR will extract splice junctions from this file and use them to greatly improve accuracy of the mapping. Corresponds to the --sjdbGTFfile argument in the STAR command. |`file` | -|`--output` |Path to output directory. Corresponds to the --genomeDir argument in the STAR command. |`file`, required, example: `"/path/to/foo"` | - - -### Genome indexing arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genomeSAindexNbases` |Length (bases) of the SA pre-indexing string. Typically between 10 and 15. Longer strings will use much more memory, but allow faster searches. For small genomes, the parameter {genomeSAindexNbases must be scaled down to min(14, log2(GenomeLength)/2 - 1). |`integer`, default: `14` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) - diff --git a/components/modules/reference/cellranger_mkgtf.qmd b/components/modules/reference/cellranger_mkgtf.qmd deleted file mode 100644 index b63549f8..00000000 --- a/components/modules/reference/cellranger_mkgtf.qmd +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: "Cellranger mkgtf" -namespace: "Reference" -description: "Make a GTF file - filter by a specific attribute." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cellranger_mkgtf` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/cellranger_mkgtf/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/cellranger_mkgtf/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input_gtf: # please fill in - example: "transcriptome_annotation.gtf.gz" -# output_gtf: "$id.$key.output_gtf.gz" -attribute: # please fill in - example: ["gene_type:transcribed_unprocessed_pseudogene", "gene_type:miRNA"] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/cellranger_mkgtf/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input_gtf` |Reference GTF annotation. |`file`, required, example: `"transcriptome_annotation.gtf.gz"` | -|`--output_gtf` |Output GTF file. |`file`, required, example: `"output.gtf.gz"` | -|`--attribute` |Key-value pair in attributes field to be kept in the GTF file of the format attribute:attribute_value. |List of `string`, required, example: `"gene_type:transcribed_unprocessed_pseudogene", "gene_type:miRNA"`, multiple_sep: `";"` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/reference/make_reference.qmd b/components/modules/reference/make_reference.qmd deleted file mode 100644 index 43189f2e..00000000 --- a/components/modules/reference/make_reference.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Make reference" -namespace: "Reference" -description: "Preprocess and build a transcriptome reference." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `make_reference` -Namespace: `reference` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/reference/make_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Example input files are: - - `genome_fasta`: https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_41/GRCh38.primary_assembly.genome.fa.gz - - `transcriptome_gtf`: https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_41/gencode.v41.annotation.gtf.gz - - `ercc`: https://assets.thermofisher.com/TFS-Assets/LSG/manuals/ERCC92.zip - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/reference/make_reference/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -genome_fasta: # please fill in - example: "genome_fasta.fa.gz" -transcriptome_gtf: # please fill in - example: "transcriptome.gtf.gz" -# ercc: "ercc.zip" -# subset_regex: "(ERCC-00002|chr1)" -# output_fasta: "$id.$key.output_fasta.gz" -# output_gtf: "$id.$key.output_gtf.gz" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/reference/make_reference/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--genome_fasta` |Reference genome fasta. Example: |`file`, required, example: `"genome_fasta.fa.gz"` | -|`--transcriptome_gtf` |Reference transcriptome annotation. |`file`, required, example: `"transcriptome.gtf.gz"` | -|`--ercc` |ERCC sequence and annotation file. |`file`, example: `"ercc.zip"` | -|`--subset_regex` |Will subset the reference chromosomes using the given regex. |`string`, example: `"(ERCC-00002|chr1)"` | -|`--output_fasta` |Output genome sequence fasta. |`file`, required, example: `"genome_sequence.fa.gz"` | -|`--output_gtf` |Output transcriptome annotation gtf. |`file`, required, example: `"transcriptome_annotation.gtf.gz"` | - -## Authors - - - * Angela Oliveira Pisco [{{< fa brands github >}}](https://github.com/aopisco) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-0142-2355) [{{< fa brands linkedin >}}](https://linkedin.com/in/aopisco) (author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (author, maintainer) - diff --git a/components/modules/report/mermaid.qmd b/components/modules/report/mermaid.qmd deleted file mode 100644 index cfd1abf6..00000000 --- a/components/modules/report/mermaid.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Mermaid" -namespace: "Report" -description: "Generates a network from mermaid code" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `mermaid` -Namespace: `report` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/report/mermaid/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/report/mermaid/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -# output: "$id.$key.output" -# output_format: "foo" -width: 800 -height: 600 -background_color: "white" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/report/mermaid/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input directory |`file`, required | -|`--output` |Generated network as output. |`file`, required | -|`--output_format` |Output format for the generated image. By default will be inferred from the extension of the file specified with --output. |`string` | -|`--width` |Width of the page |`integer`, default: `800` | -|`--height` |Height of the page |`integer`, default: `600` | -|`--background_color` |Background color for pngs/svgs (not pdfs) |`string`, default: `"white"`, example: `"#F0F0F0"` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - diff --git a/components/modules/scgpt/binning.qmd b/components/modules/scgpt/binning.qmd deleted file mode 100644 index 4fc92df3..00000000 --- a/components/modules/scgpt/binning.qmd +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: "Binning" -namespace: "Scgpt" -description: "Conversion of (pre-processed) expression count data into relative values (bins) to address scale differences across sequencing batches" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `binning` -Namespace: `scgpt` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/scgpt/binning/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/scgpt/binning/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -var_input: "id_in_vocab" -n_input_bins: 51 - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_obsm_binned_counts: "binned_counts" -# seed: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/scgpt/binning/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |Mudata layer (key from .layers) to use as input data for binning. If not specified, .X is used. |`string` | -|`--var_input` |The name of the adata.var column containing boolean mask for vocabulary-cross checked and/or highly variable genes. |`string`, default: `"id_in_vocab"` | -|`--n_input_bins` |The number of bins to discretize the data into. When no value is provided, data won't be binned. |`integer`, default: `51` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The output h5mu file containing the binned data. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression algorithm to use for the output h5mu file. |`string`, example: `"gzip"` | -|`--output_obsm_binned_counts` |The name of the adata layer to write the binned data to. |`string`, default: `"binned_counts"` | -|`--seed` |Seed for random number generation. |`integer` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Elizabeth Mlynarski (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/scgpt/cell_type_annotation.qmd b/components/modules/scgpt/cell_type_annotation.qmd deleted file mode 100644 index 35b4e641..00000000 --- a/components/modules/scgpt/cell_type_annotation.qmd +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: "Cell type annotation" -namespace: "Scgpt" -description: "Annotate gene expression data with cell type classes through the scGPT model" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cell_type_annotation` -Namespace: `scgpt` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/scgpt/cell_type_annotation/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/scgpt/cell_type_annotation/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Model input -model: # please fill in - example: "best_model.pt" -model_config: # please fill in - example: "args.json" -model_vocab: # please fill in - example: "vocab.json" -finetuned_checkpoints_key: "model_state_dict" -label_mapper_key: "id_to_class" - -# Query input -input: # please fill in - example: "scgpt_preprocess_ouput.h5mu" -modality: "rna" -# obs_batch_label: "foo" -obsm_gene_tokens: "gene_id_tokens" -obsm_tokenized_values: "values_tokenized" - -# Outputs -# output: "$id.$key.output.h5mu" -output_compression: "gzip" -output_obs_predictions: "scgpt_pred" -output_obs_probability: "scgpt_probability" - -# Arguments -pad_token: "" -pad_value: -2 -n_input_bins: 51 -batch_size: 64 -dsbn: true -# seed: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/scgpt/cell_type_annotation/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Model input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |The model file containing checkpoints and cell type label mapper. |`file`, required, example: `"best_model.pt"` | -|`--model_config` |The model configuration file. |`file`, required, example: `"args.json"` | -|`--model_vocab` |Model vocabulary file directory. |`file`, required, example: `"vocab.json"` | -|`--finetuned_checkpoints_key` |Key in the model file containing the pretrained checkpoints. |`string`, default: `"model_state_dict"` | -|`--label_mapper_key` |Key in the model file containing the cell type class to label mapper dictionary. |`string`, default: `"id_to_class"` | - - -### Query input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input h5mu file containing of data that have been pre-processed (normalized, binned, genes cross-checked and tokenized). |`file`, required, example: `"scgpt_preprocess_ouput.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--obs_batch_label` |The name of the adata.obs column containing the batch labels. Required if dsbn is set to true. |`string` | -|`--obsm_gene_tokens` |The key of the .obsm array containing the gene token ids |`string`, default: `"gene_id_tokens"` | -|`--obsm_tokenized_values` |The key of the .obsm array containing the count values of the tokenized genes |`string`, default: `"values_tokenized"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The output mudata file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression algorithm to use for the output h5mu file. |`string`, default: `"gzip"`, example: `"gzip"` | -|`--output_obs_predictions` |The name of the adata.obs column to write predicted cell type labels to. |`string`, default: `"scgpt_pred"` | -|`--output_obs_probability` |The name of the adata.obs column to write the probabilities of the predicted cell type labels to. |`string`, default: `"scgpt_probability"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |The padding token used in the model. |`string`, default: `""` | -|`--pad_value` |The value of the padding. |`integer`, default: `-2` | -|`--n_input_bins` |The number of input bins. |`integer`, default: `51` | -|`--batch_size` |The batch size. |`integer`, default: `64` | -|`--dsbn` |Whether to use domain-specific batch normalization. |`boolean`, default: `TRUE` | -|`--seed` |Seed for random number generation. If not specified, no seed is used. |`integer` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - diff --git a/components/modules/scgpt/cross_check_genes.qmd b/components/modules/scgpt/cross_check_genes.qmd deleted file mode 100644 index 775c612c..00000000 --- a/components/modules/scgpt/cross_check_genes.qmd +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Cross check genes" -namespace: "Scgpt" -description: "Cross-check genes with pre-trained scGPT model" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `cross_check_genes` -Namespace: `scgpt` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/scgpt/cross_check_genes/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/scgpt/cross_check_genes/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -vocab_file: # please fill in - example: "resources_test/scgpt/vocab.json" -# input_var_gene_names: "gene_name" -# var_input: "foo" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_var_filter: "id_in_vocab" - -# Arguments -pad_token: "" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/scgpt/cross_check_genes/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input h5mu file containing of pre-processed data. |`file`, required, example: `"input.h5mu"` | -|`--modality` |The modality key of the MuData object containing the RNA AnnData object. |`string`, default: `"rna"` | -|`--vocab_file` |Model vocabulary file path. |`file`, required, example: `"resources_test/scgpt/vocab.json"` | -|`--input_var_gene_names` |The name of the adata.var column containing gene names. By default the .var index will be used. |`string`, example: `"gene_name"` | -|`--var_input` |.var column containing highly variable genes. If provided, will only cross-check HVG filtered genes with model vocabulary. |`string` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The output cross-checked anndata file. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_var_filter` |In which .var slot to store a boolean array corresponding to which observations should be filtered out based on HVG and model vocabulary. |`string`, default: `"id_in_vocab"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |The padding token used in the model. |`string`, default: `""` | - -## Authors - - - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Elizabeth Mlynarski (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/scgpt/embedding.qmd b/components/modules/scgpt/embedding.qmd deleted file mode 100644 index 4efa9168..00000000 --- a/components/modules/scgpt/embedding.qmd +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "Embedding" -namespace: "Scgpt" -description: "Generation of cell embeddings for the integration of single cell transcriptomic count data using scGPT" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `embedding` -Namespace: `scgpt` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/scgpt/embedding/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/scgpt/embedding/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -model: # please fill in - example: "best_model.pt" -model_vocab: # please fill in - example: "vocab.json" -model_config: # please fill in - example: "args.json" -obsm_gene_tokens: "gene_id_tokens" -obsm_tokenized_values: "values_tokenized" -obsm_padding_mask: "padding_mask" -# var_gene_names: "foo" -# obs_batch_label: "foo" -# finetuned_checkpoints_key: "model_state_dict" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_embeddings: "X_scGPT" - -# Arguments -pad_token: "" -pad_value: -2 -dsbn: true -batch_size: 64 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/scgpt/embedding/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input h5mu file containing tokenized gene and count data. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--model` |Path to scGPT model file. |`file`, required, example: `"best_model.pt"` | -|`--model_vocab` |Path to scGPT model vocabulary file. |`file`, required, example: `"vocab.json"` | -|`--model_config` |Path to scGPT model config file. |`file`, required, example: `"args.json"` | -|`--obsm_gene_tokens` |The key of the .obsm array containing the gene token ids |`string`, default: `"gene_id_tokens"`, example: `"values.pt"` | -|`--obsm_tokenized_values` |The key of the .obsm array containing the count values of the tokenized genes |`string`, default: `"values_tokenized"` | -|`--obsm_padding_mask` |The key of the .obsm array containing the padding mask. |`string`, default: `"padding_mask"` | -|`--var_gene_names` |The name of the .var column containing gene names. When no gene_name_layer is provided, the .var index will be used. |`string` | -|`--obs_batch_label` |The name of the adata.obs column containing the batch labels. Must be provided when 'dsbn' is set to True. |`string` | -|`--finetuned_checkpoints_key` |Key in the model file containing the pretrained checkpoints. Only relevant for fine-tuned models. |`string`, example: `"model_state_dict"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Path to output anndata file containing pre-processed data as well as scGPT embeddings. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression algorithm to use for the output h5mu file. |`string`, example: `"gzip"` | -|`--obsm_embeddings` |The name of the adata.obsm array to which scGPT embeddings will be written. |`string`, default: `"X_scGPT"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |The token to be used for padding. |`string`, default: `""` | -|`--pad_value` |The value of the padding token. |`integer`, default: `-2` | -|`--dsbn` |Whether to apply domain-specific batch normalization for generating embeddings. When set to True, 'obs_batch_labels' must be set as well. |`boolean`, default: `TRUE` | -|`--batch_size` |The batch size to be used for inference |`integer`, default: `64` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Elizabeth Mlynarski (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/scgpt/pad_tokenize.qmd b/components/modules/scgpt/pad_tokenize.qmd deleted file mode 100644 index 2753dbb3..00000000 --- a/components/modules/scgpt/pad_tokenize.qmd +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: "Pad tokenize" -namespace: "Scgpt" -description: "Tokenize and pad a batch of data for scGPT integration zero-shot inference or fine-tuning" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `pad_tokenize` -Namespace: `scgpt` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/scgpt/pad_tokenize/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/scgpt/pad_tokenize/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "input.h5mu" -modality: "rna" -model_vocab: # please fill in - example: "vocab.json" -# var_gene_names: "foo" -var_input: "id_in_vocab" -input_obsm_binned_counts: "binned_counts" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -obsm_gene_tokens: "gene_id_tokens" -obsm_tokenized_values: "values_tokenized" -obsm_padding_mask: "padding_mask" - -# Arguments -pad_token: "" -pad_value: -2 -# max_seq_len: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/scgpt/pad_tokenize/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |The input h5mu file of pre-processed data. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--model_vocab` |Path to model vocabulary file. |`file`, required, example: `"vocab.json"` | -|`--var_gene_names` |The name of the .var column containing gene names. When no gene_name_layer is provided, the .var index will be used. |`string` | -|`--var_input` |The name of the adata.var column containing boolean mask for vocabulary-cross checked and/or highly variable genes. |`string`, default: `"id_in_vocab"` | -|`--input_obsm_binned_counts` |The name of the .obsm field containing the binned counts to be padded and tokenized. |`string`, default: `"binned_counts"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |The output h5mu file containing obsm arrays for gene tokens, tokenized data and padding mask. |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression type for the output file. |`string`, example: `"gzip"` | -|`--obsm_gene_tokens` |The key of the .obsm array containing the gene token ids |`string`, default: `"gene_id_tokens"`, example: `"values.pt"` | -|`--obsm_tokenized_values` |The key of the .obsm array containing the count values of the tokenized genes |`string`, default: `"values_tokenized"` | -|`--obsm_padding_mask` |The key of the .obsm array containing the padding mask. |`string`, default: `"padding_mask"` | - - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |Token used for padding. |`string`, default: `""` | -|`--pad_value` |The value of the padding token. |`integer`, default: `-2` | -|`--max_seq_len` |The maximum sequence length of the tokenized data. Defaults to the number of features if not provided. |`integer` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Elizabeth Mlynarski (author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/transfer/publish.qmd b/components/modules/transfer/publish.qmd deleted file mode 100644 index b97bdb36..00000000 --- a/components/modules/transfer/publish.qmd +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Publish" -namespace: "Transfer" -description: "Publish an artifact and optionally rename with parameters" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `publish` -Namespace: `transfer` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transfer/publish/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transfer/publish/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -# output: "$id.$key.output" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transfer/publish/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input filename |`file`, required | -|`--output` |Output filename |`file`, required | - -## Authors - - - * Toni Verbeiren [{{< fa brands github >}}](https://github.com/tverbeiren) [{{< fa brands linkedin >}}](https://linkedin.com/in/verbeiren) (maintainer) - diff --git a/components/modules/transform/bpcells_regress_out.qmd b/components/modules/transform/bpcells_regress_out.qmd deleted file mode 100644 index b46fb751..00000000 --- a/components/modules/transform/bpcells_regress_out.qmd +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Bpcells regress out" -namespace: "Transform" -description: "Regress out the effects of confounding variables using a linear least squares regression model with BPCells" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `bpcells_regress_out` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/bpcells_regress_out/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/bpcells_regress_out/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -# output: "output.h5mu" -# output_compression: "gzip" -modality: "rna" -# obs_keys: ["foo"] -# input_layer: "X_normalized" -# output_layer: "X_regressed" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/bpcells_regress_out/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--modality` |The modality to run this component on. |`string`, default: `"rna"` | -|`--obs_keys` |The .obs keys to regress on. |List of `string`, multiple_sep: `";"` | -|`--input_layer` |The layer of the adata object to regress on. If not provided, the X attribute of the adata object will be used. |`string`, example: `"X_normalized"` | -|`--output_layer` |The layer of the adata object containing the regressed count data. If not provided, the X attribute of the adata object will be used. |`string`, example: `"X_regressed"` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor, author) - - * Weiwei Schultz (contributor) - diff --git a/components/modules/transform/clr.qmd b/components/modules/transform/clr.qmd deleted file mode 100644 index 116e29e4..00000000 --- a/components/modules/transform/clr.qmd +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: "Clr" -namespace: "Transform" -description: "Perform CLR normalization on CITE-seq data (Stoeckius et al., 2017)" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `clr` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/clr/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/clr/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "prot" -# output: "output.h5mu" -# output_compression: "gzip" -# input_layer: "foo" -# output_layer: "foo" -axis: 0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/clr/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"prot"` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--input_layer` |Input layer to use. By default, .X is used. |`string` | -|`--output_layer` |Output layer to use. By default, use X. |`string` | -|`--axis` |Axis across which CLR is performed. If set to 0, CLR is performed across observations (cells). If set to 1, CLR is performed across features (genes). |`integer`, default: `0` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/transform/delete_layer.qmd b/components/modules/transform/delete_layer.qmd deleted file mode 100644 index 2d9459e4..00000000 --- a/components/modules/transform/delete_layer.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Delete layer" -namespace: "Transform" -description: "Delete an anndata layer from one or more modalities" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `delete_layer` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/delete_layer/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/delete_layer/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -layer: # please fill in - example: ["foo"] -# output: "output.h5mu" -# output_compression: "gzip" -missing_ok: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/delete_layer/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--layer` |Input layer to remove |List of `string`, required, multiple_sep: `";"` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--missing_ok` |Do not raise an error if the layer does not exist for all modalities. |`boolean_true` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/transform/log1p.qmd b/components/modules/transform/log1p.qmd deleted file mode 100644 index 8b8588a4..00000000 --- a/components/modules/transform/log1p.qmd +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Log1p" -namespace: "Transform" -description: "Logarithmize the data matrix." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `log1p` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/log1p/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Computes X = log(X + 1), where log denotes the natural logarithm unless a different base is given - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/log1p/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# output_layer: "foo" -# output: "output.h5mu" -# output_compression: "gzip" -# base: 2.0 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/log1p/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |Input layer to use. If None, X is normalized |`string` | -|`--output_layer` |Output layer to use. By default, use X. |`string` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--base` | |`double`, example: `2` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor) - diff --git a/components/modules/transform/move_layer.qmd b/components/modules/transform/move_layer.qmd deleted file mode 100644 index 51d7d1a2..00000000 --- a/components/modules/transform/move_layer.qmd +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Move layer" -namespace: "Transform" -description: "Move a data matrix stored at the .layers or .X attributes in a MuData object to another layer." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `move_layer` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/move_layer/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/move_layer/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# output: "$id.$key.output.h5mu" -# output_layer: "foo" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/move_layer/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` | |`string` | -|`--output` |Output h5mu file. |`file`, required, example: `"output.h5mu"` | -|`--output_layer` | |`string` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - diff --git a/components/modules/transform/normalize_total.qmd b/components/modules/transform/normalize_total.qmd deleted file mode 100644 index e81c9940..00000000 --- a/components/modules/transform/normalize_total.qmd +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: "Normalize total" -namespace: "Transform" -description: "Normalize counts per cell." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `normalize_total` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/normalize_total/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Normalize each cell by total counts over all genes, so that every cell has the same total count after normalization. If choosing target_sum=1e6, this is CPM normalization. - -If exclude_highly_expressed=True, very highly expressed genes are excluded from the computation of the normalization factor (size factor) for each cell. This is meaningful as these can strongly influence the resulting normalized values for all other genes [Weinreb17]. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/normalize_total/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# output: "output.h5mu" -# output_compression: "gzip" -# output_layer: "foo" -# target_sum: 123 -exclude_highly_expressed: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/normalize_total/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |Input layer to use. By default, X is normalized |`string` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--output_layer` |Output layer to use. By default, use X. |`string` | -|`--target_sum` |If None, after normalization, each observation (cell) has a total count equal to the median of total counts for observations (cells) before normalization. |`integer` | -|`--exclude_highly_expressed` |Exclude (very) highly expressed genes for the computation of the normalization factor (size factor) for each cell. A gene is considered highly expressed, if it has more than max_fraction of the total counts in at least one cell. The not-excluded genes will sum up to target_sum. |`boolean_true` | - -## Authors - - - * Dries De Maeyer [{{< fa brands github >}}](https://github.com/ddemaeyer) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-de-maeyer-b46a814) (maintainer) - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (contributor) - diff --git a/components/modules/transform/regress_out.qmd b/components/modules/transform/regress_out.qmd deleted file mode 100644 index ead8080a..00000000 --- a/components/modules/transform/regress_out.qmd +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "Regress out" -namespace: "Transform" -description: "Regress out (mostly) unwanted sources of variation." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `regress_out` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/regress_out/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -Uses simple linear regression. This is inspired by Seurat's regressOut function in R [Satija15]. -Note that this function tends to overcorrect in certain circumstances as described in issue theislab/scanpy#526. See https://github.com/theislab/scanpy/issues/526 - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/regress_out/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -# output: "output.h5mu" -# output_compression: "gzip" -modality: "rna" -# obs_keys: ["foo"] -# input_layer: "X_normalized" -# output_layer: "X_regressed" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/regress_out/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--modality` |Which modality (one or more) to run this component on. |`string`, default: `"rna"` | -|`--obs_keys` |Which .obs keys to regress on. |List of `string`, multiple_sep: `";"` | -|`--input_layer` |The layer of the adata object to regress on. If not provided, the X attribute of the adata object will be used. |`string`, example: `"X_normalized"` | -|`--output_layer` |The layer of the adata object containing the regressed count data. If not provided, the X attribute of the adata object will be used. |`string`, example: `"X_regressed"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer, contributor) - diff --git a/components/modules/transform/scale.qmd b/components/modules/transform/scale.qmd deleted file mode 100644 index c045e406..00000000 --- a/components/modules/transform/scale.qmd +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Scale" -namespace: "Transform" -description: "Scale data to unit variance and zero mean" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scale` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/scale/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/scale/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# output_layer: "foo" -# max_value: 123.0 -zero_center: true -# output: "output.h5mu" -# output_compression: "gzip" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/scale/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file. |`file`, required, example: `"input.h5mu"` | -|`--modality` |List of modalities to process. |`string`, default: `"rna"` | -|`--input_layer` |Input layer with data to scale. Uses .X by default |`string` | -|`--output_layer` |Output layer where scaled data will be stored. If not specified, .X will be used. |`string` | -|`--max_value` |Clip (truncate) to this value after scaling. Does not clip by default. |`double` | -|`--zero_center` |If set, omit zero-centering variables, which allows to handle sparse input efficiently. |`boolean_false` | -|`--output` |Output h5mu file. |`file`, required, default: `"output.h5mu"` | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/transform/tfidf.qmd b/components/modules/transform/tfidf.qmd deleted file mode 100644 index cb75a5fd..00000000 --- a/components/modules/transform/tfidf.qmd +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: "Tfidf" -namespace: "Transform" -description: "Perform TF-IDF normalization of the data (typically, ATAC)." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `tfidf` -Namespace: `transform` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/transform/tfidf/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - -TF-IDF stands for "term frequency - inverse document frequency". It is a technique from natural language processing analysis. -In the context of ATAC data, "terms" are the features (genes) and "documents" are the observations (cells). -TF-IDF normalization is applied to single-cell ATAC-seq data to highlight the importance of specific genomic regions (typically peaks) -across different cells while down-weighting regions that are commonly accessible across many cells. - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/transform/tfidf/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "input.h5mu" -modality: "atac" -# input_layer: "foo" -# output: "$id.$key.output" -# output_compression: "gzip" -output_layer: "tfidf" -scale_factor: 10000 -log_idf: true -log_tf: true -log_tfidf: false - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/transform/tfidf/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input h5mu file |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"atac"` | -|`--input_layer` |Input layer to use. By default, X is normalized |`string` | -|`--output` |Output h5mu file. |`file`, required | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | -|`--output_layer` |Output layer to use. |`string`, default: `"tfidf"` | -|`--scale_factor` |Scale factor to multiply the TF-IDF matrix by. |`integer`, default: `10000` | -|`--log_idf` |Whether to log-transform IDF term. |`boolean`, default: `TRUE` | -|`--log_tf` |Whether to log-transform TF term. |`boolean`, default: `TRUE` | -|`--log_tfidf` |Whether to log-transform TF*IDF term (False by default). Can only be used when log_tf and log_idf are False. |`boolean`, default: `FALSE` | - -## Authors - - - * Vladimir Shitov [{{< fa brands github >}}](https://github.com/vladimirshitov) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-1960-8812) [{{< fa brands linkedin >}}](https://linkedin.com/in/vladimir-shitov-9a659513b) (maintainer) - diff --git a/components/modules/velocity/scvelo.qmd b/components/modules/velocity/scvelo.qmd deleted file mode 100644 index 80fa3ceb..00000000 --- a/components/modules/velocity/scvelo.qmd +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "Scvelo" -namespace: "Velocity" -description: "" -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scvelo` -Namespace: `velocity` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/velocity/scvelo/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/velocity/scvelo/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -input: # please fill in - example: "path/to/file" -# counts_layer: "foo" -modality: # please fill in - example: "foo" -layer_spliced: "spliced" -layer_unspliced: "unspliced" -layer_ambiguous: "ambiguous" - -# Outputs -# output: "$id.$key.output" -# output_h5mu: "$id.$key.output_h5mu" -# output_compression: "gzip" - -# Filtering and normalization -# min_counts: 123 -# min_counts_u: 123 -# min_cells: 123 -# min_cells_u: 123 -# min_shared_counts: 123 -# min_shared_cells: 123 -# n_top_genes: 123 -log_transform: true - -# Fitting parameters -# n_principal_components: 123 -n_neighbors: 30 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/velocity/scvelo/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Input MuData file |`file`, required | -|`--counts_layer` |Name of the counts layer, if not specified, X is used. |`string` | -|`--modality` |Input modality |`string`, required | -|`--layer_spliced` | |`string`, default: `"spliced"` | -|`--layer_unspliced` | |`string`, default: `"unspliced"` | -|`--layer_ambiguous` | |`string`, default: `"ambiguous"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output directory. If it does not exist, will be created. |`file`, required | -|`--output_h5mu` |Output mudata file. |`file`, required | -|`--output_compression` |The compression format to be used on the output h5mu object. |`string`, example: `"gzip"` | - - -### Filtering and normalization - -Arguments for filtering, normalization an log transform (see scvelo.pp.filter_and_normalize function) - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--min_counts` |Minimum number of counts required for a gene to pass filtering (spliced). |`integer` | -|`--min_counts_u` |Minimum number of counts required for a gene to pass filtering (unspliced). |`integer` | -|`--min_cells` |Minimum number of cells expressed required to pass filtering (spliced). |`integer` | -|`--min_cells_u` |Minimum number of cells expressed required to pass filtering (unspliced). |`integer` | -|`--min_shared_counts` |Minimum number of counts (both unspliced and spliced) required for a gene. |`integer` | -|`--min_shared_cells` |Minimum number of cells required to be expressed (both unspliced and spliced). |`integer` | -|`--n_top_genes` |Number of genes to keep. |`integer` | -|`--log_transform` |Do not log transform counts. |`boolean`, default: `TRUE` | - - -### Fitting parameters - -Arguments for fitting the data - - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_principal_components` |Number of principal components to use for calculating moments. |`integer` | -|`--n_neighbors` |Number of neighbors to use. First/second-order moments are computed for each cell across its nearest neighbors, where the neighbor graph is obtained from euclidean distances in PCA space. |`integer`, default: `30` | - -## Authors - - - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (maintainer) - diff --git a/components/modules/velocity/velocyto.qmd b/components/modules/velocity/velocyto.qmd deleted file mode 100644 index d9cc46de..00000000 --- a/components/modules/velocity/velocyto.qmd +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Velocyto" -namespace: "Velocity" -description: "Runs the velocity analysis on a BAM file, outputting a loom file." -type: "module" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `velocyto` -Namespace: `velocity` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/velocity/velocyto/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/velocity/velocyto/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Arguments -input: # please fill in - example: "path/to/file" -transcriptome: # please fill in - example: "path/to/file" -# barcode: "path/to/file" -without_umi: false -# output: "$id.$key.output" -logic: "Default" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/velocity/velocyto/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument group - -### Arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--input` |Path to BAM file |`file`, required | -|`--transcriptome` |Path to GTF file |`file`, required | -|`--barcode` |Valid barcodes file, to filter the bam. If --bcfile is not specified all the cell barcodes will be included. Cell barcodes should be specified in the bcfile as the 'CB' tag for each read |`file` | -|`--without_umi` |foo |`boolean_true` | -|`--output` |Velocyto loom file |`file`, required | -|`--logic` |The logic to use for the filtering. |`string`, default: `"Default"` | - -## Authors - - - * Robrecht Cannoodt [{{< fa brands github >}}](https://github.com/rcannood) [{{< fa brands orcid >}}](https://orcid.org/0000-0003-3641-729X) [{{< fa brands linkedin >}}](https://linkedin.com/in/robrechtcannoodt) (maintainer) - diff --git a/components/modules/annotate/celltypist.qmd b/components/workflows/annotation/celltypist.qmd similarity index 52% rename from components/modules/annotate/celltypist.qmd rename to components/workflows/annotation/celltypist.qmd index 6509fc38..1c9176c7 100644 --- a/components/modules/annotate/celltypist.qmd +++ b/components/workflows/annotation/celltypist.qmd @@ -1,8 +1,8 @@ --- -title: "Celltypist" -namespace: "Annotate" -description: "Automated cell type annotation tool for scRNA-seq datasets on the basis of logistic regression classifiers optimised by the stochastic gradient descent algorithm." -type: "module" +title: "CellTypist annotation" +namespace: "Workflows/annotation" +description: "Cell type annotation workflow by performing lognormalization of the raw counts layer followed by cell type annotation with CellTypist." +type: "workflow" toc: false --- @@ -11,10 +11,10 @@ toc: false ### Info ID: `celltypist` -Namespace: `annotate` +Namespace: `workflows/annotation` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/annotate/celltypist/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/annotation/celltypist/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,8 +30,8 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/annotate/celltypist/main.nf \ + -r v4.0.0 -latest \ + -main-script target/nextflow/workflows/annotation/celltypist/main.nf \ --help ``` @@ -46,6 +46,7 @@ modality: "rna" # input_layer: "foo" # input_var_gene_names: "foo" input_reference_gene_overlap: 100 +sanitize_ensembl_ids: true # Reference # reference: "reference.h5mu" @@ -65,9 +66,9 @@ min_prop: 0.0 # Outputs # output: "$id.$key.output.h5mu" -# output_compression: "gzip" output_obs_predictions: "celltypist_pred" output_obs_probability: "celltypist_probability" +# output_compression: "gzip" # Nextflow input-output arguments publish_dir: # please fill in - example: "output/" @@ -79,9 +80,9 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ - -main-script target/nextflow/annotate/celltypist/main.nf \ + -main-script target/nextflow/workflows/annotation/celltypist/main.nf \ -params-file params.yaml ``` @@ -100,9 +101,10 @@ Input dataset (query) arguments |:----------|:--------------------------------------------------|:--------------------| |`--input` |The input (query) data to be labeled. Should be a .h5mu file. |`file`, required, example: `"input.h5mu"` | |`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--input_layer` |The layer in the input data containing log normalized counts to be used for cell type annotation if .X is not to be used. |`string` | +|`--input_layer` |The layer in the input data containing raw counts, if .X is not to be used. |`string` | |`--input_var_gene_names` |The name of the adata var column in the input data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | |`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | +|`--sanitize_ensembl_ids` |Whether to sanitize ensembl ids by removing version numbers. |`boolean`, default: `TRUE` | ### Reference @@ -110,13 +112,13 @@ Input dataset (query) arguments Arguments related to the reference dataset. -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | -|`--reference_layer` |The layer in the reference data to be used for cell type annotation if .X is not to be used. Data are expected to be processed in the same way as the --input query dataset. |`string` | -|`--reference_obs_target` |The name of the adata obs column in the reference data containing cell type annotations. |`string`, default: `"cell_ontology_class"` | -|`--reference_var_gene_names` |The name of the adata var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--reference_var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | +|`--reference` |The reference data to train the CellTypist classifiers on. Only required if a pre-trained --model is not provided. |`file`, example: `"reference.h5mu"` | +|`--reference_layer` |The layer in the reference data containing raw counts, if .X is not to be used. |`string` | +|`--reference_obs_target` |The name of the adata obs column in the reference data containing cell type annotations. |`string`, default: `"cell_ontology_class"` | +|`--reference_var_gene_names` |The name of the adata var column in the reference data containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | +|`--reference_var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | ### Model arguments @@ -140,17 +142,188 @@ Model arguments. Output arguments. -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | -|`--output_compression` | |`string`, example: `"gzip"` | -|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. |`string`, default: `"celltypist_pred"` | -|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. |`string`, default: `"celltypist_probability"` | +|`--output` |Output h5mu file. |`file`, example: `"output.h5mu"` | +|`--output_obs_predictions` |In which `.obs` slots to store the predicted information. |`string`, default: `"celltypist_pred"` | +|`--output_obs_probability` |In which `.obs` slots to store the probability of the predictions. |`string`, default: `"celltypist_probability"` | +|`--output_compression` |Compression format to use for the output AnnData and/or Mudata objects. By default no compression is applied. |`string`, example: `"gzip"` | ## Authors - * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) + * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author, maintainer) * Weiwei Schultz (contributor) +## Visualisation + +```{mermaid} +flowchart TB + v0(Channel.fromList) + v2(filter) + v9(filter) + v16(filter) + v31(cross) + v41(cross) + v108(concat) + v115(cross) + v125(cross) + v135(branch) + v253(concat) + v139(filter) + v154(cross) + v164(cross) + v231(concat) + v238(cross) + v248(cross) + v258(filter) + v288(concat) + v266(celltypist_component) + v273(cross) + v283(cross) + v296(cross) + v303(cross) + v315(cross) + v322(cross) + v326(Output) + subgraph group_log_normalize [log_normalize] + v24(normalize_total) + v47(filter) + v55(log1p) + v62(cross) + v72(cross) + v78(filter) + v86(delete_layer) + v93(cross) + v103(cross) + v255(join) + v147(normalize_total) + v170(filter) + v178(log1p) + v185(cross) + v195(cross) + v201(filter) + v209(delete_layer) + v216(cross) + v226(cross) + end + v135-->v253 + v0-->v2 + v2-->v9 + v9-->v16 + v16-->v24 + v24-->v31 + v16-->v31 + v16-->v41 + v47-->v55 + v55-->v62 + v47-->v62 + v47-->v72 + v78-->v86 + v86-->v93 + v78-->v93 + v78-->v103 + v103-->v108 + v108-->v115 + v9-->v115 + v9-->v125 + v135-->v139 + v139-->v147 + v147-->v154 + v139-->v154 + v139-->v164 + v170-->v178 + v178-->v185 + v170-->v185 + v170-->v195 + v201-->v209 + v209-->v216 + v201-->v216 + v201-->v226 + v226-->v231 + v231-->v238 + v135-->v238 + v135-->v248 + v248-->v253 + v253-->v255 + v255-->v258 + v258-->v266 + v266-->v273 + v258-->v273 + v258-->v283 + v283-->v288 + v288-->v296 + v2-->v296 + v296-->v303 + v2-->v303 + v2-->v315 + v315-->v322 + v2-->v322 + v322-->v326 + v125-->v255 + v41-->v47 + v24-->v41 + v72-->v78 + v55-->v72 + v86-->v103 + v108-->v125 + v2-->v135 + v164-->v170 + v147-->v164 + v195-->v201 + v178-->v195 + v209-->v226 + v231-->v248 + v266-->v283 + v288-->v315 + style group_log_normalize fill:#F0F0F0,stroke:#969696; + style v0 fill:#e3dcea,stroke:#7a4baa; + style v2 fill:#e3dcea,stroke:#7a4baa; + style v9 fill:#e3dcea,stroke:#7a4baa; + style v16 fill:#e3dcea,stroke:#7a4baa; + style v24 fill:#e3dcea,stroke:#7a4baa; + style v31 fill:#e3dcea,stroke:#7a4baa; + style v41 fill:#e3dcea,stroke:#7a4baa; + style v47 fill:#e3dcea,stroke:#7a4baa; + style v55 fill:#e3dcea,stroke:#7a4baa; + style v62 fill:#e3dcea,stroke:#7a4baa; + style v72 fill:#e3dcea,stroke:#7a4baa; + style v78 fill:#e3dcea,stroke:#7a4baa; + style v108 fill:#e3dcea,stroke:#7a4baa; + style v86 fill:#e3dcea,stroke:#7a4baa; + style v93 fill:#e3dcea,stroke:#7a4baa; + style v103 fill:#e3dcea,stroke:#7a4baa; + style v115 fill:#e3dcea,stroke:#7a4baa; + style v125 fill:#e3dcea,stroke:#7a4baa; + style v255 fill:#e3dcea,stroke:#7a4baa; + style v135 fill:#e3dcea,stroke:#7a4baa; + style v253 fill:#e3dcea,stroke:#7a4baa; + style v139 fill:#e3dcea,stroke:#7a4baa; + style v147 fill:#e3dcea,stroke:#7a4baa; + style v154 fill:#e3dcea,stroke:#7a4baa; + style v164 fill:#e3dcea,stroke:#7a4baa; + style v170 fill:#e3dcea,stroke:#7a4baa; + style v178 fill:#e3dcea,stroke:#7a4baa; + style v185 fill:#e3dcea,stroke:#7a4baa; + style v195 fill:#e3dcea,stroke:#7a4baa; + style v201 fill:#e3dcea,stroke:#7a4baa; + style v231 fill:#e3dcea,stroke:#7a4baa; + style v209 fill:#e3dcea,stroke:#7a4baa; + style v216 fill:#e3dcea,stroke:#7a4baa; + style v226 fill:#e3dcea,stroke:#7a4baa; + style v238 fill:#e3dcea,stroke:#7a4baa; + style v248 fill:#e3dcea,stroke:#7a4baa; + style v258 fill:#e3dcea,stroke:#7a4baa; + style v288 fill:#e3dcea,stroke:#7a4baa; + style v266 fill:#e3dcea,stroke:#7a4baa; + style v273 fill:#e3dcea,stroke:#7a4baa; + style v283 fill:#e3dcea,stroke:#7a4baa; + style v296 fill:#e3dcea,stroke:#7a4baa; + style v303 fill:#e3dcea,stroke:#7a4baa; + style v315 fill:#e3dcea,stroke:#7a4baa; + style v322 fill:#e3dcea,stroke:#7a4baa; + style v326 fill:#e3dcea,stroke:#7a4baa; + +``` + diff --git a/components/workflows/annotation/harmony_knn.qmd b/components/workflows/annotation/harmony_knn.qmd index 32234685..c4449d36 100644 --- a/components/workflows/annotation/harmony_knn.qmd +++ b/components/workflows/annotation/harmony_knn.qmd @@ -14,7 +14,7 @@ ID: `harmony_knn` Namespace: `workflows/annotation` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/annotation/harmony_knn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/annotation/harmony_knn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/annotation/harmony_knn/main.nf \ --help ``` @@ -90,7 +90,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/annotation/harmony_knn/main.nf \ -params-file params.yaml @@ -215,68 +215,86 @@ flowchart TB v220(cross) v230(cross) v236(filter) - v244(filter) - v259(cross) - v269(cross) - v275(filter) - v429(concat) - v284(filter) - v299(cross) - v309(cross) - v318(branch) - v345(concat) - v330(cross) - v340(cross) - v349(branch) - v376(concat) - v361(cross) - v371(cross) - v380(branch) - v407(concat) - v392(cross) - v402(cross) - v414(cross) + v248(branch) + v275(concat) + v260(cross) + v270(cross) + v276(filter) + v291(cross) + v301(cross) + v307(filter) + v316(filter) + v331(cross) + v341(cross) + v350(branch) + v377(concat) + v362(cross) + v372(cross) + v381(branch) + v408(concat) + v393(cross) + v403(cross) + v412(branch) + v439(concat) v424(cross) - v436(cross) + v434(cross) v446(cross) - v453(filter) - v464(filter) - v476(cross) - v486(cross) - v496(concat) - v503(cross) - v513(cross) - v522(filter) - v530(knn) - v537(cross) - v547(cross) - v555(mix) + v456(cross) + v465(branch) + v492(concat) + v477(cross) + v487(cross) + v496(branch) + v523(concat) + v508(cross) + v518(cross) + v530(cross) + v540(cross) + v547(filter) v558(filter) - v588(concat) - v566(merge) - v573(cross) - v583(cross) - v595(cross) - v602(cross) - v614(cross) - v621(cross) - v625(Output) + v570(cross) + v580(cross) + v590(concat) + v597(cross) + v607(cross) + v616(filter) + v624(knn) + v631(cross) + v641(cross) + v649(mix) + v652(filter) + v682(concat) + v660(merge) + v667(cross) + v677(cross) + v689(cross) + v696(cross) + v708(cross) + v715(cross) + v719(Output) subgraph group_split_modalities [split_modalities] v57(split_modalities_component) end subgraph group_harmony_leiden_workflow [harmony_leiden_workflow] - v252(harmonypy) - v292(find_neighbors) - v323(leiden) - v354(move_obsm_to_obs) - v385(umap) + v253(from_tiledb_to_h5mu) + v284(harmonypy) + v324(find_neighbors) + v355(leiden) + v386(move_obsm_to_obs) + v417(umap) + v470(move_mudata_obsm_to_tiledb) + v501(move_mudata_obs_to_tiledb) end subgraph group_split_h5mu [split_h5mu] - v469(split_h5mu_component) + v563(split_h5mu_component) end - v318-->v345 - v349-->v376 - v380-->v407 + v248-->v275 + v275-->v276 + v350-->v377 + v381-->v408 + v412-->v439 + v465-->v492 + v496-->v523 v0-->v2 v2-->v10 v10-->v18 @@ -306,62 +324,75 @@ flowchart TB v213-->v220 v205-->v220 v205-->v230 - v236-->v244 - v244-->v252 - v252-->v259 - v244-->v259 - v244-->v269 - v275-->v284 - v284-->v292 - v292-->v299 - v284-->v299 - v284-->v309 - v318-->v323 - v323-->v330 - v318-->v330 - v318-->v340 - v340-->v345 - v349-->v354 - v354-->v361 - v349-->v361 - v349-->v371 - v371-->v376 - v380-->v385 - v385-->v392 - v380-->v392 - v380-->v402 - v402-->v407 - v407-->v414 - v275-->v414 - v275-->v424 - v424-->v429 - v429-->v436 - v236-->v436 - v236-->v446 - v464-->v469 - v469-->v476 - v464-->v476 - v464-->v486 - v496-->v503 - v453-->v503 - v453-->v513 - v522-->v530 - v530-->v537 - v522-->v537 - v522-->v547 - v558-->v566 - v566-->v573 - v558-->v573 - v558-->v583 - v583-->v588 - v588-->v595 - v2-->v595 - v595-->v602 - v2-->v602 - v2-->v614 - v614-->v621 - v2-->v621 - v621-->v625 + v248-->v253 + v253-->v260 + v248-->v260 + v248-->v270 + v270-->v275 + v276-->v284 + v284-->v291 + v276-->v291 + v276-->v301 + v307-->v316 + v316-->v324 + v324-->v331 + v316-->v331 + v316-->v341 + v350-->v355 + v355-->v362 + v350-->v362 + v350-->v372 + v372-->v377 + v381-->v386 + v386-->v393 + v381-->v393 + v381-->v403 + v403-->v408 + v412-->v417 + v417-->v424 + v412-->v424 + v412-->v434 + v434-->v439 + v439-->v446 + v307-->v446 + v307-->v456 + v465-->v470 + v470-->v477 + v465-->v477 + v465-->v487 + v487-->v492 + v496-->v501 + v501-->v508 + v496-->v508 + v496-->v518 + v518-->v523 + v523-->v530 + v236-->v530 + v236-->v540 + v558-->v563 + v563-->v570 + v558-->v570 + v558-->v580 + v590-->v597 + v547-->v597 + v547-->v607 + v616-->v624 + v624-->v631 + v616-->v631 + v616-->v641 + v652-->v660 + v660-->v667 + v652-->v667 + v652-->v677 + v677-->v682 + v682-->v689 + v2-->v689 + v689-->v696 + v2-->v696 + v2-->v708 + v708-->v715 + v2-->v715 + v715-->v719 v35-->v41 v18-->v35 v101-->v107 @@ -378,29 +409,35 @@ flowchart TB v182-->v199 v230-->v236 v213-->v230 - v446-->v453 - v269-->v275 - v252-->v269 - v292-->v309 - v309-->v318 - v323-->v340 - v345-->v349 - v354-->v371 - v376-->v380 - v385-->v402 - v407-->v424 - v429-->v446 - v513-->v522 - v453-->v464 - v486-->v496 - v469-->v486 - v496-->v513 - v547-->v555 - v530-->v547 - v107-->v555 - v555-->v558 - v566-->v583 - v588-->v614 + v540-->v547 + v236-->v248 + v253-->v270 + v301-->v307 + v284-->v301 + v324-->v341 + v341-->v350 + v355-->v372 + v377-->v381 + v386-->v403 + v408-->v412 + v417-->v434 + v439-->v456 + v456-->v465 + v470-->v487 + v492-->v496 + v501-->v518 + v523-->v540 + v607-->v616 + v547-->v558 + v580-->v590 + v563-->v580 + v590-->v607 + v641-->v649 + v624-->v641 + v107-->v649 + v649-->v652 + v660-->v677 + v682-->v708 style group_split_modalities fill:#F0F0F0,stroke:#969696; style group_harmony_leiden_workflow fill:#F0F0F0,stroke:#969696; style group_split_h5mu fill:#F0F0F0,stroke:#969696; @@ -436,58 +473,72 @@ flowchart TB style v220 fill:#e3dcea,stroke:#7a4baa; style v230 fill:#e3dcea,stroke:#7a4baa; style v236 fill:#e3dcea,stroke:#7a4baa; - style v244 fill:#e3dcea,stroke:#7a4baa; - style v252 fill:#e3dcea,stroke:#7a4baa; - style v259 fill:#e3dcea,stroke:#7a4baa; - style v269 fill:#e3dcea,stroke:#7a4baa; + style v248 fill:#e3dcea,stroke:#7a4baa; style v275 fill:#e3dcea,stroke:#7a4baa; - style v429 fill:#e3dcea,stroke:#7a4baa; + style v253 fill:#e3dcea,stroke:#7a4baa; + style v260 fill:#e3dcea,stroke:#7a4baa; + style v270 fill:#e3dcea,stroke:#7a4baa; + style v276 fill:#e3dcea,stroke:#7a4baa; style v284 fill:#e3dcea,stroke:#7a4baa; - style v292 fill:#e3dcea,stroke:#7a4baa; - style v299 fill:#e3dcea,stroke:#7a4baa; - style v309 fill:#e3dcea,stroke:#7a4baa; - style v318 fill:#e3dcea,stroke:#7a4baa; - style v345 fill:#e3dcea,stroke:#7a4baa; - style v323 fill:#e3dcea,stroke:#7a4baa; - style v330 fill:#e3dcea,stroke:#7a4baa; - style v340 fill:#e3dcea,stroke:#7a4baa; - style v349 fill:#e3dcea,stroke:#7a4baa; - style v376 fill:#e3dcea,stroke:#7a4baa; - style v354 fill:#e3dcea,stroke:#7a4baa; - style v361 fill:#e3dcea,stroke:#7a4baa; - style v371 fill:#e3dcea,stroke:#7a4baa; - style v380 fill:#e3dcea,stroke:#7a4baa; - style v407 fill:#e3dcea,stroke:#7a4baa; - style v385 fill:#e3dcea,stroke:#7a4baa; - style v392 fill:#e3dcea,stroke:#7a4baa; - style v402 fill:#e3dcea,stroke:#7a4baa; - style v414 fill:#e3dcea,stroke:#7a4baa; + style v291 fill:#e3dcea,stroke:#7a4baa; + style v301 fill:#e3dcea,stroke:#7a4baa; + style v307 fill:#e3dcea,stroke:#7a4baa; + style v316 fill:#e3dcea,stroke:#7a4baa; + style v324 fill:#e3dcea,stroke:#7a4baa; + style v331 fill:#e3dcea,stroke:#7a4baa; + style v341 fill:#e3dcea,stroke:#7a4baa; + style v350 fill:#e3dcea,stroke:#7a4baa; + style v377 fill:#e3dcea,stroke:#7a4baa; + style v355 fill:#e3dcea,stroke:#7a4baa; + style v362 fill:#e3dcea,stroke:#7a4baa; + style v372 fill:#e3dcea,stroke:#7a4baa; + style v381 fill:#e3dcea,stroke:#7a4baa; + style v408 fill:#e3dcea,stroke:#7a4baa; + style v386 fill:#e3dcea,stroke:#7a4baa; + style v393 fill:#e3dcea,stroke:#7a4baa; + style v403 fill:#e3dcea,stroke:#7a4baa; + style v412 fill:#e3dcea,stroke:#7a4baa; + style v439 fill:#e3dcea,stroke:#7a4baa; + style v417 fill:#e3dcea,stroke:#7a4baa; style v424 fill:#e3dcea,stroke:#7a4baa; - style v436 fill:#e3dcea,stroke:#7a4baa; + style v434 fill:#e3dcea,stroke:#7a4baa; style v446 fill:#e3dcea,stroke:#7a4baa; - style v453 fill:#e3dcea,stroke:#7a4baa; - style v464 fill:#e3dcea,stroke:#7a4baa; - style v469 fill:#e3dcea,stroke:#7a4baa; - style v476 fill:#e3dcea,stroke:#7a4baa; - style v486 fill:#e3dcea,stroke:#7a4baa; + style v456 fill:#e3dcea,stroke:#7a4baa; + style v465 fill:#e3dcea,stroke:#7a4baa; + style v492 fill:#e3dcea,stroke:#7a4baa; + style v470 fill:#e3dcea,stroke:#7a4baa; + style v477 fill:#e3dcea,stroke:#7a4baa; + style v487 fill:#e3dcea,stroke:#7a4baa; style v496 fill:#e3dcea,stroke:#7a4baa; - style v503 fill:#e3dcea,stroke:#7a4baa; - style v513 fill:#e3dcea,stroke:#7a4baa; - style v522 fill:#e3dcea,stroke:#7a4baa; + style v523 fill:#e3dcea,stroke:#7a4baa; + style v501 fill:#e3dcea,stroke:#7a4baa; + style v508 fill:#e3dcea,stroke:#7a4baa; + style v518 fill:#e3dcea,stroke:#7a4baa; style v530 fill:#e3dcea,stroke:#7a4baa; - style v537 fill:#e3dcea,stroke:#7a4baa; + style v540 fill:#e3dcea,stroke:#7a4baa; style v547 fill:#e3dcea,stroke:#7a4baa; - style v555 fill:#e3dcea,stroke:#7a4baa; style v558 fill:#e3dcea,stroke:#7a4baa; - style v588 fill:#e3dcea,stroke:#7a4baa; - style v566 fill:#e3dcea,stroke:#7a4baa; - style v573 fill:#e3dcea,stroke:#7a4baa; - style v583 fill:#e3dcea,stroke:#7a4baa; - style v595 fill:#e3dcea,stroke:#7a4baa; - style v602 fill:#e3dcea,stroke:#7a4baa; - style v614 fill:#e3dcea,stroke:#7a4baa; - style v621 fill:#e3dcea,stroke:#7a4baa; - style v625 fill:#e3dcea,stroke:#7a4baa; + style v563 fill:#e3dcea,stroke:#7a4baa; + style v570 fill:#e3dcea,stroke:#7a4baa; + style v580 fill:#e3dcea,stroke:#7a4baa; + style v590 fill:#e3dcea,stroke:#7a4baa; + style v597 fill:#e3dcea,stroke:#7a4baa; + style v607 fill:#e3dcea,stroke:#7a4baa; + style v616 fill:#e3dcea,stroke:#7a4baa; + style v624 fill:#e3dcea,stroke:#7a4baa; + style v631 fill:#e3dcea,stroke:#7a4baa; + style v641 fill:#e3dcea,stroke:#7a4baa; + style v649 fill:#e3dcea,stroke:#7a4baa; + style v652 fill:#e3dcea,stroke:#7a4baa; + style v682 fill:#e3dcea,stroke:#7a4baa; + style v660 fill:#e3dcea,stroke:#7a4baa; + style v667 fill:#e3dcea,stroke:#7a4baa; + style v677 fill:#e3dcea,stroke:#7a4baa; + style v689 fill:#e3dcea,stroke:#7a4baa; + style v696 fill:#e3dcea,stroke:#7a4baa; + style v708 fill:#e3dcea,stroke:#7a4baa; + style v715 fill:#e3dcea,stroke:#7a4baa; + style v719 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/annotation/scanvi_scarches.qmd b/components/workflows/annotation/scanvi_scarches.qmd index c21d75ba..8d1d8185 100644 --- a/components/workflows/annotation/scanvi_scarches.qmd +++ b/components/workflows/annotation/scanvi_scarches.qmd @@ -14,7 +14,7 @@ ID: `scanvi_scarches` Namespace: `workflows/annotation` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/annotation/scanvi_scarches/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/annotation/scanvi_scarches/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/annotation/scanvi_scarches/main.nf \ --help ``` @@ -47,13 +47,18 @@ modality: "rna" # layer: "foo" input_obs_batch_label: # please fill in - example: "sample" # input_obs_size_factor: "foo" +# input_obs_categorical_covariate: ["foo"] +# input_obs_continuous_covariate: ["foo"] # input_var_gene_names: "foo" +sanitize_ensembl_ids: true # Reference input reference: # please fill in - example: "reference.h5mu" reference_obs_target: # please fill in - example: "cell_type" reference_obs_batch_label: # please fill in - example: "sample" # reference_obs_size_factor: "foo" +# reference_obs_categorical_covariate: ["foo"] +# reference_obs_continuous_covariate: ["foo"] unlabeled_category: "Unknown" # reference_var_hvg: "foo" # reference_var_gene_names: "foo" @@ -93,7 +98,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/annotation/scanvi_scarches/main.nf \ -params-file params.yaml @@ -107,28 +112,33 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Query Input -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Input dataset consisting of the (unlabeled) query observations. The dataset is expected to be pre-processed in the same way as --reference. |`file`, required, example: `"input.h5mu"` | -|`--modality` |Which modality to process. Should match the modality of the --reference dataset. |`string`, default: `"rna"` | -|`--layer` |Which layer to use for integration if .X is not to be used. Should match the layer of the --reference dataset. |`string` | -|`--input_obs_batch_label` |The .obs field in the input (query) dataset containing the batch labels. |`string`, required, example: `"sample"` | -|`--input_obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | -|`--input_var_gene_names` |.var column containing gene names. By default, use the index. |`string` | +|`--id` |ID of the sample. |`string`, required, example: `"foo"` | +|`--input` |Input dataset consisting of the (unlabeled) query observations. The dataset is expected to be pre-processed in the same way as --reference. |`file`, required, example: `"input.h5mu"` | +|`--modality` |Which modality to process. Should match the modality of the --reference dataset. |`string`, default: `"rna"` | +|`--layer` |Which layer to use for integration if .X is not to be used. Should match the layer of the --reference dataset. |`string` | +|`--input_obs_batch_label` |The .obs field in the input (query) dataset containing the batch labels. |`string`, required, example: `"sample"` | +|`--input_obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | +|`--input_obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. Important: the order of the categorical covariates matters and should match the order of the covariates in the reference data. |List of `string`, multiple_sep: `";"` | +|`--input_obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. Important: the order of the continuous covariates matters and should match the order of the covariates in the reference data. |List of `string`, multiple_sep: `";"` | +|`--input_var_gene_names` |.var column containing gene names. By default, use the index. |`string` | +|`--sanitize_ensembl_ids` |Whether to sanitize ensembl ids by removing version numbers. |`boolean`, default: `TRUE` | ### Reference input -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--reference` |Reference dataset consisting of the labeled observations to train the KNN classifier on. The dataset is expected to be pre-processed in the same way as the --input query dataset. |`file`, required, example: `"reference.h5mu"` | -|`--reference_obs_target` |The `.obs` key containing the target labels. |`string`, required, example: `"cell_type"` | -|`--reference_obs_batch_label` |The .obs field in the reference dataset containing the batch labels. |`string`, required, example: `"sample"` | -|`--reference_obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | -|`--unlabeled_category` |Value in the --reference_obs_batch_label field that indicates unlabeled observations |`string`, default: `"Unknown"` | -|`--reference_var_hvg` |.var column containing highly variable genes. If not provided, genes will not be subset. |`string` | -|`--reference_var_gene_names` |.var column containing gene names. By default, use the index. |`string` | +|`--reference` |Reference dataset consisting of the labeled observations to train the KNN classifier on. The dataset is expected to be pre-processed in the same way as the --input query dataset. |`file`, required, example: `"reference.h5mu"` | +|`--reference_obs_target` |The `.obs` key containing the target labels. |`string`, required, example: `"cell_type"` | +|`--reference_obs_batch_label` |The .obs field in the reference dataset containing the batch labels. |`string`, required, example: `"sample"` | +|`--reference_obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | +|`--reference_obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. Important: the order of the categorical covariates matters and should match the order of the covariates in the query data. |List of `string`, multiple_sep: `";"` | +|`--reference_obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. Important: the order of the continuous covariates matters and should match the order of the covariates in the query data. |List of `string`, multiple_sep: `";"` | +|`--unlabeled_category` |Value in the --reference_obs_batch_label field that indicates unlabeled observations |`string`, default: `"Unknown"` | +|`--reference_var_hvg` |.var column containing highly variable genes. If not provided, genes will not be subset. |`string` | +|`--reference_var_gene_names` |.var column containing gene names. By default, use the index. |`string` | ### scVI, scANVI and scArches training options diff --git a/components/workflows/annotation/scgpt_annotation.qmd b/components/workflows/annotation/scgpt_annotation.qmd deleted file mode 100644 index f9890982..00000000 --- a/components/workflows/annotation/scgpt_annotation.qmd +++ /dev/null @@ -1,295 +0,0 @@ ---- -title: "scGPT Annotation" -namespace: "Workflows/annotation" -description: "Cell type annotation workflow using scGPT." -type: "workflow" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scgpt_annotation` -Namespace: `workflows/annotation` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/annotation/scgpt_annotation/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - -The workflow takes a pre-processed h5mu file as query input, and performs - - subsetting for HVG - - cross-checking of genes with the model vocabulary - - binning of gene counts - - padding and tokenizing of genes - - transformer-based cell type prediction -Note that cell-type prediction using scGPT is only possible using a fine-tuned scGPT model - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/workflows/annotation/scgpt_annotation/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Query input -id: # please fill in - example: "foo" -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# input_var_gene_names: "foo" -input_obs_batch_label: # please fill in - example: "foo" - -# Model input -model: # please fill in - example: "best_model.pt" -model_config: # please fill in - example: "args.json" -model_vocab: # please fill in - example: "vocab.json" -finetuned_checkpoints_key: "model_state_dict" -label_mapper_key: "id_to_class" - -# Outputs -# output: "$id.$key.output.h5mu" -# output_compression: "gzip" -output_obs_predictions: "scgpt_pred" -output_obs_probability: "scgpt_probability" - -# Padding arguments -pad_token: "" -pad_value: -2 - -# HVG subset arguments -n_hvg: 1200 -hvg_flavor: "cell_ranger" - -# Tokenization arguments -# max_seq_len: 123 - -# Embedding arguments -dsbn: true -batch_size: 64 - -# Binning arguments -n_input_bins: 51 -# seed: 123 - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/workflows/annotation/scgpt_annotation/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Query input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Path to the input file. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |The layer of the input dataset to process if .X is not to be used. Should contain log normalized counts. |`string` | -|`--input_var_gene_names` |The .var field in the input (query) containing gene names; if not provided, the var index will be used. |`string` | -|`--input_obs_batch_label` |The .obs field in the input (query) dataset containing the batch labels. |`string`, required | - - -### Model input - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |The scGPT model file. Must be a fine-tuned model that contains keys for checkpoints (--finetuned_checkpoints_key) and cell type label mapper(--label_mapper_key). |`file`, required, example: `"best_model.pt"` | -|`--model_config` |The scGPT model configuration file. |`file`, required, example: `"args.json"` | -|`--model_vocab` |The scGPT model vocabulary file. |`file`, required, example: `"vocab.json"` | -|`--finetuned_checkpoints_key` |Key in the model file containing the pre-trained checkpoints. |`string`, default: `"model_state_dict"` | -|`--label_mapper_key` |Key in the model file containing the cell type class to label mapper dictionary. |`string`, default: `"id_to_class"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output file path |`file`, required, example: `"output.h5mu"` | -|`--output_compression` |The compression algorithm to use for the output h5mu file. |`string`, example: `"gzip"` | -|`--output_obs_predictions` |The name of the adata.obs column to write predicted cell type labels to. |`string`, default: `"scgpt_pred"` | -|`--output_obs_probability` |The name of the adata.obs column to write predicted cell type labels to. |`string`, default: `"scgpt_probability"` | - - -### Padding arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |Token used for padding. |`string`, default: `""` | -|`--pad_value` |The value of the padding token. |`integer`, default: `-2` | - - -### HVG subset arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_hvg` |Number of highly variable genes to subset for. |`integer`, default: `1200` | -|`--hvg_flavor` |Method to be used for identifying highly variable genes. Note that the default for this workflow (`cell_ranger`) is not the default method for scanpy hvg detection (`seurat`). |`string`, default: `"cell_ranger"` | - - -### Tokenization arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--max_seq_len` |The maximum sequence length of the tokenized data. |`integer` | - - -### Embedding arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--dsbn` |Apply domain-specific batch normalization |`boolean`, default: `TRUE` | -|`--batch_size` |The batch size to be used for embedding inference. |`integer`, default: `64` | - - -### Binning arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_input_bins` |The number of bins to discretize the data into; When no value is provided, data won't be binned. |`integer`, default: `51` | -|`--seed` |Seed for random number generation used for binning. If not set, no seed is used. |`integer` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author, maintainer) - - * Elizabeth Mlynarski (contributor) - - * Weiwei Schultz (contributor) - -## Visualisation - -```{mermaid} -flowchart TB - v0(Channel.fromList) - v2(filter) - v10(filter) - v18(highly_variable_features_scanpy) - v25(cross) - v35(cross) - v41(filter) - v49(cross_check_genes) - v56(cross) - v66(cross) - v72(filter) - v80(binning) - v87(cross) - v97(cross) - v103(filter) - v111(pad_tokenize) - v118(cross) - v128(cross) - v134(filter) - v164(concat) - v142(scgpt_celltype_annotation) - v149(cross) - v159(cross) - v170(cross) - v177(cross) - v189(cross) - v196(cross) - v200(Output) - v0-->v2 - v2-->v10 - v10-->v18 - v18-->v25 - v10-->v25 - v10-->v35 - v41-->v49 - v49-->v56 - v41-->v56 - v41-->v66 - v72-->v80 - v80-->v87 - v72-->v87 - v72-->v97 - v103-->v111 - v111-->v118 - v103-->v118 - v103-->v128 - v134-->v142 - v142-->v149 - v134-->v149 - v134-->v159 - v159-->v164 - v164-->v170 - v2-->v170 - v170-->v177 - v2-->v177 - v2-->v189 - v189-->v196 - v2-->v196 - v196-->v200 - v35-->v41 - v18-->v35 - v66-->v72 - v49-->v66 - v97-->v103 - v80-->v97 - v128-->v134 - v111-->v128 - v142-->v159 - v164-->v189 - style v0 fill:#e3dcea,stroke:#7a4baa; - style v2 fill:#e3dcea,stroke:#7a4baa; - style v10 fill:#e3dcea,stroke:#7a4baa; - style v18 fill:#e3dcea,stroke:#7a4baa; - style v25 fill:#e3dcea,stroke:#7a4baa; - style v35 fill:#e3dcea,stroke:#7a4baa; - style v41 fill:#e3dcea,stroke:#7a4baa; - style v49 fill:#e3dcea,stroke:#7a4baa; - style v56 fill:#e3dcea,stroke:#7a4baa; - style v66 fill:#e3dcea,stroke:#7a4baa; - style v72 fill:#e3dcea,stroke:#7a4baa; - style v80 fill:#e3dcea,stroke:#7a4baa; - style v87 fill:#e3dcea,stroke:#7a4baa; - style v97 fill:#e3dcea,stroke:#7a4baa; - style v103 fill:#e3dcea,stroke:#7a4baa; - style v111 fill:#e3dcea,stroke:#7a4baa; - style v118 fill:#e3dcea,stroke:#7a4baa; - style v128 fill:#e3dcea,stroke:#7a4baa; - style v134 fill:#e3dcea,stroke:#7a4baa; - style v164 fill:#e3dcea,stroke:#7a4baa; - style v142 fill:#e3dcea,stroke:#7a4baa; - style v149 fill:#e3dcea,stroke:#7a4baa; - style v159 fill:#e3dcea,stroke:#7a4baa; - style v170 fill:#e3dcea,stroke:#7a4baa; - style v177 fill:#e3dcea,stroke:#7a4baa; - style v189 fill:#e3dcea,stroke:#7a4baa; - style v196 fill:#e3dcea,stroke:#7a4baa; - style v200 fill:#e3dcea,stroke:#7a4baa; - -``` - diff --git a/components/workflows/annotation/scvi_knn.qmd b/components/workflows/annotation/scvi_knn.qmd index e61894a6..00397b68 100644 --- a/components/workflows/annotation/scvi_knn.qmd +++ b/components/workflows/annotation/scvi_knn.qmd @@ -1,7 +1,7 @@ --- title: "scVI Annotation" namespace: "Workflows/annotation" -description: "Cell type annotation workflow that performs scVI integration of reference and query dataset followed by KNN label transfer." +description: ""Cell type annotation workflow that performs scVI integration of reference and query dataset followed by KNN label transfer." type: "workflow" toc: false --- @@ -14,13 +14,14 @@ ID: `scvi_knn` Namespace: `workflows/annotation` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/annotation/scvi_knn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/annotation/scvi_knn/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: The query and reference datasets are expected to be pre-processed in the same way, for example with the `process_samples` workflow of OpenPipeline. Note that this workflow will integrate the reference dataset from scratch and integrate the query dataset in the same embedding space. -The workflow does not currently output the trained SCVI reference model +The workflow does not currently output the trained SCVI reference model." + ## Example commands @@ -32,7 +33,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/annotation/scvi_knn/main.nf \ --help ``` @@ -52,6 +53,7 @@ input_obs_batch_label: # please fill in - example: "sample" # input_var_gene_names: "foo" input_reference_gene_overlap: 100 overwrite_existing_key: false +sanitize_ensembl_ids: true # Reference input reference: # please fill in - example: "reference.h5mu" @@ -97,7 +99,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/annotation/scvi_knn/main.nf \ -params-file params.yaml @@ -122,6 +124,7 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen |`--input_var_gene_names` |The .var field in the input (query) dataset containing gene names; if not provided, the .var index will be used. |`string` | |`--input_reference_gene_overlap` |The minimum number of genes present in both the reference and query datasets. |`integer`, default: `100` | |`--overwrite_existing_key` |If provided, will overwrite existing fields in the input dataset when data are copied during the reference alignment process. |`boolean_true` | +|`--sanitize_ensembl_ids` |Whether to sanitize ensembl ids by removing version numbers. |`boolean`, default: `TRUE` | ### Reference input @@ -219,72 +222,90 @@ flowchart TB v188(cross) v198(cross) v204(filter) - v212(filter) - v227(cross) - v237(cross) - v243(filter) - v397(concat) - v252(filter) - v267(cross) - v277(cross) - v286(branch) - v313(concat) - v298(cross) - v308(cross) - v317(branch) - v344(concat) - v329(cross) - v339(cross) - v348(branch) - v375(concat) - v360(cross) - v370(cross) - v382(cross) + v216(branch) + v243(concat) + v228(cross) + v238(cross) + v244(filter) + v259(cross) + v269(cross) + v275(filter) + v284(filter) + v299(cross) + v309(cross) + v318(branch) + v345(concat) + v330(cross) + v340(cross) + v349(branch) + v376(concat) + v361(cross) + v371(cross) + v380(branch) + v407(concat) v392(cross) - v404(cross) + v402(cross) v414(cross) - v420(filter) - v428(delete_aligned_counts_layer) - v435(cross) + v424(cross) + v433(branch) + v460(concat) v445(cross) - v451(filter) - v462(filter) - v474(cross) - v484(cross) - v494(concat) - v501(cross) - v511(cross) - v519(filter) - v527(knn) - v534(cross) - v544(cross) - v552(mix) - v555(filter) - v585(concat) - v563(merge) - v570(cross) - v580(cross) - v592(cross) - v599(cross) - v611(cross) - v618(cross) - v622(Output) + v455(cross) + v464(branch) + v491(concat) + v476(cross) + v486(cross) + v498(cross) + v508(cross) + v514(filter) + v522(delete_aligned_counts_layer) + v529(cross) + v539(cross) + v545(filter) + v556(filter) + v568(cross) + v578(cross) + v588(concat) + v595(cross) + v605(cross) + v613(filter) + v621(knn) + v628(cross) + v638(cross) + v646(mix) + v649(filter) + v679(concat) + v657(merge) + v664(cross) + v674(cross) + v686(cross) + v693(cross) + v705(cross) + v712(cross) + v716(Output) subgraph group_split_modalities [split_modalities] v57(split_modalities_component) end subgraph group_scvi_leiden_workflow [scvi_leiden_workflow] - v220(scvi) - v260(find_neighbors) - v291(leiden) - v322(move_obsm_to_obs) - v353(umap) + v221(from_tiledb_to_h5mu) + v252(scvi) + v292(find_neighbors) + v323(leiden) + v354(move_obsm_to_obs) + v385(umap) + v438(move_mudata_obsm_to_tiledb) + v469(move_mudata_obs_to_tiledb) end subgraph group_split_h5mu [split_h5mu] - v467(split_h5mu_component) + v561(split_h5mu_component) end - v286-->v313 - v317-->v344 - v348-->v375 + v216-->v243 + v243-->v244 + v318-->v345 + v349-->v376 + v380-->v407 + v433-->v460 + v464-->v491 v0-->v2 v2-->v10 v10-->v18 @@ -310,66 +331,79 @@ flowchart TB v181-->v188 v173-->v188 v173-->v198 - v204-->v212 - v212-->v220 - v220-->v227 - v212-->v227 - v212-->v237 - v243-->v252 - v252-->v260 - v260-->v267 - v252-->v267 - v252-->v277 - v286-->v291 - v291-->v298 - v286-->v298 - v286-->v308 - v308-->v313 - v317-->v322 - v322-->v329 - v317-->v329 - v317-->v339 - v339-->v344 - v348-->v353 - v353-->v360 - v348-->v360 - v348-->v370 - v370-->v375 - v375-->v382 - v243-->v382 - v243-->v392 - v392-->v397 - v397-->v404 - v204-->v404 - v204-->v414 - v420-->v428 - v428-->v435 - v420-->v435 - v420-->v445 - v462-->v467 - v467-->v474 - v462-->v474 - v462-->v484 - v494-->v501 - v451-->v501 - v451-->v511 - v519-->v527 - v527-->v534 - v519-->v534 - v519-->v544 - v555-->v563 - v563-->v570 - v555-->v570 - v555-->v580 - v580-->v585 - v585-->v592 - v2-->v592 - v592-->v599 - v2-->v599 - v2-->v611 - v611-->v618 - v2-->v618 - v618-->v622 + v216-->v221 + v221-->v228 + v216-->v228 + v216-->v238 + v238-->v243 + v244-->v252 + v252-->v259 + v244-->v259 + v244-->v269 + v275-->v284 + v284-->v292 + v292-->v299 + v284-->v299 + v284-->v309 + v318-->v323 + v323-->v330 + v318-->v330 + v318-->v340 + v340-->v345 + v349-->v354 + v354-->v361 + v349-->v361 + v349-->v371 + v371-->v376 + v380-->v385 + v385-->v392 + v380-->v392 + v380-->v402 + v402-->v407 + v407-->v414 + v275-->v414 + v275-->v424 + v433-->v438 + v438-->v445 + v433-->v445 + v433-->v455 + v455-->v460 + v464-->v469 + v469-->v476 + v464-->v476 + v464-->v486 + v486-->v491 + v491-->v498 + v204-->v498 + v204-->v508 + v514-->v522 + v522-->v529 + v514-->v529 + v514-->v539 + v556-->v561 + v561-->v568 + v556-->v568 + v556-->v578 + v588-->v595 + v545-->v595 + v545-->v605 + v613-->v621 + v621-->v628 + v613-->v628 + v613-->v638 + v649-->v657 + v657-->v664 + v649-->v664 + v649-->v674 + v674-->v679 + v679-->v686 + v2-->v686 + v686-->v693 + v2-->v693 + v2-->v705 + v705-->v712 + v2-->v712 + v712-->v716 v35-->v41 v18-->v35 v101-->v107 @@ -384,31 +418,37 @@ flowchart TB v150-->v167 v198-->v204 v181-->v198 - v414-->v420 - v237-->v243 - v220-->v237 - v260-->v277 - v277-->v286 - v291-->v308 - v313-->v317 - v322-->v339 - v344-->v348 - v353-->v370 - v375-->v392 - v397-->v414 - v445-->v451 - v428-->v445 - v511-->v519 - v451-->v462 - v484-->v494 - v467-->v484 - v494-->v511 - v544-->v552 - v527-->v544 - v107-->v552 - v552-->v555 - v563-->v580 - v585-->v611 + v508-->v514 + v204-->v216 + v221-->v238 + v269-->v275 + v252-->v269 + v292-->v309 + v309-->v318 + v323-->v340 + v345-->v349 + v354-->v371 + v376-->v380 + v385-->v402 + v407-->v424 + v424-->v433 + v438-->v455 + v460-->v464 + v469-->v486 + v491-->v508 + v539-->v545 + v522-->v539 + v605-->v613 + v545-->v556 + v578-->v588 + v561-->v578 + v588-->v605 + v638-->v646 + v621-->v638 + v107-->v646 + v646-->v649 + v657-->v674 + v679-->v705 style group_split_modalities fill:#F0F0F0,stroke:#969696; style group_scvi_leiden_workflow fill:#F0F0F0,stroke:#969696; style group_split_h5mu fill:#F0F0F0,stroke:#969696; @@ -440,62 +480,76 @@ flowchart TB style v188 fill:#e3dcea,stroke:#7a4baa; style v198 fill:#e3dcea,stroke:#7a4baa; style v204 fill:#e3dcea,stroke:#7a4baa; - style v212 fill:#e3dcea,stroke:#7a4baa; - style v220 fill:#e3dcea,stroke:#7a4baa; - style v227 fill:#e3dcea,stroke:#7a4baa; - style v237 fill:#e3dcea,stroke:#7a4baa; + style v216 fill:#e3dcea,stroke:#7a4baa; style v243 fill:#e3dcea,stroke:#7a4baa; - style v397 fill:#e3dcea,stroke:#7a4baa; + style v221 fill:#e3dcea,stroke:#7a4baa; + style v228 fill:#e3dcea,stroke:#7a4baa; + style v238 fill:#e3dcea,stroke:#7a4baa; + style v244 fill:#e3dcea,stroke:#7a4baa; style v252 fill:#e3dcea,stroke:#7a4baa; - style v260 fill:#e3dcea,stroke:#7a4baa; - style v267 fill:#e3dcea,stroke:#7a4baa; - style v277 fill:#e3dcea,stroke:#7a4baa; - style v286 fill:#e3dcea,stroke:#7a4baa; - style v313 fill:#e3dcea,stroke:#7a4baa; - style v291 fill:#e3dcea,stroke:#7a4baa; - style v298 fill:#e3dcea,stroke:#7a4baa; - style v308 fill:#e3dcea,stroke:#7a4baa; - style v317 fill:#e3dcea,stroke:#7a4baa; - style v344 fill:#e3dcea,stroke:#7a4baa; - style v322 fill:#e3dcea,stroke:#7a4baa; - style v329 fill:#e3dcea,stroke:#7a4baa; - style v339 fill:#e3dcea,stroke:#7a4baa; - style v348 fill:#e3dcea,stroke:#7a4baa; - style v375 fill:#e3dcea,stroke:#7a4baa; - style v353 fill:#e3dcea,stroke:#7a4baa; - style v360 fill:#e3dcea,stroke:#7a4baa; - style v370 fill:#e3dcea,stroke:#7a4baa; - style v382 fill:#e3dcea,stroke:#7a4baa; + style v259 fill:#e3dcea,stroke:#7a4baa; + style v269 fill:#e3dcea,stroke:#7a4baa; + style v275 fill:#e3dcea,stroke:#7a4baa; + style v284 fill:#e3dcea,stroke:#7a4baa; + style v292 fill:#e3dcea,stroke:#7a4baa; + style v299 fill:#e3dcea,stroke:#7a4baa; + style v309 fill:#e3dcea,stroke:#7a4baa; + style v318 fill:#e3dcea,stroke:#7a4baa; + style v345 fill:#e3dcea,stroke:#7a4baa; + style v323 fill:#e3dcea,stroke:#7a4baa; + style v330 fill:#e3dcea,stroke:#7a4baa; + style v340 fill:#e3dcea,stroke:#7a4baa; + style v349 fill:#e3dcea,stroke:#7a4baa; + style v376 fill:#e3dcea,stroke:#7a4baa; + style v354 fill:#e3dcea,stroke:#7a4baa; + style v361 fill:#e3dcea,stroke:#7a4baa; + style v371 fill:#e3dcea,stroke:#7a4baa; + style v380 fill:#e3dcea,stroke:#7a4baa; + style v407 fill:#e3dcea,stroke:#7a4baa; + style v385 fill:#e3dcea,stroke:#7a4baa; style v392 fill:#e3dcea,stroke:#7a4baa; - style v404 fill:#e3dcea,stroke:#7a4baa; + style v402 fill:#e3dcea,stroke:#7a4baa; style v414 fill:#e3dcea,stroke:#7a4baa; - style v420 fill:#e3dcea,stroke:#7a4baa; - style v428 fill:#e3dcea,stroke:#7a4baa; - style v435 fill:#e3dcea,stroke:#7a4baa; + style v424 fill:#e3dcea,stroke:#7a4baa; + style v433 fill:#e3dcea,stroke:#7a4baa; + style v460 fill:#e3dcea,stroke:#7a4baa; + style v438 fill:#e3dcea,stroke:#7a4baa; style v445 fill:#e3dcea,stroke:#7a4baa; - style v451 fill:#e3dcea,stroke:#7a4baa; - style v462 fill:#e3dcea,stroke:#7a4baa; - style v467 fill:#e3dcea,stroke:#7a4baa; - style v474 fill:#e3dcea,stroke:#7a4baa; - style v484 fill:#e3dcea,stroke:#7a4baa; - style v494 fill:#e3dcea,stroke:#7a4baa; - style v501 fill:#e3dcea,stroke:#7a4baa; - style v511 fill:#e3dcea,stroke:#7a4baa; - style v519 fill:#e3dcea,stroke:#7a4baa; - style v527 fill:#e3dcea,stroke:#7a4baa; - style v534 fill:#e3dcea,stroke:#7a4baa; - style v544 fill:#e3dcea,stroke:#7a4baa; - style v552 fill:#e3dcea,stroke:#7a4baa; - style v555 fill:#e3dcea,stroke:#7a4baa; - style v585 fill:#e3dcea,stroke:#7a4baa; - style v563 fill:#e3dcea,stroke:#7a4baa; - style v570 fill:#e3dcea,stroke:#7a4baa; - style v580 fill:#e3dcea,stroke:#7a4baa; - style v592 fill:#e3dcea,stroke:#7a4baa; - style v599 fill:#e3dcea,stroke:#7a4baa; - style v611 fill:#e3dcea,stroke:#7a4baa; - style v618 fill:#e3dcea,stroke:#7a4baa; - style v622 fill:#e3dcea,stroke:#7a4baa; + style v455 fill:#e3dcea,stroke:#7a4baa; + style v464 fill:#e3dcea,stroke:#7a4baa; + style v491 fill:#e3dcea,stroke:#7a4baa; + style v469 fill:#e3dcea,stroke:#7a4baa; + style v476 fill:#e3dcea,stroke:#7a4baa; + style v486 fill:#e3dcea,stroke:#7a4baa; + style v498 fill:#e3dcea,stroke:#7a4baa; + style v508 fill:#e3dcea,stroke:#7a4baa; + style v514 fill:#e3dcea,stroke:#7a4baa; + style v522 fill:#e3dcea,stroke:#7a4baa; + style v529 fill:#e3dcea,stroke:#7a4baa; + style v539 fill:#e3dcea,stroke:#7a4baa; + style v545 fill:#e3dcea,stroke:#7a4baa; + style v556 fill:#e3dcea,stroke:#7a4baa; + style v561 fill:#e3dcea,stroke:#7a4baa; + style v568 fill:#e3dcea,stroke:#7a4baa; + style v578 fill:#e3dcea,stroke:#7a4baa; + style v588 fill:#e3dcea,stroke:#7a4baa; + style v595 fill:#e3dcea,stroke:#7a4baa; + style v605 fill:#e3dcea,stroke:#7a4baa; + style v613 fill:#e3dcea,stroke:#7a4baa; + style v621 fill:#e3dcea,stroke:#7a4baa; + style v628 fill:#e3dcea,stroke:#7a4baa; + style v638 fill:#e3dcea,stroke:#7a4baa; + style v646 fill:#e3dcea,stroke:#7a4baa; + style v649 fill:#e3dcea,stroke:#7a4baa; + style v679 fill:#e3dcea,stroke:#7a4baa; + style v657 fill:#e3dcea,stroke:#7a4baa; + style v664 fill:#e3dcea,stroke:#7a4baa; + style v674 fill:#e3dcea,stroke:#7a4baa; + style v686 fill:#e3dcea,stroke:#7a4baa; + style v693 fill:#e3dcea,stroke:#7a4baa; + style v705 fill:#e3dcea,stroke:#7a4baa; + style v712 fill:#e3dcea,stroke:#7a4baa; + style v716 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/differential_expression/pseudobulk_deseq2.qmd b/components/workflows/differential_expression/pseudobulk_deseq2.qmd new file mode 100644 index 00000000..b2238480 --- /dev/null +++ b/components/workflows/differential_expression/pseudobulk_deseq2.qmd @@ -0,0 +1,254 @@ +--- +title: "Pseudobulk deseq2" +namespace: "Workflows/differential expression" +description: "Performs pseudobulk generation and subsequent differential expression analysis using DESeq2" +type: "workflow" +toc: false +--- + +::: {.column-margin} + +### Info + +ID: `pseudobulk_deseq2` +Namespace: `workflows/differential_expression` + +### Links +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/differential_expression/pseudobulk_deseq2/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} + +::: + + + +## Example commands + +You can run the pipeline using `nextflow run`. + +### View help + +You can use `--help` as a parameter to get an overview of the possible parameters. + +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -main-script target/nextflow/workflows/differential_expression/pseudobulk_deseq2/main.nf \ + --help +``` + +### Run command + +
+Example of `params.yaml` +```yaml +# Inputs +input: # please fill in - example: "/path/to/input_file.h5mu" +modality: "rna" +# input_layer: "foo" +obs_cell_group: # please fill in - example: "cell_type" +# obs_groups: ["treatment", "disease"] +# var_gene_names: "gene_symbol" + +# Pseudobulk Options +aggregation_method: "sum" +random_state: 0 + +# Filtering options +min_obs_per_sample: 30 +# filter_genes_min_samples: 123 +# filter_gene_patterns: ["MIR\d+", "AL\d+", "LINC\d+", "AC\d+", "AP\d+"] + +# DGEA options +design_formula: # please fill in - example: "~ cell_type + disease + treatment" +contrast_column: # please fill in - example: "treatment" +contrast_values: # please fill in - example: ["ctrl", "stim"] +p_adj_threshold: 0.05 +log2fc_threshold: 0.0 + +# Outputs +# output: "$id.$key.output" +output_prefix: "deseq2_analysis" + +# Nextflow input-output arguments +publish_dir: # please fill in - example: "output/" +# param_list: "my_params.yaml" + +# Arguments +``` +
+ +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -profile docker \ + -main-script target/nextflow/workflows/differential_expression/pseudobulk_deseq2/main.nf \ + -params-file params.yaml +``` + +:::{.callout-note} +Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. +::: + +## Argument groups + +### Inputs + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--input` |Input h5mu file. |`file`, required, example: `"/path/to/input_file.h5mu"` | +|`--modality` |Which modality from the input MuData file to process. |`string`, default: `"rna"` | +|`--input_layer` |Input layer to use. If None, X is used. This layer must contain raw counts. |`string` | +|`--obs_cell_group` |.obs field containing the variable to group on. Typically this field contains cell groups such as annotated cell types or clusters. If provided, will generate DESeq2 analysis per cell group. |`string`, required, example: `"cell_type"` | +|`--obs_groups` |.obs fields containing the experimental condition(s) to create pseudobulk samples for. |List of `string`, example: `"treatment", "disease"`, multiple_sep: `";"` | +|`--var_gene_names` |Name of the .var field that contains gene symbols. If not provided, .var.index will be used. |`string`, example: `"gene_symbol"` | + + +### Pseudobulk Options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--aggregation_method` |Method to aggregate the raw counts for pseudoreplicates. Either sum or mean. |`string`, default: `"sum"` | +|`--random_state` |The random seed for sampling. |`integer`, default: `0` | + + +### Filtering options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--min_obs_per_sample` |Minimum number of observations per pseudobulk sample. |`integer`, default: `30` | +|`--filter_genes_min_samples` |Minimum number of samples a gene must be expressed in to be included in the analysis. If None, no filtering is applied. |`integer` | +|`--filter_gene_patterns` |List of regex patterns to filter out genes. Genes matching any of these patterns will be excluded from the analysis. |List of `string`, example: `"MIR\d+", "AL\d+", "LINC\d+", "AC\d+", "AP\d+"`, multiple_sep: `";"` | + + +### DGEA options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--design_formula` |Design formula for DESeq2 analysis in R-style format. Specifies the statistical model to account for various factors. |`string`, required, example: `"~ cell_type + disease + treatment"` | +|`--contrast_column` |Column in the metadata to use for the contrast. This column should contain the conditions to compare. |`string`, required, example: `"treatment"` | +|`--contrast_values` |Values to compare in the contrast column. First value is baseline, following values are different treatments. |List of `string`, required, example: `"ctrl", "stim"`, multiple_sep: `";"` | +|`--p_adj_threshold` |Adjusted p-value threshold for significance. Genes with adjusted p-values below this threshold will be considered significant. |`double`, default: `0.05` | +|`--log2fc_threshold` |Log2 fold change threshold for significance. Genes with absolute log2 fold change above this threshold will be considered significant. |`double`, default: `0` | + + +### Outputs + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--output` |Output directory for DESeq2 results, containing one CSV file per cell group (as defined by `--obs_cell_group`) |`file`, required | +|`--output_prefix` |Prefix for output CSV files: files will be named "{prefix}_{cell_group}.csv" |`string`, default: `"deseq2_analysis"` | + +## Authors + + + * Jakub Majercik [{{< fa brands github >}}](https://github.com/jakubmajercik) [{{< fa brands linkedin >}}](https://linkedin.com/in/jakubmajercik) (author) + + * Weiwei Schultz (contributor) + +## Visualisation + +```{mermaid} +flowchart TB + v0(Channel.fromList) + v2(filter) + v9(filter) + v17(create_pseudobulk) + v24(cross) + v34(cross) + v40(filter) + v48(delimit_counts) + v55(cross) + v65(cross) + v74(branch) + v101(concat) + v79(filter_with_pattern) + v86(cross) + v96(cross) + v102(filter) + v110(filter_with_counts) + v117(cross) + v127(cross) + v133(filter) + v163(concat) + v141(deseq2) + v148(cross) + v158(cross) + v170(cross) + v177(cross) + v189(cross) + v196(cross) + v200(Output) + v74-->v101 + v101-->v102 + v0-->v2 + v2-->v9 + v9-->v17 + v17-->v24 + v9-->v24 + v9-->v34 + v40-->v48 + v48-->v55 + v40-->v55 + v40-->v65 + v74-->v79 + v79-->v86 + v74-->v86 + v74-->v96 + v96-->v101 + v102-->v110 + v110-->v117 + v102-->v117 + v102-->v127 + v133-->v141 + v141-->v148 + v133-->v148 + v133-->v158 + v158-->v163 + v163-->v170 + v2-->v170 + v170-->v177 + v2-->v177 + v2-->v189 + v189-->v196 + v2-->v196 + v196-->v200 + v34-->v40 + v17-->v34 + v48-->v65 + v65-->v74 + v79-->v96 + v127-->v133 + v110-->v127 + v141-->v158 + v163-->v189 + style v0 fill:#e3dcea,stroke:#7a4baa; + style v2 fill:#e3dcea,stroke:#7a4baa; + style v9 fill:#e3dcea,stroke:#7a4baa; + style v17 fill:#e3dcea,stroke:#7a4baa; + style v24 fill:#e3dcea,stroke:#7a4baa; + style v34 fill:#e3dcea,stroke:#7a4baa; + style v40 fill:#e3dcea,stroke:#7a4baa; + style v48 fill:#e3dcea,stroke:#7a4baa; + style v55 fill:#e3dcea,stroke:#7a4baa; + style v65 fill:#e3dcea,stroke:#7a4baa; + style v74 fill:#e3dcea,stroke:#7a4baa; + style v101 fill:#e3dcea,stroke:#7a4baa; + style v79 fill:#e3dcea,stroke:#7a4baa; + style v86 fill:#e3dcea,stroke:#7a4baa; + style v96 fill:#e3dcea,stroke:#7a4baa; + style v102 fill:#e3dcea,stroke:#7a4baa; + style v110 fill:#e3dcea,stroke:#7a4baa; + style v117 fill:#e3dcea,stroke:#7a4baa; + style v127 fill:#e3dcea,stroke:#7a4baa; + style v133 fill:#e3dcea,stroke:#7a4baa; + style v163 fill:#e3dcea,stroke:#7a4baa; + style v141 fill:#e3dcea,stroke:#7a4baa; + style v148 fill:#e3dcea,stroke:#7a4baa; + style v158 fill:#e3dcea,stroke:#7a4baa; + style v170 fill:#e3dcea,stroke:#7a4baa; + style v177 fill:#e3dcea,stroke:#7a4baa; + style v189 fill:#e3dcea,stroke:#7a4baa; + style v196 fill:#e3dcea,stroke:#7a4baa; + style v200 fill:#e3dcea,stroke:#7a4baa; + +``` + diff --git a/components/workflows/gdo/gdo_singlesample.qmd b/components/workflows/gdo/gdo_singlesample.qmd index 1a34c9e1..5f125e31 100644 --- a/components/workflows/gdo/gdo_singlesample.qmd +++ b/components/workflows/gdo/gdo_singlesample.qmd @@ -14,7 +14,7 @@ ID: `gdo_singlesample` Namespace: `workflows/gdo` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/gdo/gdo_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/gdo/gdo_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/gdo/gdo_singlesample/main.nf \ --help ``` @@ -65,7 +65,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/gdo/gdo_singlesample/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/bd_rhapsody.qmd b/components/workflows/ingestion/bd_rhapsody.qmd index b753c7a9..0985c93c 100644 --- a/components/workflows/ingestion/bd_rhapsody.qmd +++ b/components/workflows/ingestion/bd_rhapsody.qmd @@ -14,7 +14,7 @@ ID: `bd_rhapsody` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/bd_rhapsody/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/bd_rhapsody/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -36,7 +36,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/bd_rhapsody/main.nf \ --help ``` @@ -110,7 +110,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/bd_rhapsody/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/cellranger_mapping.qmd b/components/workflows/ingestion/cellranger_mapping.qmd index 0f6e3a68..41ba6ead 100644 --- a/components/workflows/ingestion/cellranger_mapping.qmd +++ b/components/workflows/ingestion/cellranger_mapping.qmd @@ -14,7 +14,7 @@ ID: `cellranger_mapping` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/cellranger_mapping/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/cellranger_mapping/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/cellranger_mapping/main.nf \ --help ``` @@ -68,7 +68,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/cellranger_mapping/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/cellranger_multi.qmd b/components/workflows/ingestion/cellranger_multi.qmd index d3bb725b..1ca34cd2 100644 --- a/components/workflows/ingestion/cellranger_multi.qmd +++ b/components/workflows/ingestion/cellranger_multi.qmd @@ -14,7 +14,7 @@ ID: `cellranger_multi` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/cellranger_multi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/cellranger_multi/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/cellranger_multi/main.nf \ --help ``` @@ -77,6 +77,8 @@ nextflow run openpipelines-bio/openpipeline \ gex_reference: # please fill in - example: "reference_genome.tar.gz" gex_secondary_analysis: false gex_generate_bam: false +# tenx_cloud_token_path: "path/to/file" +# cell_annotation_model: "foo" # gex_expect_cells: 3000 # gex_force_cells: 3000 gex_include_introns: true @@ -89,17 +91,25 @@ gex_chemistry: "auto" # vdj_inner_enrichment_primers: "enrichment_primers.txt" # vdj_r1_length: 123 # vdj_r2_length: 123 +# vdj_denovo: true -# Cell multiplexing parameters +# 3' Cell multiplexing parameters (CellPlex Multiplexing) # cell_multiplex_oligo_ids: ["foo"] # min_assignment_confidence: 123.0 # cmo_set: "path/to/file" # barcode_sample_assignment: "path/to/file" -# Fixed RNA profiling paramaters +# Hashtag multiplexing parameters +# hashtag_ids: ["foo"] + +# On-chip multiplexing parameters +# ocm_barcode_ids: ["foo"] + +# Flex multiplexing paramaters # probe_set: "path/to/file" # filter_probes: true # probe_barcode_ids: ["foo"] +# emptydrops_minimum_umis: 123 # Antigen Capture (BEAM) libary arguments # control_id: ["foo"] @@ -123,7 +133,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/cellranger_multi/main.nf \ -params-file params.yaml @@ -198,17 +208,19 @@ library_type or library_id. The library_id will be inferred from the input paths Arguments relevant to the analysis of gene expression data. -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--gex_reference` |Genome refence index built by Cell Ranger mkref. |`file`, required, example: `"reference_genome.tar.gz"` | -|`--gex_secondary_analysis` |Whether or not to run the secondary analysis e.g. clustering. |`boolean`, default: `FALSE` | -|`--gex_generate_bam` |Whether to generate a BAM file. |`boolean`, default: `FALSE` | -|`--gex_expect_cells` |Expected number of recovered cells, used as input to cell calling algorithm. |`integer`, example: `3000` | -|`--gex_force_cells` |Force pipeline to use this number of cells, bypassing cell detection. |`integer`, example: `3000` | -|`--gex_include_introns` |Whether or not to include intronic reads in counts. This option does not apply to Fixed RNA Profiling analysis. |`boolean`, default: `TRUE` | -|`--gex_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | -|`--gex_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores. |`integer` | -|`--gex_chemistry` |Assay configuration. Either specify a single value which will be applied to all libraries, or a number of values that is equal to the number of libararies. The latter is only applicable to only applicable to Fixed RNA Profiling. - auto: Chemistry autodetection (default) - threeprime: Single Cell 3' - SC3Pv1, SC3Pv2, SC3Pv3, SC3Pv4: Single Cell 3' v1, v2, v3, or v4 - SC3Pv3HT: Single Cell 3' v3.1 HT - SC-FB: Single Cell Antibody-only 3' v2 or 5' - fiveprime: Single Cell 5' - SC5P-PE: Paired-end Single Cell 5' - SC5P-R2: R2-only Single Cell 5' - SC5P-R2-v3: R2-only Single Cell 5' v3 - SCP5-PE-v3: Single Cell 5' paired-end v3 (GEM-X) - SC5PHT : Single Cell 5' v2 HT - SFRP: Fixed RNA Profiling (Singleplex) - MFRP: Fixed RNA Profiling (Multiplex, Probe Barcode on R2) - MFRP-R1: Fixed RNA Profiling (Multiplex, Probe Barcode on R1) - MFRP-RNA: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R2) - MFRP-Ab: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:69) - MFRP-Ab-R2pos50: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:50) - MFRP-RNA-R1: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R1) - MFRP-Ab-R1: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode on R1) - ARC-v1 for analyzing the Gene Expression portion of Multiome data. If Cell Ranger auto-detects ARC-v1 chemistry, an error is triggered. See https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry- for more information. |`string`, default: `"auto"` | +|`--gex_reference` |Genome refence index built by Cell Ranger mkref. |`file`, required, example: `"reference_genome.tar.gz"` | +|`--gex_secondary_analysis` |Whether or not to run the secondary analysis e.g. clustering. |`boolean`, default: `FALSE` | +|`--gex_generate_bam` |Whether to generate a BAM file. |`boolean`, default: `FALSE` | +|`--tenx_cloud_token_path` |The 10x Cloud Analysis user token used to enable cell annotation. |`file` | +|`--cell_annotation_model` |"Cell annotation model to use. If auto, uses the default model for the species. If not given, does not run cell annotation." |`string` | +|`--gex_expect_cells` |Expected number of recovered cells, used as input to cell calling algorithm. |`integer`, example: `3000` | +|`--gex_force_cells` |Force pipeline to use this number of cells, bypassing cell detection. |`integer`, example: `3000` | +|`--gex_include_introns` |Whether or not to include intronic reads in counts. This option does not apply to Fixed RNA Profiling analysis. |`boolean`, default: `TRUE` | +|`--gex_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | +|`--gex_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores. |`integer` | +|`--gex_chemistry` |Assay configuration. Either specify a single value which will be applied to all libraries, or a number of values that is equal to the number of libararies. The latter is only applicable to only applicable to Fixed RNA Profiling. - auto: Chemistry autodetection (default) - threeprime: Single Cell 3' - SC3Pv1, SC3Pv2, SC3Pv3(-polyA), SC3Pv4(-polyA): Single Cell 3' v1, v2, v3, or v4 - SC3Pv3HT(-polyA): Single Cell 3' v3.1 HT - SC-FB: Single Cell Antibody-only 3' v2 or 5' - fiveprime: Single Cell 5' - SC5P-PE: Paired-end Single Cell 5' - SC5P-PE-v3: Paired-end Single Cell 5' v3 - SC5P-R2: R2-only Single Cell 5' - SC5P-R2-v3: R2-only Single Cell 5' v3 - SCP5-PE-v3: Single Cell 5' paired-end v3 (GEM-X) - SC5PHT : Single Cell 5' v2 HT - SFRP: Fixed RNA Profiling (Singleplex) - MFRP: Fixed RNA Profiling (Multiplex, Probe Barcode on R2) - MFRP-R1: Fixed RNA Profiling (Multiplex, Probe Barcode on R1) - MFRP-RNA: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R2) - MFRP-Ab: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:69) - MFRP-Ab-R2pos50: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode at R2:50) - MFRP-RNA-R1: Fixed RNA Profiling (Multiplex, RNA, Probe Barcode on R1) - MFRP-Ab-R1: Fixed RNA Profiling (Multiplex, Antibody, Probe Barcode on R1) - ARC-v1 for analyzing the Gene Expression portion of Multiome data. If Cell Ranger auto-detects ARC-v1 chemistry, an error is triggered. See https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry- for more information. |`string`, default: `"auto"` | ### VDJ related parameters @@ -219,9 +231,10 @@ Arguments relevant to the analysis of gene expression data. |`--vdj_inner_enrichment_primers` |V(D)J Immune Profiling libraries: if inner enrichment primers other than those provided in the 10x Genomics kits are used, they need to be specified here as a text file with one primer per line. |`file`, example: `"enrichment_primers.txt"` | |`--vdj_r1_length` |Limit the length of the input Read 1 sequence of V(D)J libraries to the first N bases, where N is the user-supplied value. Note that the length includes the Barcode and UMI sequences so do not set this below 26. |`integer` | |`--vdj_r2_length` |Limit the length of the input Read 2 sequence of V(D)J libraries to the first N bases, where N is a user-supplied value. Trimming occurs before sequencing metrics are computed and therefore, limiting the length of Read 2 may affect Q30 scores |`integer` | +|`--vdj_denovo` |Run in reference-free mode (i.e., do not use annotations). This option is not supported for multiplexed experiments. |`boolean` | -### Cell multiplexing parameters +### 3' Cell multiplexing parameters (CellPlex Multiplexing) |Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| @@ -231,13 +244,28 @@ Arguments relevant to the analysis of gene expression data. |`--barcode_sample_assignment` |Path to a barcode-sample assignment CSV file that specifies the barcodes that belong to each sample. |`file` | -### Fixed RNA profiling paramaters +### Hashtag multiplexing parameters + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--hashtag_ids` |The hashtag IDs used to multiplex this sample. If multiple antibody hashtags were used for the same sample, you can separate IDs with a pipe. |List of `string`, multiple_sep: `";"` | + + +### On-chip multiplexing parameters + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--ocm_barcode_ids` |The OCM barcode IDs used to multiplex this sample. Must be one of OB1, OB2, OB3, OB4. If multiple OCM Barcodes were used for the same sample, you can separate IDs with a pipe (e.g., OB1|OB2). |List of `string`, multiple_sep: `";"` | + + +### Flex multiplexing paramaters -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--probe_set` |A probe set reference CSV file. It specifies the sequences used as a reference for probe alignment and the gene ID associated with each probe. It must include 4 columns (probe file format 1.0.0): gene_id,probe_seq,probe_id,included,region and an optional 5th column (probe file format 1.0.1). - gene_id: The Ensembl gene identifier targeted by the probe. - probe_seq: The nucleotide sequence of the probe, which is complementary to the transcript sequence. - probe_id: The probe identifier, whose format is described in Probe identifiers. - included: A TRUE or FALSE flag specifying whether the probe is included in the filtered counts matrix output or excluded by the probe filter. See filter-probes option of cellranger multi. All probes of a gene must be marked TRUE in the included column for that gene to be included. - region: Present only in v1.0.1 probe set reference CSV. The gene boundary targeted by the probe. Accepted values are spliced or unspliced. The file also contains a number of required metadata fields in the header in the format #key=value: - panel_name: The name of the probe set. - panel_type: Always predesigned for predesigned probe sets. - reference_genome: The reference genome build used for probe design. - reference_version: The version of the Cell Ranger reference transcriptome used for probe design. - probe_set_file_format: The version of the probe set file format specification that this file conforms to. |`file` | -|`--filter_probes` |If 'false', include all non-deprecated probes listed in the probe set reference CSV file. If 'true' or not set, probes that are predicted to have off-target activity to homologous genes are excluded from analysis. Not filtering will result in UMI counts from all non-deprecated probes, including those with predicted off-target activity, to be used in the analysis. Probes whose ID is prefixed with DEPRECATED are always excluded from the analysis. |`boolean` | -|`--probe_barcode_ids` |The Fixed RNA Probe Barcode ID used for this sample, and for multiplex GEX + Antibody Capture libraries, the corresponding Antibody Multiplexing Barcode IDs. 10x recommends specifying both barcodes (e.g., BC001+AB001) when an Antibody Capture library is present. The barcode pair order is BC+AB and they are separated with a "+" (no spaces). Alternatively, you can specify the Probe Barcode ID alone and Cell Ranger's barcode pairing auto-detection algorithm will automatically match to the corresponding Antibody Multiplexing Barcode. |List of `string`, multiple_sep: `";"` | +|`--probe_set` |A probe set reference CSV file. It specifies the sequences used as a reference for probe alignment and the gene ID associated with each probe. It must include 4 columns (probe file format 1.0.0): gene_id,probe_seq,probe_id,included,region and an optional 5th column (probe file format 1.0.1). - gene_id: The Ensembl gene identifier targeted by the probe. - probe_seq: The nucleotide sequence of the probe, which is complementary to the transcript sequence. - probe_id: The probe identifier, whose format is described in Probe identifiers. - included: A TRUE or FALSE flag specifying whether the probe is included in the filtered counts matrix output or excluded by the probe filter. See filter-probes option of cellranger multi. All probes of a gene must be marked TRUE in the included column for that gene to be included. - region: Present only in v1.0.1 probe set reference CSV. The gene boundary targeted by the probe. Accepted values are spliced or unspliced. The file also contains a number of required metadata fields in the header in the format #key=value: - panel_name: The name of the probe set. - panel_type: Always predesigned for predesigned probe sets. - reference_genome: The reference genome build used for probe design. - reference_version: The version of the Cell Ranger reference transcriptome used for probe design. - probe_set_file_format: The version of the probe set file format specification that this file conforms to. |`file` | +|`--filter_probes` |If 'false', include all non-deprecated probes listed in the probe set reference CSV file. If 'true' or not set, probes that are predicted to have off-target activity to homologous genes are excluded from analysis. Not filtering will result in UMI counts from all non-deprecated probes, including those with predicted off-target activity, to be used in the analysis. Probes whose ID is prefixed with DEPRECATED are always excluded from the analysis. |`boolean` | +|`--probe_barcode_ids` |The Fixed RNA Probe Barcode ID used for this sample, and for multiplex GEX + Antibody Capture libraries, the corresponding Antibody Multiplexing Barcode IDs. 10x recommends specifying both barcodes (e.g., BC001+AB001) when an Antibody Capture library is present. The barcode pair order is BC+AB and they are separated with a "+" (no spaces). Alternatively, you can specify the Probe Barcode ID alone and Cell Ranger's barcode pairing auto-detection algorithm will automatically match to the corresponding Antibody Multiplexing Barcode. |List of `string`, multiple_sep: `";"` | +|`--emptydrops_minimum_umis` |For singleplex Flex experiments, use this option to adjust the UMI cutoff during the second step of cell calling. Cell Ranger will still perform the full cell calling process but will only evaluate barcodes with UMIs above the threshold you specify. |`integer` | ### Antigen Capture (BEAM) libary arguments diff --git a/components/workflows/ingestion/cellranger_postprocessing.qmd b/components/workflows/ingestion/cellranger_postprocessing.qmd index c4bb38a2..b436b820 100644 --- a/components/workflows/ingestion/cellranger_postprocessing.qmd +++ b/components/workflows/ingestion/cellranger_postprocessing.qmd @@ -14,7 +14,7 @@ ID: `cellranger_postprocessing` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/cellranger_postprocessing/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/cellranger_postprocessing/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/cellranger_postprocessing/main.nf \ --help ``` @@ -65,7 +65,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/cellranger_postprocessing/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/conversion.qmd b/components/workflows/ingestion/conversion.qmd index ee03c240..ea070aff 100644 --- a/components/workflows/ingestion/conversion.qmd +++ b/components/workflows/ingestion/conversion.qmd @@ -14,7 +14,7 @@ ID: `conversion` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/conversion/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/conversion/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/conversion/main.nf \ --help ``` @@ -61,7 +61,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/conversion/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/demux.qmd b/components/workflows/ingestion/demux.qmd index c293fb4d..d3200529 100644 --- a/components/workflows/ingestion/demux.qmd +++ b/components/workflows/ingestion/demux.qmd @@ -14,7 +14,7 @@ ID: `demux` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/demux/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/demux/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -31,7 +31,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/demux/main.nf \ --help ``` @@ -59,7 +59,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/demux/main.nf \ -params-file params.yaml diff --git a/components/workflows/ingestion/make_reference.qmd b/components/workflows/ingestion/make_reference.qmd index 57a52ce1..cb78d3af 100644 --- a/components/workflows/ingestion/make_reference.qmd +++ b/components/workflows/ingestion/make_reference.qmd @@ -14,7 +14,7 @@ ID: `make_reference` Namespace: `workflows/ingestion` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/ingestion/make_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/ingestion/make_reference/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/ingestion/make_reference/main.nf \ --help ``` @@ -79,7 +79,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/ingestion/make_reference/main.nf \ -params-file params.yaml diff --git a/components/workflows/integration/bbknn_leiden.qmd b/components/workflows/integration/bbknn_leiden.qmd index 1bfb6184..c177f2bd 100644 --- a/components/workflows/integration/bbknn_leiden.qmd +++ b/components/workflows/integration/bbknn_leiden.qmd @@ -14,7 +14,7 @@ ID: `bbknn_leiden` Namespace: `workflows/integration` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/bbknn_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/bbknn_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/integration/bbknn_leiden/main.nf \ --help ``` @@ -76,7 +76,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/integration/bbknn_leiden/main.nf \ -params-file params.yaml diff --git a/components/workflows/integration/harmony_leiden.qmd b/components/workflows/integration/harmony_leiden.qmd index 4021245a..047d80f7 100644 --- a/components/workflows/integration/harmony_leiden.qmd +++ b/components/workflows/integration/harmony_leiden.qmd @@ -14,7 +14,7 @@ ID: `harmony_leiden` Namespace: `workflows/integration` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/harmony_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/harmony_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/integration/harmony_leiden/main.nf \ --help ``` @@ -41,13 +41,19 @@ nextflow run openpipelines-bio/openpipeline \ Example of `params.yaml` ```yaml # Inputs -id: # please fill in - example: "foo" -input: # please fill in - example: "dataset.h5mu" +# input: "dataset.h5mu" +# tiledb_input_uri: "s3://bucket/path" +# tiledb_s3_region: "us-west-2" +# tiledb_endpoint: "foo" +tiledb_s3_no_sign_request: false + +# Input slots layer: "log_normalized" modality: "rna" # Outputs # output: "$id.$key.output.h5mu" +# output_tiledb: "$id.$key.output_tiledb" # Neighbour calculation uns_neighbors: "harmonypy_integration_neighbors" @@ -77,7 +83,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/integration/harmony_leiden/main.nf \ -params-file params.yaml @@ -91,19 +97,29 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Inputs -|Name |Description |Attributes | +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--input` |Path to the sample. Mutually exclusive with the 'input_uri' argument. |`file`, example: `"dataset.h5mu"` | +|`--tiledb_input_uri` |A URI containing the TileDB-SOMA objects. Mutually exclusive with the 'input' argument. |`string`, example: `"s3://bucket/path"` | +|`--tiledb_s3_region` |Region where the TileDB-SOMA database is hosted. |`string`, example: `"us-west-2"` | +|`--tiledb_endpoint` |Custom endpoint to use to connect to S3 |`string` | +|`--tiledb_s3_no_sign_request` |Do not sign S3 requests. Credentials will not be loaded if this argument is provided. |`boolean`, default: `FALSE` | + + +### Input slots + +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Path to the sample. |`file`, required, example: `"dataset.h5mu"` | -|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string`, default: `"log_normalized"` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | +|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string`, default: `"log_normalized"` | +|`--modality` |Which modality to process. |`string`, default: `"rna"` | ### Outputs -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | +|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | +|`--output_tiledb` |Output the TileDB database to the specified directory instead of adding it to the existing database. |`file` | ### Neighbour calculation @@ -150,127 +166,178 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen flowchart TB v0(Channel.fromList) v2(filter) - v10(filter) - v18(harmonypy) - v25(cross) - v35(cross) - v41(filter) - v195(concat) - v50(filter) - v65(cross) - v75(cross) - v84(branch) - v111(concat) - v96(cross) - v106(cross) - v115(branch) - v142(concat) - v127(cross) - v137(cross) - v146(branch) - v173(concat) - v158(cross) - v168(cross) - v180(cross) + v14(branch) + v41(concat) + v19(from_tiledb_to_h5mu) + v26(cross) + v36(cross) + v42(filter) + v50(harmonypy) + v57(cross) + v67(cross) + v73(filter) + v82(filter) + v97(cross) + v107(cross) + v116(branch) + v143(concat) + v128(cross) + v138(cross) + v147(branch) + v174(concat) + v159(cross) + v169(cross) + v178(branch) + v205(concat) v190(cross) - v202(cross) - v209(cross) - v221(cross) - v228(cross) - v232(Output) + v200(cross) + v212(cross) + v222(cross) + v231(branch) + v258(concat) + v236(move_mudata_obsm_to_tiledb) + v243(cross) + v253(cross) + v262(branch) + v289(concat) + v267(move_mudata_obs_to_tiledb) + v274(cross) + v284(cross) + v296(cross) + v303(cross) + v315(cross) + v322(cross) + v326(Output) subgraph group_neighbors_leiden_umap [neighbors_leiden_umap] - v58(find_neighbors) - v89(leiden) - v120(move_obsm_to_obs) - v151(umap) + v90(find_neighbors) + v121(leiden) + v152(move_obsm_to_obs) + v183(umap) end - v84-->v111 - v115-->v142 - v146-->v173 + v14-->v41 + v41-->v42 + v116-->v143 + v147-->v174 + v178-->v205 + v231-->v258 + v262-->v289 v0-->v2 - v2-->v10 - v10-->v18 - v18-->v25 - v10-->v25 - v10-->v35 - v41-->v50 - v50-->v58 - v58-->v65 - v50-->v65 - v50-->v75 - v84-->v89 - v89-->v96 - v84-->v96 - v84-->v106 - v106-->v111 - v115-->v120 - v120-->v127 - v115-->v127 - v115-->v137 - v137-->v142 - v146-->v151 - v151-->v158 - v146-->v158 - v146-->v168 - v168-->v173 - v173-->v180 - v41-->v180 - v41-->v190 - v190-->v195 - v195-->v202 - v2-->v202 - v202-->v209 - v2-->v209 - v2-->v221 - v221-->v228 - v2-->v228 - v228-->v232 - v35-->v41 - v18-->v35 - v58-->v75 - v75-->v84 - v89-->v106 - v111-->v115 - v120-->v137 - v142-->v146 - v151-->v168 - v173-->v190 - v195-->v221 + v14-->v19 + v19-->v26 + v14-->v26 + v14-->v36 + v36-->v41 + v42-->v50 + v50-->v57 + v42-->v57 + v42-->v67 + v73-->v82 + v82-->v90 + v90-->v97 + v82-->v97 + v82-->v107 + v116-->v121 + v121-->v128 + v116-->v128 + v116-->v138 + v138-->v143 + v147-->v152 + v152-->v159 + v147-->v159 + v147-->v169 + v169-->v174 + v178-->v183 + v183-->v190 + v178-->v190 + v178-->v200 + v200-->v205 + v205-->v212 + v73-->v212 + v73-->v222 + v231-->v236 + v236-->v243 + v231-->v243 + v231-->v253 + v253-->v258 + v262-->v267 + v267-->v274 + v262-->v274 + v262-->v284 + v284-->v289 + v289-->v296 + v2-->v296 + v296-->v303 + v2-->v303 + v2-->v315 + v315-->v322 + v2-->v322 + v322-->v326 + v2-->v14 + v19-->v36 + v67-->v73 + v50-->v67 + v90-->v107 + v107-->v116 + v121-->v138 + v143-->v147 + v152-->v169 + v174-->v178 + v183-->v200 + v205-->v222 + v222-->v231 + v236-->v253 + v258-->v262 + v267-->v284 + v289-->v315 style group_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; style v0 fill:#e3dcea,stroke:#7a4baa; style v2 fill:#e3dcea,stroke:#7a4baa; - style v10 fill:#e3dcea,stroke:#7a4baa; - style v18 fill:#e3dcea,stroke:#7a4baa; - style v25 fill:#e3dcea,stroke:#7a4baa; - style v35 fill:#e3dcea,stroke:#7a4baa; + style v14 fill:#e3dcea,stroke:#7a4baa; style v41 fill:#e3dcea,stroke:#7a4baa; - style v195 fill:#e3dcea,stroke:#7a4baa; + style v19 fill:#e3dcea,stroke:#7a4baa; + style v26 fill:#e3dcea,stroke:#7a4baa; + style v36 fill:#e3dcea,stroke:#7a4baa; + style v42 fill:#e3dcea,stroke:#7a4baa; style v50 fill:#e3dcea,stroke:#7a4baa; - style v58 fill:#e3dcea,stroke:#7a4baa; - style v65 fill:#e3dcea,stroke:#7a4baa; - style v75 fill:#e3dcea,stroke:#7a4baa; - style v84 fill:#e3dcea,stroke:#7a4baa; - style v111 fill:#e3dcea,stroke:#7a4baa; - style v89 fill:#e3dcea,stroke:#7a4baa; - style v96 fill:#e3dcea,stroke:#7a4baa; - style v106 fill:#e3dcea,stroke:#7a4baa; - style v115 fill:#e3dcea,stroke:#7a4baa; - style v142 fill:#e3dcea,stroke:#7a4baa; - style v120 fill:#e3dcea,stroke:#7a4baa; - style v127 fill:#e3dcea,stroke:#7a4baa; - style v137 fill:#e3dcea,stroke:#7a4baa; - style v146 fill:#e3dcea,stroke:#7a4baa; - style v173 fill:#e3dcea,stroke:#7a4baa; - style v151 fill:#e3dcea,stroke:#7a4baa; - style v158 fill:#e3dcea,stroke:#7a4baa; - style v168 fill:#e3dcea,stroke:#7a4baa; - style v180 fill:#e3dcea,stroke:#7a4baa; + style v57 fill:#e3dcea,stroke:#7a4baa; + style v67 fill:#e3dcea,stroke:#7a4baa; + style v73 fill:#e3dcea,stroke:#7a4baa; + style v82 fill:#e3dcea,stroke:#7a4baa; + style v90 fill:#e3dcea,stroke:#7a4baa; + style v97 fill:#e3dcea,stroke:#7a4baa; + style v107 fill:#e3dcea,stroke:#7a4baa; + style v116 fill:#e3dcea,stroke:#7a4baa; + style v143 fill:#e3dcea,stroke:#7a4baa; + style v121 fill:#e3dcea,stroke:#7a4baa; + style v128 fill:#e3dcea,stroke:#7a4baa; + style v138 fill:#e3dcea,stroke:#7a4baa; + style v147 fill:#e3dcea,stroke:#7a4baa; + style v174 fill:#e3dcea,stroke:#7a4baa; + style v152 fill:#e3dcea,stroke:#7a4baa; + style v159 fill:#e3dcea,stroke:#7a4baa; + style v169 fill:#e3dcea,stroke:#7a4baa; + style v178 fill:#e3dcea,stroke:#7a4baa; + style v205 fill:#e3dcea,stroke:#7a4baa; + style v183 fill:#e3dcea,stroke:#7a4baa; style v190 fill:#e3dcea,stroke:#7a4baa; - style v202 fill:#e3dcea,stroke:#7a4baa; - style v209 fill:#e3dcea,stroke:#7a4baa; - style v221 fill:#e3dcea,stroke:#7a4baa; - style v228 fill:#e3dcea,stroke:#7a4baa; - style v232 fill:#e3dcea,stroke:#7a4baa; + style v200 fill:#e3dcea,stroke:#7a4baa; + style v212 fill:#e3dcea,stroke:#7a4baa; + style v222 fill:#e3dcea,stroke:#7a4baa; + style v231 fill:#e3dcea,stroke:#7a4baa; + style v258 fill:#e3dcea,stroke:#7a4baa; + style v236 fill:#e3dcea,stroke:#7a4baa; + style v243 fill:#e3dcea,stroke:#7a4baa; + style v253 fill:#e3dcea,stroke:#7a4baa; + style v262 fill:#e3dcea,stroke:#7a4baa; + style v289 fill:#e3dcea,stroke:#7a4baa; + style v267 fill:#e3dcea,stroke:#7a4baa; + style v274 fill:#e3dcea,stroke:#7a4baa; + style v284 fill:#e3dcea,stroke:#7a4baa; + style v296 fill:#e3dcea,stroke:#7a4baa; + style v303 fill:#e3dcea,stroke:#7a4baa; + style v315 fill:#e3dcea,stroke:#7a4baa; + style v322 fill:#e3dcea,stroke:#7a4baa; + style v326 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/integration/scanorama_leiden.qmd b/components/workflows/integration/scanorama_leiden.qmd index 40542caa..49f937a3 100644 --- a/components/workflows/integration/scanorama_leiden.qmd +++ b/components/workflows/integration/scanorama_leiden.qmd @@ -14,7 +14,7 @@ ID: `scanorama_leiden` Namespace: `workflows/integration` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/scanorama_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/scanorama_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/integration/scanorama_leiden/main.nf \ --help ``` @@ -81,7 +81,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/integration/scanorama_leiden/main.nf \ -params-file params.yaml diff --git a/components/workflows/integration/scgpt_leiden.qmd b/components/workflows/integration/scgpt_leiden.qmd deleted file mode 100644 index 519270d7..00000000 --- a/components/workflows/integration/scgpt_leiden.qmd +++ /dev/null @@ -1,374 +0,0 @@ ---- -title: "Scgpt leiden" -namespace: "Workflows/integration" -description: "Run scGPT integration (cell embedding generation) followed by neighbour calculations, leiden clustering and run umap on the result." -type: "workflow" -toc: false ---- - -::: {.column-margin} - -### Info - -ID: `scgpt_leiden` -Namespace: `workflows/integration` - -### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/scgpt_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} - -::: - - - -## Example commands - -You can run the pipeline using `nextflow run`. - -### View help - -You can use `--help` as a parameter to get an overview of the possible parameters. - -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/workflows/integration/scgpt_leiden/main.nf \ - --help -``` - -### Run command - -
-Example of `params.yaml` -```yaml -# Inputs -id: # please fill in - example: "foo" -input: # please fill in - example: "input.h5mu" -modality: "rna" -# input_layer: "foo" -# var_gene_names: "foo" -# obs_batch_label: "foo" - -# Model -model: # please fill in - example: "resources_test/scgpt/best_model.pt" -model_vocab: # please fill in - example: "resources_test/scgpt/vocab.json" -model_config: # please fill in - example: "args.json" -# finetuned_checkpoints_key: "model_state_dict" - -# Outputs -# output: "$id.$key.output.h5mu" -obsm_integrated: "X_scgpt" - -# Padding arguments -pad_token: "" -pad_value: -2 - -# HVG subset arguments -n_hvg: 1200 -hvg_flavor: "cell_ranger" - -# Tokenization arguments -# max_seq_len: 123 - -# Embedding arguments -dsbn: true -batch_size: 64 - -# Binning arguments -n_input_bins: 51 -# seed: 123 - -# Clustering arguments -leiden_resolution: [1.0] - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments -``` -
- -```bash -nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -profile docker \ - -main-script target/nextflow/workflows/integration/scgpt_leiden/main.nf \ - -params-file params.yaml -``` - -:::{.callout-note} -Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. -::: - -## Argument groups - -### Inputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Path to the input file. |`file`, required, example: `"input.h5mu"` | -|`--modality` | |`string`, default: `"rna"` | -|`--input_layer` |The layer of the input dataset to process if .X is not to be used. Should contain log normalized counts. |`string` | -|`--var_gene_names` |The name of the adata var column containing gene names; when no gene_name_layer is provided, the var index will be used. |`string` | -|`--obs_batch_label` |The name of the adata obs column containing the batch labels. |`string` | - - -### Model - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--model` |Path to scGPT model file. |`file`, required, example: `"resources_test/scgpt/best_model.pt"` | -|`--model_vocab` |Path to scGPT model vocabulary file. |`file`, required, example: `"resources_test/scgpt/vocab.json"` | -|`--model_config` |Path to scGPT model config file. |`file`, required, example: `"args.json"` | -|`--finetuned_checkpoints_key` |Key in the model file containing the pretrained checkpoints. Only relevant for fine-tuned models. |`string`, example: `"model_state_dict"` | - - -### Outputs - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Output file path |`file`, required, example: `"output.h5mu"` | -|`--obsm_integrated` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_scgpt"` | - - -### Padding arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--pad_token` |Token used for padding. |`string`, default: `""` | -|`--pad_value` |The value of the padding token. |`integer`, default: `-2` | - - -### HVG subset arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_hvg` |Number of highly variable genes to subset for. |`integer`, default: `1200` | -|`--hvg_flavor` |Method to be used for identifying highly variable genes. Note that the default for this workflow (`cell_ranger`) is not the default method for scanpy hvg detection (`seurat`). |`string`, default: `"cell_ranger"` | - - -### Tokenization arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--max_seq_len` |The maximum sequence length of the tokenized data. Defaults to the number of features if not provided. |`integer` | - - -### Embedding arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--dsbn` |Apply domain-specific batch normalization |`boolean`, default: `TRUE` | -|`--batch_size` |The batch size to be used for embedding inference. |`integer`, default: `64` | - - -### Binning arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--n_input_bins` |The number of bins to discretize the data into; When no value is provided, data won't be binned. |`integer`, default: `51` | -|`--seed` |Seed for random number generation used for binning. If not set, no seed is used. |`integer` | - - -### Clustering arguments - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | - -## Authors - - - * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (maintainer, author) - - * Elizabeth Mlynarski (author) - - * Weiwei Schultz (contributor) - -## Visualisation - -```{mermaid} -flowchart TB - v0(Channel.fromList) - v2(filter) - v10(filter) - v18(highly_variable_features_scanpy) - v25(cross) - v35(cross) - v41(filter) - v49(cross_check_genes) - v56(cross) - v66(cross) - v72(filter) - v80(binning) - v87(cross) - v97(cross) - v103(filter) - v111(pad_tokenize) - v118(cross) - v128(cross) - v134(filter) - v142(embedding) - v149(cross) - v159(cross) - v165(filter) - v319(concat) - v174(filter) - v189(cross) - v199(cross) - v208(branch) - v235(concat) - v220(cross) - v230(cross) - v239(branch) - v266(concat) - v251(cross) - v261(cross) - v270(branch) - v297(concat) - v282(cross) - v292(cross) - v304(cross) - v314(cross) - v326(cross) - v333(cross) - v345(cross) - v352(cross) - v356(Output) - subgraph group_neighbors_leiden_umap [neighbors_leiden_umap] - v182(find_neighbors) - v213(leiden) - v244(move_obsm_to_obs) - v275(umap) - end - v208-->v235 - v239-->v266 - v270-->v297 - v0-->v2 - v2-->v10 - v10-->v18 - v18-->v25 - v10-->v25 - v10-->v35 - v41-->v49 - v49-->v56 - v41-->v56 - v41-->v66 - v72-->v80 - v80-->v87 - v72-->v87 - v72-->v97 - v103-->v111 - v111-->v118 - v103-->v118 - v103-->v128 - v134-->v142 - v142-->v149 - v134-->v149 - v134-->v159 - v165-->v174 - v174-->v182 - v182-->v189 - v174-->v189 - v174-->v199 - v208-->v213 - v213-->v220 - v208-->v220 - v208-->v230 - v230-->v235 - v239-->v244 - v244-->v251 - v239-->v251 - v239-->v261 - v261-->v266 - v270-->v275 - v275-->v282 - v270-->v282 - v270-->v292 - v292-->v297 - v297-->v304 - v165-->v304 - v165-->v314 - v314-->v319 - v319-->v326 - v2-->v326 - v326-->v333 - v2-->v333 - v2-->v345 - v345-->v352 - v2-->v352 - v352-->v356 - v35-->v41 - v18-->v35 - v66-->v72 - v49-->v66 - v97-->v103 - v80-->v97 - v128-->v134 - v111-->v128 - v159-->v165 - v142-->v159 - v182-->v199 - v199-->v208 - v213-->v230 - v235-->v239 - v244-->v261 - v266-->v270 - v275-->v292 - v297-->v314 - v319-->v345 - style group_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; - style v0 fill:#e3dcea,stroke:#7a4baa; - style v2 fill:#e3dcea,stroke:#7a4baa; - style v10 fill:#e3dcea,stroke:#7a4baa; - style v18 fill:#e3dcea,stroke:#7a4baa; - style v25 fill:#e3dcea,stroke:#7a4baa; - style v35 fill:#e3dcea,stroke:#7a4baa; - style v41 fill:#e3dcea,stroke:#7a4baa; - style v49 fill:#e3dcea,stroke:#7a4baa; - style v56 fill:#e3dcea,stroke:#7a4baa; - style v66 fill:#e3dcea,stroke:#7a4baa; - style v72 fill:#e3dcea,stroke:#7a4baa; - style v80 fill:#e3dcea,stroke:#7a4baa; - style v87 fill:#e3dcea,stroke:#7a4baa; - style v97 fill:#e3dcea,stroke:#7a4baa; - style v103 fill:#e3dcea,stroke:#7a4baa; - style v111 fill:#e3dcea,stroke:#7a4baa; - style v118 fill:#e3dcea,stroke:#7a4baa; - style v128 fill:#e3dcea,stroke:#7a4baa; - style v134 fill:#e3dcea,stroke:#7a4baa; - style v142 fill:#e3dcea,stroke:#7a4baa; - style v149 fill:#e3dcea,stroke:#7a4baa; - style v159 fill:#e3dcea,stroke:#7a4baa; - style v165 fill:#e3dcea,stroke:#7a4baa; - style v319 fill:#e3dcea,stroke:#7a4baa; - style v174 fill:#e3dcea,stroke:#7a4baa; - style v182 fill:#e3dcea,stroke:#7a4baa; - style v189 fill:#e3dcea,stroke:#7a4baa; - style v199 fill:#e3dcea,stroke:#7a4baa; - style v208 fill:#e3dcea,stroke:#7a4baa; - style v235 fill:#e3dcea,stroke:#7a4baa; - style v213 fill:#e3dcea,stroke:#7a4baa; - style v220 fill:#e3dcea,stroke:#7a4baa; - style v230 fill:#e3dcea,stroke:#7a4baa; - style v239 fill:#e3dcea,stroke:#7a4baa; - style v266 fill:#e3dcea,stroke:#7a4baa; - style v244 fill:#e3dcea,stroke:#7a4baa; - style v251 fill:#e3dcea,stroke:#7a4baa; - style v261 fill:#e3dcea,stroke:#7a4baa; - style v270 fill:#e3dcea,stroke:#7a4baa; - style v297 fill:#e3dcea,stroke:#7a4baa; - style v275 fill:#e3dcea,stroke:#7a4baa; - style v282 fill:#e3dcea,stroke:#7a4baa; - style v292 fill:#e3dcea,stroke:#7a4baa; - style v304 fill:#e3dcea,stroke:#7a4baa; - style v314 fill:#e3dcea,stroke:#7a4baa; - style v326 fill:#e3dcea,stroke:#7a4baa; - style v333 fill:#e3dcea,stroke:#7a4baa; - style v345 fill:#e3dcea,stroke:#7a4baa; - style v352 fill:#e3dcea,stroke:#7a4baa; - style v356 fill:#e3dcea,stroke:#7a4baa; - -``` - diff --git a/components/workflows/integration/scvi_leiden.qmd b/components/workflows/integration/scvi_leiden.qmd index 7e8c8fca..b6f6394d 100644 --- a/components/workflows/integration/scvi_leiden.qmd +++ b/components/workflows/integration/scvi_leiden.qmd @@ -14,7 +14,7 @@ ID: `scvi_leiden` Namespace: `workflows/integration` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/scvi_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/scvi_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/integration/scvi_leiden/main.nf \ --help ``` @@ -41,14 +41,21 @@ nextflow run openpipelines-bio/openpipeline \ Example of `params.yaml` ```yaml # Inputs -id: # please fill in - example: "foo" -input: # please fill in - example: "dataset.h5mu" +# input: "dataset.h5mu" +# tiledb_input_uri: "s3://bucket/path" +# tiledb_s3_region: "us-west-2" +# tiledb_endpoint: "foo" +tiledb_s3_no_sign_request: false + +# Input slots # layer: "foo" modality: "rna" +sanitize_ensembl_ids: true # Outputs # output: "$id.$key.output.h5mu" # output_model: "$id.$key.output_model" +# output_tiledb: "$id.$key.output_tiledb" # Neighbour calculation uns_neighbors: "scvi_integration_neighbors" @@ -57,6 +64,9 @@ obsp_neighbor_connectivities: "scvi_integration_connectivities" # Scvi integration options obs_batch: # please fill in - example: "foo" +# obs_size_factor: "foo" +# obs_categorical_covariate: ["foo"] +# obs_continuous_covariate: ["foo"] obsm_output: "X_scvi_integrated" # var_input: "foo" # early_stopping: true @@ -85,7 +95,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/integration/scvi_leiden/main.nf \ -params-file params.yaml @@ -99,20 +109,31 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Inputs -|Name |Description |Attributes | +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--input` |Path to the sample. Mutually exclusive with the 'input_uri' argument. |`file`, example: `"dataset.h5mu"` | +|`--tiledb_input_uri` |A URI containing the TileDB-SOMA objects. Mutually exclusive with the 'input' argument. |`string`, example: `"s3://bucket/path"` | +|`--tiledb_s3_region` |Region where the TileDB-SOMA database is hosted. |`string`, example: `"us-west-2"` | +|`--tiledb_endpoint` |Custom endpoint to use to connect to S3 |`string` | +|`--tiledb_s3_no_sign_request` |Do not sign S3 requests. Credentials will not be loaded if this argument is provided. |`boolean`, default: `FALSE` | + + +### Input slots + +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Path to the sample. |`file`, required, example: `"dataset.h5mu"` | -|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | +|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string` | +|`--modality` |Which modality to process. |`string`, default: `"rna"` | +|`--sanitize_ensembl_ids` |Whether to sanitize ensembl ids by removing version numbers. |`boolean`, default: `TRUE` | ### Outputs -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | -|`--output_model` |Folder where the state of the trained model will be saved to. |`file`, required, example: `"output_dir"` | +|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | +|`--output_model` |Folder where the state of the trained model will be saved to. |`file`, required, example: `"output_dir"` | +|`--output_tiledb` |Output the TileDB database to the specified directory instead of adding it to the existing database. |`file` | ### Neighbour calculation @@ -126,19 +147,22 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Scvi integration options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--obs_batch` |Column name discriminating between your batches. |`string`, required | -|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_scvi_integrated"` | -|`--var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | -|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean` | -|`--early_stopping_monitor` |Metric logged during validation set epoch. |`string`, default: `"elbo_validation"` | -|`--early_stopping_patience` |Number of validation epochs with no improvement after which training will be stopped. |`integer`, default: `45` | -|`--early_stopping_min_delta` |Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |`double`, default: `0` | -|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | -|`--reduce_lr_on_plateau` |Whether to monitor validation loss and reduce learning rate when validation set `lr_scheduler_metric` plateaus. |`boolean`, default: `TRUE` | -|`--lr_factor` |Factor to reduce learning rate. |`double`, default: `0.6` | -|`--lr_patience` |Number of epochs with no improvement after which learning rate will be reduced. |`double`, default: `30` | +|`--obs_batch` |Column name discriminating between your batches. |`string`, required | +|`--obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | +|`--obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--obsm_output` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_scvi_integrated"` | +|`--var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | +|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean` | +|`--early_stopping_monitor` |Metric logged during validation set epoch. |`string`, default: `"elbo_validation"` | +|`--early_stopping_patience` |Number of validation epochs with no improvement after which training will be stopped. |`integer`, default: `45` | +|`--early_stopping_min_delta` |Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |`double`, default: `0` | +|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | +|`--reduce_lr_on_plateau` |Whether to monitor validation loss and reduce learning rate when validation set `lr_scheduler_metric` plateaus. |`boolean`, default: `TRUE` | +|`--lr_factor` |Factor to reduce learning rate. |`double`, default: `0.6` | +|`--lr_patience` |Number of epochs with no improvement after which learning rate will be reduced. |`double`, default: `30` | ### Clustering options @@ -166,127 +190,178 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen flowchart TB v0(Channel.fromList) v2(filter) - v10(filter) - v18(scvi) - v25(cross) - v35(cross) - v41(filter) - v195(concat) - v50(filter) - v65(cross) - v75(cross) - v84(branch) - v111(concat) - v96(cross) - v106(cross) - v115(branch) - v142(concat) - v127(cross) - v137(cross) - v146(branch) - v173(concat) - v158(cross) - v168(cross) - v180(cross) + v14(branch) + v41(concat) + v19(from_tiledb_to_h5mu) + v26(cross) + v36(cross) + v42(filter) + v50(scvi) + v57(cross) + v67(cross) + v73(filter) + v82(filter) + v97(cross) + v107(cross) + v116(branch) + v143(concat) + v128(cross) + v138(cross) + v147(branch) + v174(concat) + v159(cross) + v169(cross) + v178(branch) + v205(concat) v190(cross) - v202(cross) - v209(cross) - v221(cross) - v228(cross) - v232(Output) + v200(cross) + v212(cross) + v222(cross) + v231(branch) + v258(concat) + v236(move_mudata_obsm_to_tiledb) + v243(cross) + v253(cross) + v262(branch) + v289(concat) + v267(move_mudata_obs_to_tiledb) + v274(cross) + v284(cross) + v296(cross) + v303(cross) + v315(cross) + v322(cross) + v326(Output) subgraph group_neighbors_leiden_umap [neighbors_leiden_umap] - v58(find_neighbors) - v89(leiden) - v120(move_obsm_to_obs) - v151(umap) + v90(find_neighbors) + v121(leiden) + v152(move_obsm_to_obs) + v183(umap) end - v84-->v111 - v115-->v142 - v146-->v173 + v14-->v41 + v41-->v42 + v116-->v143 + v147-->v174 + v178-->v205 + v231-->v258 + v262-->v289 v0-->v2 - v2-->v10 - v10-->v18 - v18-->v25 - v10-->v25 - v10-->v35 - v41-->v50 - v50-->v58 - v58-->v65 - v50-->v65 - v50-->v75 - v84-->v89 - v89-->v96 - v84-->v96 - v84-->v106 - v106-->v111 - v115-->v120 - v120-->v127 - v115-->v127 - v115-->v137 - v137-->v142 - v146-->v151 - v151-->v158 - v146-->v158 - v146-->v168 - v168-->v173 - v173-->v180 - v41-->v180 - v41-->v190 - v190-->v195 - v195-->v202 - v2-->v202 - v202-->v209 - v2-->v209 - v2-->v221 - v221-->v228 - v2-->v228 - v228-->v232 - v35-->v41 - v18-->v35 - v58-->v75 - v75-->v84 - v89-->v106 - v111-->v115 - v120-->v137 - v142-->v146 - v151-->v168 - v173-->v190 - v195-->v221 + v14-->v19 + v19-->v26 + v14-->v26 + v14-->v36 + v36-->v41 + v42-->v50 + v50-->v57 + v42-->v57 + v42-->v67 + v73-->v82 + v82-->v90 + v90-->v97 + v82-->v97 + v82-->v107 + v116-->v121 + v121-->v128 + v116-->v128 + v116-->v138 + v138-->v143 + v147-->v152 + v152-->v159 + v147-->v159 + v147-->v169 + v169-->v174 + v178-->v183 + v183-->v190 + v178-->v190 + v178-->v200 + v200-->v205 + v205-->v212 + v73-->v212 + v73-->v222 + v231-->v236 + v236-->v243 + v231-->v243 + v231-->v253 + v253-->v258 + v262-->v267 + v267-->v274 + v262-->v274 + v262-->v284 + v284-->v289 + v289-->v296 + v2-->v296 + v296-->v303 + v2-->v303 + v2-->v315 + v315-->v322 + v2-->v322 + v322-->v326 + v2-->v14 + v19-->v36 + v67-->v73 + v50-->v67 + v90-->v107 + v107-->v116 + v121-->v138 + v143-->v147 + v152-->v169 + v174-->v178 + v183-->v200 + v205-->v222 + v222-->v231 + v236-->v253 + v258-->v262 + v267-->v284 + v289-->v315 style group_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; style v0 fill:#e3dcea,stroke:#7a4baa; style v2 fill:#e3dcea,stroke:#7a4baa; - style v10 fill:#e3dcea,stroke:#7a4baa; - style v18 fill:#e3dcea,stroke:#7a4baa; - style v25 fill:#e3dcea,stroke:#7a4baa; - style v35 fill:#e3dcea,stroke:#7a4baa; + style v14 fill:#e3dcea,stroke:#7a4baa; style v41 fill:#e3dcea,stroke:#7a4baa; - style v195 fill:#e3dcea,stroke:#7a4baa; + style v19 fill:#e3dcea,stroke:#7a4baa; + style v26 fill:#e3dcea,stroke:#7a4baa; + style v36 fill:#e3dcea,stroke:#7a4baa; + style v42 fill:#e3dcea,stroke:#7a4baa; style v50 fill:#e3dcea,stroke:#7a4baa; - style v58 fill:#e3dcea,stroke:#7a4baa; - style v65 fill:#e3dcea,stroke:#7a4baa; - style v75 fill:#e3dcea,stroke:#7a4baa; - style v84 fill:#e3dcea,stroke:#7a4baa; - style v111 fill:#e3dcea,stroke:#7a4baa; - style v89 fill:#e3dcea,stroke:#7a4baa; - style v96 fill:#e3dcea,stroke:#7a4baa; - style v106 fill:#e3dcea,stroke:#7a4baa; - style v115 fill:#e3dcea,stroke:#7a4baa; - style v142 fill:#e3dcea,stroke:#7a4baa; - style v120 fill:#e3dcea,stroke:#7a4baa; - style v127 fill:#e3dcea,stroke:#7a4baa; - style v137 fill:#e3dcea,stroke:#7a4baa; - style v146 fill:#e3dcea,stroke:#7a4baa; - style v173 fill:#e3dcea,stroke:#7a4baa; - style v151 fill:#e3dcea,stroke:#7a4baa; - style v158 fill:#e3dcea,stroke:#7a4baa; - style v168 fill:#e3dcea,stroke:#7a4baa; - style v180 fill:#e3dcea,stroke:#7a4baa; + style v57 fill:#e3dcea,stroke:#7a4baa; + style v67 fill:#e3dcea,stroke:#7a4baa; + style v73 fill:#e3dcea,stroke:#7a4baa; + style v82 fill:#e3dcea,stroke:#7a4baa; + style v90 fill:#e3dcea,stroke:#7a4baa; + style v97 fill:#e3dcea,stroke:#7a4baa; + style v107 fill:#e3dcea,stroke:#7a4baa; + style v116 fill:#e3dcea,stroke:#7a4baa; + style v143 fill:#e3dcea,stroke:#7a4baa; + style v121 fill:#e3dcea,stroke:#7a4baa; + style v128 fill:#e3dcea,stroke:#7a4baa; + style v138 fill:#e3dcea,stroke:#7a4baa; + style v147 fill:#e3dcea,stroke:#7a4baa; + style v174 fill:#e3dcea,stroke:#7a4baa; + style v152 fill:#e3dcea,stroke:#7a4baa; + style v159 fill:#e3dcea,stroke:#7a4baa; + style v169 fill:#e3dcea,stroke:#7a4baa; + style v178 fill:#e3dcea,stroke:#7a4baa; + style v205 fill:#e3dcea,stroke:#7a4baa; + style v183 fill:#e3dcea,stroke:#7a4baa; style v190 fill:#e3dcea,stroke:#7a4baa; - style v202 fill:#e3dcea,stroke:#7a4baa; - style v209 fill:#e3dcea,stroke:#7a4baa; - style v221 fill:#e3dcea,stroke:#7a4baa; - style v228 fill:#e3dcea,stroke:#7a4baa; - style v232 fill:#e3dcea,stroke:#7a4baa; + style v200 fill:#e3dcea,stroke:#7a4baa; + style v212 fill:#e3dcea,stroke:#7a4baa; + style v222 fill:#e3dcea,stroke:#7a4baa; + style v231 fill:#e3dcea,stroke:#7a4baa; + style v258 fill:#e3dcea,stroke:#7a4baa; + style v236 fill:#e3dcea,stroke:#7a4baa; + style v243 fill:#e3dcea,stroke:#7a4baa; + style v253 fill:#e3dcea,stroke:#7a4baa; + style v262 fill:#e3dcea,stroke:#7a4baa; + style v289 fill:#e3dcea,stroke:#7a4baa; + style v267 fill:#e3dcea,stroke:#7a4baa; + style v274 fill:#e3dcea,stroke:#7a4baa; + style v284 fill:#e3dcea,stroke:#7a4baa; + style v296 fill:#e3dcea,stroke:#7a4baa; + style v303 fill:#e3dcea,stroke:#7a4baa; + style v315 fill:#e3dcea,stroke:#7a4baa; + style v322 fill:#e3dcea,stroke:#7a4baa; + style v326 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/integration/totalvi_leiden.qmd b/components/workflows/integration/totalvi_leiden.qmd index e75bfeff..52fab84c 100644 --- a/components/workflows/integration/totalvi_leiden.qmd +++ b/components/workflows/integration/totalvi_leiden.qmd @@ -1,7 +1,7 @@ --- -title: "Totalvi leiden" +title: "totalVI Leiden" namespace: "Workflows/integration" -description: "Run totalVI integration followed by neighbour calculations, leiden clustering and run umap on the result." +description: "Run totalVI integration, followed by neighbour calculations, leiden clustering and UMAP." type: "workflow" toc: false --- @@ -14,7 +14,7 @@ ID: `totalvi_leiden` Namespace: `workflows/integration` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/integration/totalvi_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/totalvi_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/integration/totalvi_leiden/main.nf \ --help ``` @@ -42,50 +42,40 @@ nextflow run openpipelines-bio/openpipeline \ ```yaml # Inputs id: # please fill in - example: "foo" -input: # please fill in - example: "dataset.h5mu" -# layer: "foo" -modality: "rna" +input: # please fill in - example: "input.h5mu" +rna_modality: "rna" prot_modality: "prot" -reference: # please fill in - example: "path/to/file" - -# Outputs -# output: "$id.$key.output.h5mu" -# reference_model_path: "totalvi_model_reference" -# query_model_path: "totalvi_model_query" - -# General TotalVI Options +# input_layer_rna: "foo" +# input_layer_protein: "foo" obs_batch: "sample_id" -max_epochs: 400 -max_query_epochs: 200 -weight_decay: 0.0 -force_retrain: false +# obs_size_factor: "foo" +# obs_categorical_covariate: ["foo"] +# obs_continuous_covariate: ["foo"] +# var_gene_names: "foo" +# var_protein_names: "foo" # var_input: "foo" -# TotalVI integration options RNA -rna_reference_modality: "rna" -rna_obsm_output: "X_totalvi" - -# TotalVI integration options ADT -prot_reference_modality: "prot" -prot_obsm_output: "X_totalvi" +# Outputs +# output: "$id.$key.output.h5mu" +# output_model: "totalvi_model_reference" -# Neighbour calculation RNA -rna_uns_neighbors: "totalvi_integration_neighbors" -rna_obsp_neighbor_distances: "totalvi_integration_distances" -rna_obsp_neighbor_connectivities: "totalvi_integration_connectivities" +# TotalVI Training Options +# max_epochs: 123 +early_stopping: true -# Neighbour calculation ADT -prot_uns_neighbors: "totalvi_integration_neighbors" -prot_obsp_neighbor_distances: "totalvi_integration_distances" -prot_obsp_neighbor_connectivities: "totalvi_integration_connectivities" +# TotalVI Integration Options +obsm_integrated: "X_integrated_totalvi" +obsm_normalized_rna_output: "X_totalvi_normalized_rna" +obsm_normalized_protein_output: "X_totalvi_normalized_protein" -# Clustering options RNA -rna_obs_cluster: "totalvi_integration_leiden" -rna_leiden_resolution: [1.0] +# Neighbour calculation +uns_neighbors: "totalvi_integration_neighbors" +obsp_neighbor_distances: "totalvi_integration_distances" +obsp_neighbor_connectivities: "totalvi_integration_connectivities" -# Clustering options ADT -prot_obs_cluster: "totalvi_integration_leiden" -prot_leiden_resolution: [1.0] +# Clustering options +obs_cluster: "totalvi_integration_leiden" +leiden_resolution: [1.0] # Umap options obsm_umap: "X_totalvi_umap" @@ -100,7 +90,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/integration/totalvi_leiden/main.nf \ -params-file params.yaml @@ -114,85 +104,63 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Inputs -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--id` |ID of the sample. |`string`, required, example: `"foo"` | -|`--input` |Path to the sample. |`file`, required, example: `"dataset.h5mu"` | -|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string` | -|`--modality` |Which modality to process. |`string`, default: `"rna"` | -|`--prot_modality` |Which modality to process. |`string`, default: `"prot"` | -|`--reference` |Input h5mu file with reference data to train the TOTALVI model. |`file`, required | +|`--id` |ID of the sample. |`string`, required, example: `"foo"` | +|`--input` |Input h5mu file to be integrated. |`file`, required, example: `"input.h5mu"` | +|`--rna_modality` | |`string`, default: `"rna"` | +|`--prot_modality` |Name of the modality in the input (query) h5mu file containing protein data |`string`, default: `"prot"` | +|`--input_layer_rna` |Input layer to use from the rna modality for gene counts. If None, X is used |`string` | +|`--input_layer_protein` |Input layer to use from the protein modality for protein counts. If None, X is used |`string` | +|`--obs_batch` |Column name discriminating between your batches. |`string`, default: `"sample_id"` | +|`--obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | +|`--obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--var_gene_names` |.var column in the rna modality containing gene names. By default, use mod['rna'].var_names. |`string` | +|`--var_protein_names` |.var column in the protein modality containing protein names. By default, use mod['prot'].var_names. |`string` | +|`--var_input` |.var column containing highly variable genes. By default, do not subset genes. |`string` | ### Outputs -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | -|`--reference_model_path` |Directory with the reference model. If not exists, trained model will be saved there |`file`, default: `"totalvi_model_reference"` | -|`--query_model_path` |Directory, where the query model will be saved |`file`, default: `"totalvi_model_query"` | - - -### General TotalVI Options - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--obs_batch` |.Obs column name discriminating between your batches. |`string`, default: `"sample_id"` | -|`--max_epochs` |Number of passes through the dataset |`integer`, default: `400` | -|`--max_query_epochs` |Number of passes through the dataset, when fine-tuning model for query |`integer`, default: `200` | -|`--weight_decay` |Weight decay, when fine-tuning model for query |`double`, default: `0` | -|`--force_retrain` |If true, retrain the model and save it to reference_model_path |`boolean_true` | -|`--var_input` |Boolean .var column to subset data with (e.g. containing highly variable genes). By default, do not subset genes. |`string` | - - -### TotalVI integration options RNA - -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--rna_reference_modality` | |`string`, default: `"rna"` | -|`--rna_obsm_output` |In which .obsm slot to store the normalized RNA from TOTALVI. |`string`, default: `"X_totalvi"` | +|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | +|`--output_model` |Directory where the trained reference model will be stored. |`file`, default: `"totalvi_model_reference"` | -### TotalVI integration options ADT +### TotalVI Training Options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--prot_reference_modality` |Name of the modality containing proteins in the reference |`string`, default: `"prot"` | -|`--prot_obsm_output` |In which .obsm slot to store the normalized protein data from TOTALVI. |`string`, default: `"X_totalvi"` | +|`--max_epochs` |Number of passes through the dataset, defaults to (20000 / number of cells) * 400 or 400; whichever is smallest. |`integer` | +|`--early_stopping` |Whether to perform early stopping with respect to the validation set. |`boolean`, default: `TRUE` | -### Neighbour calculation RNA +### TotalVI Integration Options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--rna_uns_neighbors` |In which .uns slot to store various neighbor output objects. |`string`, default: `"totalvi_integration_neighbors"` | -|`--rna_obsp_neighbor_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_distances"` | -|`--rna_obsp_neighbor_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_connectivities"` | +|`--obsm_integrated` |In which .obsm slot to store the resulting integrated embedding. |`string`, default: `"X_integrated_totalvi"` | +|`--obsm_normalized_rna_output` |In which .obsm slot to store the normalized RNA data from TOTALVI. |`string`, default: `"X_totalvi_normalized_rna"` | +|`--obsm_normalized_protein_output` |In which .obsm slot to store the normalized protein data from TOTALVI. |`string`, default: `"X_totalvi_normalized_protein"` | -### Neighbour calculation ADT +### Neighbour calculation -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--prot_uns_neighbors` |In which .uns slot to store various neighbor output objects. |`string`, default: `"totalvi_integration_neighbors"` | -|`--prot_obsp_neighbor_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_distances"` | -|`--prot_obsp_neighbor_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_connectivities"` | +|`--uns_neighbors` |In which .uns slot to store various neighbor output objects. |`string`, default: `"totalvi_integration_neighbors"` | +|`--obsp_neighbor_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_distances"` | +|`--obsp_neighbor_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_connectivities"` | -### Clustering options RNA +### Clustering options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--rna_obs_cluster` |Prefix for the .obs keys under which to add the cluster labels. Newly created columns in .obs will be created from the specified value for '--obs_cluster' suffixed with an underscore and one of the resolutions resolutions specified in '--leiden_resolution'. |`string`, default: `"totalvi_integration_leiden"` | -|`--rna_leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | - - -### Clustering options ADT - -|Name |Description |Attributes | -|:----------|:--------------------------------------------------|:--------------------| -|`--prot_obs_cluster` |Prefix for the .obs keys under which to add the cluster labels. Newly created columns in .obs will be created from the specified value for '--obs_cluster' suffixed with an underscore and one of the resolutions resolutions specified in '--leiden_resolution'. |`string`, default: `"totalvi_integration_leiden"` | -|`--prot_leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | +|`--obs_cluster` |Prefix for the .obs keys under which to add the cluster labels. Newly created columns in .obs will be created from the specified value for '--obs_cluster' suffixed with an underscore and one of the resolutions resolutions specified in '--leiden_resolution'. |`string`, default: `"totalvi_integration_leiden"` | +|`--leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | ### Umap options @@ -204,7 +172,7 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ## Authors - * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) + * Dorien Roosen [{{< fa brands github >}}](https://github.com/dorien-er) [{{< fa brands linkedin >}}](https://linkedin.com/in/dorien-roosen) (author) ## Visualisation @@ -217,6 +185,7 @@ flowchart TB v25(cross) v35(cross) v41(filter) + v195(concat) v50(filter) v65(cross) v75(cross) @@ -234,48 +203,20 @@ flowchart TB v168(cross) v180(cross) v190(cross) - v196(filter) - v350(concat) - v205(filter) - v220(cross) - v230(cross) - v239(branch) - v266(concat) - v251(cross) - v261(cross) - v270(branch) - v297(concat) - v282(cross) - v292(cross) - v301(branch) - v328(concat) - v313(cross) - v323(cross) - v335(cross) - v345(cross) - v357(cross) - v364(cross) - v376(cross) - v383(cross) - v387(Output) - subgraph group_rna_neighbors_leiden_umap [rna_neighbors_leiden_umap] + v202(cross) + v209(cross) + v221(cross) + v228(cross) + v232(Output) + subgraph group_neighbors_leiden_umap [neighbors_leiden_umap] v58(find_neighbors) v89(leiden) v120(move_obsm_to_obs) v151(umap) end - subgraph group_adt_neighbors_leiden_umap [adt_neighbors_leiden_umap] - v213(find_neighbors) - v244(leiden) - v275(move_obsm_to_obs) - v306(umap) - end v84-->v111 v115-->v142 v146-->v173 - v239-->v266 - v270-->v297 - v301-->v328 v0-->v2 v2-->v10 v10-->v18 @@ -305,41 +246,17 @@ flowchart TB v173-->v180 v41-->v180 v41-->v190 - v196-->v205 - v205-->v213 - v213-->v220 - v205-->v220 - v205-->v230 - v239-->v244 - v244-->v251 - v239-->v251 - v239-->v261 - v261-->v266 - v270-->v275 - v275-->v282 - v270-->v282 - v270-->v292 - v292-->v297 - v301-->v306 - v306-->v313 - v301-->v313 - v301-->v323 - v323-->v328 - v328-->v335 - v196-->v335 - v196-->v345 - v345-->v350 - v350-->v357 - v2-->v357 - v357-->v364 - v2-->v364 - v2-->v376 - v376-->v383 - v2-->v383 - v383-->v387 + v190-->v195 + v195-->v202 + v2-->v202 + v202-->v209 + v2-->v209 + v2-->v221 + v221-->v228 + v2-->v228 + v228-->v232 v35-->v41 v18-->v35 - v190-->v196 v58-->v75 v75-->v84 v89-->v106 @@ -348,17 +265,8 @@ flowchart TB v142-->v146 v151-->v168 v173-->v190 - v213-->v230 - v230-->v239 - v244-->v261 - v266-->v270 - v275-->v292 - v297-->v301 - v306-->v323 - v328-->v345 - v350-->v376 - style group_rna_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; - style group_adt_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; + v195-->v221 + style group_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; style v0 fill:#e3dcea,stroke:#7a4baa; style v2 fill:#e3dcea,stroke:#7a4baa; style v10 fill:#e3dcea,stroke:#7a4baa; @@ -366,6 +274,7 @@ flowchart TB style v25 fill:#e3dcea,stroke:#7a4baa; style v35 fill:#e3dcea,stroke:#7a4baa; style v41 fill:#e3dcea,stroke:#7a4baa; + style v195 fill:#e3dcea,stroke:#7a4baa; style v50 fill:#e3dcea,stroke:#7a4baa; style v58 fill:#e3dcea,stroke:#7a4baa; style v65 fill:#e3dcea,stroke:#7a4baa; @@ -387,34 +296,11 @@ flowchart TB style v168 fill:#e3dcea,stroke:#7a4baa; style v180 fill:#e3dcea,stroke:#7a4baa; style v190 fill:#e3dcea,stroke:#7a4baa; - style v196 fill:#e3dcea,stroke:#7a4baa; - style v350 fill:#e3dcea,stroke:#7a4baa; - style v205 fill:#e3dcea,stroke:#7a4baa; - style v213 fill:#e3dcea,stroke:#7a4baa; - style v220 fill:#e3dcea,stroke:#7a4baa; - style v230 fill:#e3dcea,stroke:#7a4baa; - style v239 fill:#e3dcea,stroke:#7a4baa; - style v266 fill:#e3dcea,stroke:#7a4baa; - style v244 fill:#e3dcea,stroke:#7a4baa; - style v251 fill:#e3dcea,stroke:#7a4baa; - style v261 fill:#e3dcea,stroke:#7a4baa; - style v270 fill:#e3dcea,stroke:#7a4baa; - style v297 fill:#e3dcea,stroke:#7a4baa; - style v275 fill:#e3dcea,stroke:#7a4baa; - style v282 fill:#e3dcea,stroke:#7a4baa; - style v292 fill:#e3dcea,stroke:#7a4baa; - style v301 fill:#e3dcea,stroke:#7a4baa; - style v328 fill:#e3dcea,stroke:#7a4baa; - style v306 fill:#e3dcea,stroke:#7a4baa; - style v313 fill:#e3dcea,stroke:#7a4baa; - style v323 fill:#e3dcea,stroke:#7a4baa; - style v335 fill:#e3dcea,stroke:#7a4baa; - style v345 fill:#e3dcea,stroke:#7a4baa; - style v357 fill:#e3dcea,stroke:#7a4baa; - style v364 fill:#e3dcea,stroke:#7a4baa; - style v376 fill:#e3dcea,stroke:#7a4baa; - style v383 fill:#e3dcea,stroke:#7a4baa; - style v387 fill:#e3dcea,stroke:#7a4baa; + style v202 fill:#e3dcea,stroke:#7a4baa; + style v209 fill:#e3dcea,stroke:#7a4baa; + style v221 fill:#e3dcea,stroke:#7a4baa; + style v228 fill:#e3dcea,stroke:#7a4baa; + style v232 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/integration/totalvi_scarches_leiden.qmd b/components/workflows/integration/totalvi_scarches_leiden.qmd new file mode 100644 index 00000000..8df7c3bb --- /dev/null +++ b/components/workflows/integration/totalvi_scarches_leiden.qmd @@ -0,0 +1,426 @@ +--- +title: "Totalvi scarches leiden" +namespace: "Workflows/integration" +description: "Run totalVI integration by mapping the query dataset to a reference, followed by neighbour calculations, leiden clustering and run umap on the result." +type: "workflow" +toc: false +--- + +::: {.column-margin} + +### Info + +ID: `totalvi_scarches_leiden` +Namespace: `workflows/integration` + +### Links +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/integration/totalvi_scarches_leiden/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} + +::: + + + +## Example commands + +You can run the pipeline using `nextflow run`. + +### View help + +You can use `--help` as a parameter to get an overview of the possible parameters. + +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -main-script target/nextflow/workflows/integration/totalvi_scarches_leiden/main.nf \ + --help +``` + +### Run command + +
+Example of `params.yaml` +```yaml +# Inputs +id: # please fill in - example: "foo" +input: # please fill in - example: "dataset.h5mu" +# layer: "foo" +modality: "rna" +prot_modality: "prot" +reference: # please fill in - example: "path/to/file" + +# Outputs +# output: "$id.$key.output.h5mu" +# reference_model_path: "totalvi_model_reference" +# query_model_path: "totalvi_model_query" + +# General TotalVI Options +obs_batch: "sample_id" +# obs_size_factor: "foo" +# obs_categorical_covariate: ["foo"] +# obs_continuous_covariate: ["foo"] +max_epochs: 400 +max_query_epochs: 200 +weight_decay: 0.0 +force_retrain: false +# var_input: "foo" + +# TotalVI integration options RNA +rna_reference_modality: "rna" +rna_obsm_output: "X_totalvi" + +# TotalVI integration options ADT +prot_reference_modality: "prot" +prot_obsm_output: "X_totalvi" + +# Neighbour calculation RNA +rna_uns_neighbors: "totalvi_integration_neighbors" +rna_obsp_neighbor_distances: "totalvi_integration_distances" +rna_obsp_neighbor_connectivities: "totalvi_integration_connectivities" + +# Neighbour calculation ADT +prot_uns_neighbors: "totalvi_integration_neighbors" +prot_obsp_neighbor_distances: "totalvi_integration_distances" +prot_obsp_neighbor_connectivities: "totalvi_integration_connectivities" + +# Clustering options RNA +rna_obs_cluster: "totalvi_integration_leiden" +rna_leiden_resolution: [1.0] + +# Clustering options ADT +prot_obs_cluster: "totalvi_integration_leiden" +prot_leiden_resolution: [1.0] + +# Umap options +obsm_umap: "X_totalvi_umap" + +# Nextflow input-output arguments +publish_dir: # please fill in - example: "output/" +# param_list: "my_params.yaml" + +# Arguments +``` +
+ +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -profile docker \ + -main-script target/nextflow/workflows/integration/totalvi_scarches_leiden/main.nf \ + -params-file params.yaml +``` + +:::{.callout-note} +Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. +::: + +## Argument groups + +### Inputs + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--id` |ID of the sample. |`string`, required, example: `"foo"` | +|`--input` |Path to the sample. |`file`, required, example: `"dataset.h5mu"` | +|`--layer` |use specified layer for expression values instead of the .X object from the modality. |`string` | +|`--modality` |Which modality to process. |`string`, default: `"rna"` | +|`--prot_modality` |Which modality to process. |`string`, default: `"prot"` | +|`--reference` |Input h5mu file with reference data to train the TOTALVI model. |`file`, required | + + +### Outputs + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | +|`--reference_model_path` |Directory with the reference model. If not exists, trained model will be saved there |`file`, default: `"totalvi_model_reference"` | +|`--query_model_path` |Directory, where the query model will be saved |`file`, default: `"totalvi_model_query"` | + + +### General TotalVI Options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--obs_batch` |.Obs column name discriminating between your batches. |`string`, default: `"sample_id"` | +|`--obs_size_factor` |Key in adata.obs for size factor information. Instead of using library size as a size factor, the provided size factor column will be used as offset in the mean of the likelihood. Assumed to be on linear scale. |`string` | +|`--obs_categorical_covariate` |Keys in adata.obs that correspond to categorical data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--obs_continuous_covariate` |Keys in adata.obs that correspond to continuous data. These covariates can be added in addition to the batch covariate and are also treated as nuisance factors (i.e., the model tries to minimize their effects on the latent space). Thus, these should not be used for biologically-relevant factors that you do _not_ want to correct for. |List of `string`, multiple_sep: `";"` | +|`--max_epochs` |Number of passes through the dataset |`integer`, default: `400` | +|`--max_query_epochs` |Number of passes through the dataset, when fine-tuning model for query |`integer`, default: `200` | +|`--weight_decay` |Weight decay, when fine-tuning model for query |`double`, default: `0` | +|`--force_retrain` |If true, retrain the model and save it to reference_model_path |`boolean_true` | +|`--var_input` |Boolean .var column to subset data with (e.g. containing highly variable genes). By default, do not subset genes. |`string` | + + +### TotalVI integration options RNA + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--rna_reference_modality` | |`string`, default: `"rna"` | +|`--rna_obsm_output` |In which .obsm slot to store the normalized RNA from TOTALVI. |`string`, default: `"X_totalvi"` | + + +### TotalVI integration options ADT + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--prot_reference_modality` |Name of the modality containing proteins in the reference |`string`, default: `"prot"` | +|`--prot_obsm_output` |In which .obsm slot to store the normalized protein data from TOTALVI. |`string`, default: `"X_totalvi"` | + + +### Neighbour calculation RNA + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--rna_uns_neighbors` |In which .uns slot to store various neighbor output objects. |`string`, default: `"totalvi_integration_neighbors"` | +|`--rna_obsp_neighbor_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_distances"` | +|`--rna_obsp_neighbor_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_connectivities"` | + + +### Neighbour calculation ADT + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--prot_uns_neighbors` |In which .uns slot to store various neighbor output objects. |`string`, default: `"totalvi_integration_neighbors"` | +|`--prot_obsp_neighbor_distances` |In which .obsp slot to store the distance matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_distances"` | +|`--prot_obsp_neighbor_connectivities` |In which .obsp slot to store the connectivities matrix between the resulting neighbors. |`string`, default: `"totalvi_integration_connectivities"` | + + +### Clustering options RNA + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--rna_obs_cluster` |Prefix for the .obs keys under which to add the cluster labels. Newly created columns in .obs will be created from the specified value for '--obs_cluster' suffixed with an underscore and one of the resolutions resolutions specified in '--leiden_resolution'. |`string`, default: `"totalvi_integration_leiden"` | +|`--rna_leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | + + +### Clustering options ADT + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--prot_obs_cluster` |Prefix for the .obs keys under which to add the cluster labels. Newly created columns in .obs will be created from the specified value for '--obs_cluster' suffixed with an underscore and one of the resolutions resolutions specified in '--leiden_resolution'. |`string`, default: `"totalvi_integration_leiden"` | +|`--prot_leiden_resolution` |Control the coarseness of the clustering. Higher values lead to more clusters. |List of `double`, default: `1`, multiple_sep: `";"` | + + +### Umap options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--obsm_umap` |In which .obsm slot to store the resulting UMAP embedding. |`string`, default: `"X_totalvi_umap"` | + +## Authors + + + * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) + +## Visualisation + +```{mermaid} +flowchart TB + v0(Channel.fromList) + v2(filter) + v10(filter) + v18(totalvi_scarches) + v25(cross) + v35(cross) + v41(filter) + v50(filter) + v65(cross) + v75(cross) + v84(branch) + v111(concat) + v96(cross) + v106(cross) + v115(branch) + v142(concat) + v127(cross) + v137(cross) + v146(branch) + v173(concat) + v158(cross) + v168(cross) + v180(cross) + v190(cross) + v196(filter) + v350(concat) + v205(filter) + v220(cross) + v230(cross) + v239(branch) + v266(concat) + v251(cross) + v261(cross) + v270(branch) + v297(concat) + v282(cross) + v292(cross) + v301(branch) + v328(concat) + v313(cross) + v323(cross) + v335(cross) + v345(cross) + v357(cross) + v364(cross) + v376(cross) + v383(cross) + v387(Output) + subgraph group_rna_neighbors_leiden_umap [rna_neighbors_leiden_umap] + v58(find_neighbors) + v89(leiden) + v120(move_obsm_to_obs) + v151(umap) + end + subgraph group_adt_neighbors_leiden_umap [adt_neighbors_leiden_umap] + v213(find_neighbors) + v244(leiden) + v275(move_obsm_to_obs) + v306(umap) + end + v84-->v111 + v115-->v142 + v146-->v173 + v239-->v266 + v270-->v297 + v301-->v328 + v0-->v2 + v2-->v10 + v10-->v18 + v18-->v25 + v10-->v25 + v10-->v35 + v41-->v50 + v50-->v58 + v58-->v65 + v50-->v65 + v50-->v75 + v84-->v89 + v89-->v96 + v84-->v96 + v84-->v106 + v106-->v111 + v115-->v120 + v120-->v127 + v115-->v127 + v115-->v137 + v137-->v142 + v146-->v151 + v151-->v158 + v146-->v158 + v146-->v168 + v168-->v173 + v173-->v180 + v41-->v180 + v41-->v190 + v196-->v205 + v205-->v213 + v213-->v220 + v205-->v220 + v205-->v230 + v239-->v244 + v244-->v251 + v239-->v251 + v239-->v261 + v261-->v266 + v270-->v275 + v275-->v282 + v270-->v282 + v270-->v292 + v292-->v297 + v301-->v306 + v306-->v313 + v301-->v313 + v301-->v323 + v323-->v328 + v328-->v335 + v196-->v335 + v196-->v345 + v345-->v350 + v350-->v357 + v2-->v357 + v357-->v364 + v2-->v364 + v2-->v376 + v376-->v383 + v2-->v383 + v383-->v387 + v35-->v41 + v18-->v35 + v190-->v196 + v58-->v75 + v75-->v84 + v89-->v106 + v111-->v115 + v120-->v137 + v142-->v146 + v151-->v168 + v173-->v190 + v213-->v230 + v230-->v239 + v244-->v261 + v266-->v270 + v275-->v292 + v297-->v301 + v306-->v323 + v328-->v345 + v350-->v376 + style group_rna_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; + style group_adt_neighbors_leiden_umap fill:#F0F0F0,stroke:#969696; + style v0 fill:#e3dcea,stroke:#7a4baa; + style v2 fill:#e3dcea,stroke:#7a4baa; + style v10 fill:#e3dcea,stroke:#7a4baa; + style v18 fill:#e3dcea,stroke:#7a4baa; + style v25 fill:#e3dcea,stroke:#7a4baa; + style v35 fill:#e3dcea,stroke:#7a4baa; + style v41 fill:#e3dcea,stroke:#7a4baa; + style v50 fill:#e3dcea,stroke:#7a4baa; + style v58 fill:#e3dcea,stroke:#7a4baa; + style v65 fill:#e3dcea,stroke:#7a4baa; + style v75 fill:#e3dcea,stroke:#7a4baa; + style v84 fill:#e3dcea,stroke:#7a4baa; + style v111 fill:#e3dcea,stroke:#7a4baa; + style v89 fill:#e3dcea,stroke:#7a4baa; + style v96 fill:#e3dcea,stroke:#7a4baa; + style v106 fill:#e3dcea,stroke:#7a4baa; + style v115 fill:#e3dcea,stroke:#7a4baa; + style v142 fill:#e3dcea,stroke:#7a4baa; + style v120 fill:#e3dcea,stroke:#7a4baa; + style v127 fill:#e3dcea,stroke:#7a4baa; + style v137 fill:#e3dcea,stroke:#7a4baa; + style v146 fill:#e3dcea,stroke:#7a4baa; + style v173 fill:#e3dcea,stroke:#7a4baa; + style v151 fill:#e3dcea,stroke:#7a4baa; + style v158 fill:#e3dcea,stroke:#7a4baa; + style v168 fill:#e3dcea,stroke:#7a4baa; + style v180 fill:#e3dcea,stroke:#7a4baa; + style v190 fill:#e3dcea,stroke:#7a4baa; + style v196 fill:#e3dcea,stroke:#7a4baa; + style v350 fill:#e3dcea,stroke:#7a4baa; + style v205 fill:#e3dcea,stroke:#7a4baa; + style v213 fill:#e3dcea,stroke:#7a4baa; + style v220 fill:#e3dcea,stroke:#7a4baa; + style v230 fill:#e3dcea,stroke:#7a4baa; + style v239 fill:#e3dcea,stroke:#7a4baa; + style v266 fill:#e3dcea,stroke:#7a4baa; + style v244 fill:#e3dcea,stroke:#7a4baa; + style v251 fill:#e3dcea,stroke:#7a4baa; + style v261 fill:#e3dcea,stroke:#7a4baa; + style v270 fill:#e3dcea,stroke:#7a4baa; + style v297 fill:#e3dcea,stroke:#7a4baa; + style v275 fill:#e3dcea,stroke:#7a4baa; + style v282 fill:#e3dcea,stroke:#7a4baa; + style v292 fill:#e3dcea,stroke:#7a4baa; + style v301 fill:#e3dcea,stroke:#7a4baa; + style v328 fill:#e3dcea,stroke:#7a4baa; + style v306 fill:#e3dcea,stroke:#7a4baa; + style v313 fill:#e3dcea,stroke:#7a4baa; + style v323 fill:#e3dcea,stroke:#7a4baa; + style v335 fill:#e3dcea,stroke:#7a4baa; + style v345 fill:#e3dcea,stroke:#7a4baa; + style v357 fill:#e3dcea,stroke:#7a4baa; + style v364 fill:#e3dcea,stroke:#7a4baa; + style v376 fill:#e3dcea,stroke:#7a4baa; + style v383 fill:#e3dcea,stroke:#7a4baa; + style v387 fill:#e3dcea,stroke:#7a4baa; + +``` + diff --git a/components/workflows/multiomics/dimensionality_reduction.qmd b/components/workflows/multiomics/dimensionality_reduction.qmd index 1ed22508..f65155cf 100644 --- a/components/workflows/multiomics/dimensionality_reduction.qmd +++ b/components/workflows/multiomics/dimensionality_reduction.qmd @@ -14,7 +14,7 @@ ID: `dimensionality_reduction` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/dimensionality_reduction/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/dimensionality_reduction/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/multiomics/dimensionality_reduction/main.nf \ --help ``` @@ -74,7 +74,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/multiomics/dimensionality_reduction/main.nf \ -params-file params.yaml diff --git a/components/workflows/multiomics/neighbors_leiden_umap.qmd b/components/workflows/multiomics/neighbors_leiden_umap.qmd index 7505800f..8d4ef884 100644 --- a/components/workflows/multiomics/neighbors_leiden_umap.qmd +++ b/components/workflows/multiomics/neighbors_leiden_umap.qmd @@ -14,7 +14,7 @@ ID: `neighbors_leiden_umap` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/neighbors_leiden_umap/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/neighbors_leiden_umap/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/multiomics/neighbors_leiden_umap/main.nf \ --help ``` @@ -70,7 +70,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/multiomics/neighbors_leiden_umap/main.nf \ -params-file params.yaml diff --git a/components/workflows/multiomics/process_batches.qmd b/components/workflows/multiomics/process_batches.qmd index d565a5fd..a1e5cf3b 100644 --- a/components/workflows/multiomics/process_batches.qmd +++ b/components/workflows/multiomics/process_batches.qmd @@ -14,7 +14,7 @@ ID: `process_batches` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/process_batches/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/process_batches/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -34,7 +34,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/multiomics/process_batches/main.nf \ --help ``` @@ -87,7 +87,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/multiomics/process_batches/main.nf \ -params-file params.yaml @@ -186,211 +186,215 @@ flowchart TB v77(flatMap) v85(filter) v93(filter) - v108(cross) - v118(cross) - v124(filter) - v139(cross) - v149(cross) - v155(filter) - v170(cross) - v180(cross) - v189(branch) - v216(concat) - v201(cross) - v211(cross) - v217(filter) - v232(cross) - v242(cross) - v248(filter) - v371(concat) - v260(branch) - v287(concat) - v272(cross) - v282(cross) - v291(branch) - v318(concat) - v303(cross) - v313(cross) - v319(filter) - v349(concat) - v334(cross) - v344(cross) - v356(cross) - v366(cross) - v378(cross) - v388(cross) - v586(mix) - v399(filter) - v407(filter) - v422(cross) - v432(cross) - v438(filter) - v561(concat) - v450(branch) - v477(concat) - v462(cross) - v472(cross) - v481(branch) - v508(concat) - v493(cross) - v503(cross) - v509(filter) - v539(concat) - v524(cross) - v534(cross) - v546(cross) - v556(cross) - v568(cross) - v578(cross) - v588(mix) - v596(filter) - v604(merge) - v611(cross) - v621(cross) - v631(branch) - v843(concat) - v636(filter) - v651(cross) - v661(cross) - v667(filter) - v821(concat) - v676(filter) - v691(cross) - v701(cross) - v710(branch) - v737(concat) - v722(cross) - v732(cross) - v741(branch) - v768(concat) - v753(cross) - v763(cross) - v772(branch) - v799(concat) - v784(cross) - v794(cross) - v806(cross) - v816(cross) - v828(cross) - v838(cross) - v847(branch) - v1059(concat) - v852(filter) + v100(filter) + v115(cross) + v125(cross) + v131(filter) + v146(cross) + v156(cross) + v162(filter) + v192(concat) + v177(cross) + v187(cross) + v199(cross) + v209(cross) + v218(branch) + v245(concat) + v230(cross) + v240(cross) + v246(filter) + v261(cross) + v271(cross) + v277(filter) + v400(concat) + v289(branch) + v316(concat) + v301(cross) + v311(cross) + v320(branch) + v347(concat) + v332(cross) + v342(cross) + v348(filter) + v378(concat) + v363(cross) + v373(cross) + v385(cross) + v395(cross) + v407(cross) + v417(cross) + v615(mix) + v428(filter) + v436(filter) + v451(cross) + v461(cross) + v467(filter) + v590(concat) + v479(branch) + v506(concat) + v491(cross) + v501(cross) + v510(branch) + v537(concat) + v522(cross) + v532(cross) + v538(filter) + v568(concat) + v553(cross) + v563(cross) + v575(cross) + v585(cross) + v597(cross) + v607(cross) + v617(mix) + v625(filter) + v633(merge) + v640(cross) + v650(cross) + v660(branch) + v872(concat) + v665(filter) + v680(cross) + v690(cross) + v696(filter) + v850(concat) + v705(filter) + v720(cross) + v730(cross) + v739(branch) + v766(concat) + v751(cross) + v761(cross) + v770(branch) + v797(concat) + v782(cross) + v792(cross) + v801(branch) + v828(concat) + v813(cross) + v823(cross) + v835(cross) + v845(cross) + v857(cross) v867(cross) - v877(cross) - v883(filter) - v1037(concat) - v892(filter) - v907(cross) - v917(cross) - v926(branch) - v953(concat) - v938(cross) - v948(cross) - v957(branch) - v984(concat) - v969(cross) - v979(cross) - v988(branch) - v1015(concat) - v1000(cross) - v1010(cross) - v1022(cross) - v1032(cross) - v1044(cross) - v1054(cross) - v1063(branch) - v1275(concat) - v1068(filter) + v876(branch) + v1088(concat) + v881(filter) + v896(cross) + v906(cross) + v912(filter) + v1066(concat) + v921(filter) + v936(cross) + v946(cross) + v955(branch) + v982(concat) + v967(cross) + v977(cross) + v986(branch) + v1013(concat) + v998(cross) + v1008(cross) + v1017(branch) + v1044(concat) + v1029(cross) + v1039(cross) + v1051(cross) + v1061(cross) + v1073(cross) v1083(cross) - v1093(cross) - v1099(filter) - v1253(concat) - v1108(filter) - v1123(cross) - v1133(cross) - v1142(branch) - v1169(concat) - v1154(cross) - v1164(cross) - v1173(branch) - v1200(concat) - v1185(cross) - v1195(cross) - v1204(branch) - v1231(concat) - v1216(cross) - v1226(cross) - v1238(cross) - v1248(cross) - v1260(cross) - v1270(cross) - v1282(cross) + v1092(branch) + v1304(concat) + v1097(filter) + v1112(cross) + v1122(cross) + v1128(filter) + v1282(concat) + v1137(filter) + v1152(cross) + v1162(cross) + v1171(branch) + v1198(concat) + v1183(cross) + v1193(cross) + v1202(branch) + v1229(concat) + v1214(cross) + v1224(cross) + v1233(branch) + v1260(concat) + v1245(cross) + v1255(cross) + v1267(cross) + v1277(cross) v1289(cross) - v1301(cross) - v1308(cross) - v1312(Output) + v1299(cross) + v1311(cross) + v1318(cross) + v1330(cross) + v1337(cross) + v1341(Output) subgraph group_split_modalities_workflow [split_modalities_workflow] v27(split_modalities_component) end subgraph group_rna_multisample [rna_multisample] - v101(normalize_total) - v132(log1p) - v163(delete_layer) - v194(scale) - v225(highly_variable_features_scanpy) - v265(grep_mitochondrial_genes) - v296(grep_ribosomal_genes) - v327(calculate_qc_metrics) + v108(normalize_total) + v139(log1p) + v170(delete_layer) + v223(scale) + v254(highly_variable_features_scanpy) + v294(grep_mitochondrial_genes) + v325(grep_ribosomal_genes) + v356(calculate_qc_metrics) end subgraph group_prot_multisample [prot_multisample] - v415(clr) - v455(grep_mitochondrial_genes) - v486(grep_ribosomal_genes) - v517(calculate_qc_metrics) + v444(clr) + v484(grep_mitochondrial_genes) + v515(grep_ribosomal_genes) + v546(calculate_qc_metrics) end subgraph group_dimensionality_reduction_rna [dimensionality_reduction_rna] - v644(pca) - v684(find_neighbors) - v715(leiden) - v746(move_obsm_to_obs) - v777(umap) + v673(pca) + v713(find_neighbors) + v744(leiden) + v775(move_obsm_to_obs) + v806(umap) end subgraph group_dimensionality_reduction_scaling_rna [dimensionality_reduction_scaling_rna] - v860(pca) - v900(find_neighbors) - v931(leiden) - v962(move_obsm_to_obs) - v993(umap) + v889(pca) + v929(find_neighbors) + v960(leiden) + v991(move_obsm_to_obs) + v1022(umap) end subgraph group_dimensionality_reduction_prot [dimensionality_reduction_prot] - v1076(pca) - v1116(find_neighbors) - v1147(leiden) - v1178(move_obsm_to_obs) - v1209(umap) + v1105(pca) + v1145(find_neighbors) + v1176(leiden) + v1207(move_obsm_to_obs) + v1238(umap) end - v189-->v216 - v216-->v217 - v260-->v287 - v291-->v318 - v318-->v319 - v450-->v477 - v481-->v508 - v508-->v509 - v586-->v588 - v631-->v843 - v710-->v737 - v741-->v768 - v772-->v799 - v847-->v1059 - v926-->v953 - v957-->v984 - v988-->v1015 - v1063-->v1275 - v1142-->v1169 - v1173-->v1200 - v1204-->v1231 + v218-->v245 + v245-->v246 + v289-->v316 + v320-->v347 + v347-->v348 + v479-->v506 + v510-->v537 + v537-->v538 + v615-->v617 + v660-->v872 + v739-->v766 + v770-->v797 + v801-->v828 + v876-->v1088 + v955-->v982 + v986-->v1013 + v1017-->v1044 + v1092-->v1304 + v1171-->v1198 + v1202-->v1229 + v1233-->v1260 v0-->v2 v22-->v27 v27-->v34 @@ -400,187 +404,192 @@ flowchart TB v11-->v61 v11-->v71 v85-->v93 - v93-->v101 - v101-->v108 - v93-->v108 - v93-->v118 - v124-->v132 - v132-->v139 - v124-->v139 - v124-->v149 - v155-->v163 - v163-->v170 - v155-->v170 - v155-->v180 - v189-->v194 - v194-->v201 - v189-->v201 - v189-->v211 - v211-->v216 - v217-->v225 - v225-->v232 - v217-->v232 - v217-->v242 - v260-->v265 - v265-->v272 - v260-->v272 - v260-->v282 - v282-->v287 - v291-->v296 - v296-->v303 - v291-->v303 - v291-->v313 - v313-->v318 - v319-->v327 - v327-->v334 - v319-->v334 - v319-->v344 - v344-->v349 - v349-->v356 - v248-->v356 - v248-->v366 - v366-->v371 - v371-->v378 - v85-->v378 - v85-->v388 - v399-->v407 - v407-->v415 - v415-->v422 - v407-->v422 - v407-->v432 - v450-->v455 - v455-->v462 - v450-->v462 - v450-->v472 - v472-->v477 - v481-->v486 - v486-->v493 - v481-->v493 - v481-->v503 - v503-->v508 - v509-->v517 - v517-->v524 - v509-->v524 - v509-->v534 - v534-->v539 - v539-->v546 - v438-->v546 - v438-->v556 - v556-->v561 - v561-->v568 - v399-->v568 - v399-->v578 - v596-->v604 - v604-->v611 - v596-->v611 - v596-->v621 - v631-->v636 - v636-->v644 - v644-->v651 - v636-->v651 - v636-->v661 - v667-->v676 - v676-->v684 - v684-->v691 - v676-->v691 - v676-->v701 - v710-->v715 - v715-->v722 - v710-->v722 - v710-->v732 - v732-->v737 - v741-->v746 - v746-->v753 - v741-->v753 - v741-->v763 - v763-->v768 - v772-->v777 - v777-->v784 - v772-->v784 - v772-->v794 - v794-->v799 - v799-->v806 - v667-->v806 - v667-->v816 - v816-->v821 - v821-->v828 - v631-->v828 - v631-->v838 - v838-->v843 - v847-->v852 - v852-->v860 - v860-->v867 - v852-->v867 - v852-->v877 - v883-->v892 - v892-->v900 - v900-->v907 - v892-->v907 - v892-->v917 - v926-->v931 - v931-->v938 - v926-->v938 - v926-->v948 - v948-->v953 - v957-->v962 - v962-->v969 - v957-->v969 - v957-->v979 - v979-->v984 - v988-->v993 - v993-->v1000 - v988-->v1000 - v988-->v1010 - v1010-->v1015 - v1015-->v1022 - v883-->v1022 - v883-->v1032 - v1032-->v1037 - v1037-->v1044 - v847-->v1044 - v847-->v1054 - v1054-->v1059 - v1063-->v1068 - v1068-->v1076 - v1076-->v1083 - v1068-->v1083 - v1068-->v1093 - v1099-->v1108 - v1108-->v1116 - v1116-->v1123 - v1108-->v1123 - v1108-->v1133 - v1142-->v1147 - v1147-->v1154 - v1142-->v1154 - v1142-->v1164 - v1164-->v1169 - v1173-->v1178 - v1178-->v1185 - v1173-->v1185 - v1173-->v1195 - v1195-->v1200 - v1204-->v1209 - v1209-->v1216 - v1204-->v1216 - v1204-->v1226 - v1226-->v1231 - v1231-->v1238 - v1099-->v1238 - v1099-->v1248 - v1248-->v1253 - v1253-->v1260 - v1063-->v1260 - v1063-->v1270 - v1270-->v1275 - v1275-->v1282 - v2-->v1282 + v93-->v100 + v100-->v108 + v108-->v115 + v100-->v115 + v100-->v125 + v131-->v139 + v139-->v146 + v131-->v146 + v131-->v156 + v162-->v170 + v170-->v177 + v162-->v177 + v162-->v187 + v187-->v192 + v192-->v199 + v93-->v199 + v93-->v209 + v218-->v223 + v223-->v230 + v218-->v230 + v218-->v240 + v240-->v245 + v246-->v254 + v254-->v261 + v246-->v261 + v246-->v271 + v289-->v294 + v294-->v301 + v289-->v301 + v289-->v311 + v311-->v316 + v320-->v325 + v325-->v332 + v320-->v332 + v320-->v342 + v342-->v347 + v348-->v356 + v356-->v363 + v348-->v363 + v348-->v373 + v373-->v378 + v378-->v385 + v277-->v385 + v277-->v395 + v395-->v400 + v400-->v407 + v85-->v407 + v85-->v417 + v428-->v436 + v436-->v444 + v444-->v451 + v436-->v451 + v436-->v461 + v479-->v484 + v484-->v491 + v479-->v491 + v479-->v501 + v501-->v506 + v510-->v515 + v515-->v522 + v510-->v522 + v510-->v532 + v532-->v537 + v538-->v546 + v546-->v553 + v538-->v553 + v538-->v563 + v563-->v568 + v568-->v575 + v467-->v575 + v467-->v585 + v585-->v590 + v590-->v597 + v428-->v597 + v428-->v607 + v625-->v633 + v633-->v640 + v625-->v640 + v625-->v650 + v660-->v665 + v665-->v673 + v673-->v680 + v665-->v680 + v665-->v690 + v696-->v705 + v705-->v713 + v713-->v720 + v705-->v720 + v705-->v730 + v739-->v744 + v744-->v751 + v739-->v751 + v739-->v761 + v761-->v766 + v770-->v775 + v775-->v782 + v770-->v782 + v770-->v792 + v792-->v797 + v801-->v806 + v806-->v813 + v801-->v813 + v801-->v823 + v823-->v828 + v828-->v835 + v696-->v835 + v696-->v845 + v845-->v850 + v850-->v857 + v660-->v857 + v660-->v867 + v867-->v872 + v876-->v881 + v881-->v889 + v889-->v896 + v881-->v896 + v881-->v906 + v912-->v921 + v921-->v929 + v929-->v936 + v921-->v936 + v921-->v946 + v955-->v960 + v960-->v967 + v955-->v967 + v955-->v977 + v977-->v982 + v986-->v991 + v991-->v998 + v986-->v998 + v986-->v1008 + v1008-->v1013 + v1017-->v1022 + v1022-->v1029 + v1017-->v1029 + v1017-->v1039 + v1039-->v1044 + v1044-->v1051 + v912-->v1051 + v912-->v1061 + v1061-->v1066 + v1066-->v1073 + v876-->v1073 + v876-->v1083 + v1083-->v1088 + v1092-->v1097 + v1097-->v1105 + v1105-->v1112 + v1097-->v1112 + v1097-->v1122 + v1128-->v1137 + v1137-->v1145 + v1145-->v1152 + v1137-->v1152 + v1137-->v1162 + v1171-->v1176 + v1176-->v1183 + v1171-->v1183 + v1171-->v1193 + v1193-->v1198 + v1202-->v1207 + v1207-->v1214 + v1202-->v1214 + v1202-->v1224 + v1224-->v1229 + v1233-->v1238 + v1238-->v1245 + v1233-->v1245 + v1233-->v1255 + v1255-->v1260 + v1260-->v1267 + v1128-->v1267 + v1128-->v1277 + v1277-->v1282 v1282-->v1289 - v2-->v1289 - v2-->v1301 - v1301-->v1308 - v2-->v1308 - v1308-->v1312 + v1092-->v1289 + v1092-->v1299 + v1299-->v1304 + v1304-->v1311 + v2-->v1311 + v1311-->v1318 + v2-->v1318 + v2-->v1330 + v1330-->v1337 + v2-->v1337 + v1337-->v1341 v2-->v11 v71-->v77 v11-->v22 @@ -588,74 +597,75 @@ flowchart TB v27-->v44 v54-->v71 v77-->v85 - v388-->v586 - v118-->v124 - v101-->v118 - v149-->v155 - v132-->v149 - v163-->v180 - v180-->v189 - v194-->v211 - v242-->v248 - v225-->v242 - v248-->v260 - v265-->v282 - v287-->v291 - v296-->v313 - v327-->v344 - v349-->v366 - v371-->v388 - v77-->v399 - v578-->v586 - v432-->v438 - v415-->v432 - v438-->v450 - v455-->v472 - v477-->v481 - v486-->v503 - v517-->v534 - v539-->v556 - v561-->v578 - v77-->v588 - v588-->v596 - v604-->v621 - v621-->v631 - v661-->v667 - v644-->v661 - v684-->v701 - v701-->v710 - v715-->v732 - v737-->v741 - v746-->v763 - v768-->v772 - v777-->v794 - v799-->v816 - v821-->v838 - v843-->v847 - v877-->v883 - v860-->v877 - v900-->v917 - v917-->v926 - v931-->v948 - v953-->v957 - v962-->v979 - v984-->v988 - v993-->v1010 - v1015-->v1032 - v1037-->v1054 - v1059-->v1063 - v1093-->v1099 - v1076-->v1093 - v1116-->v1133 - v1133-->v1142 - v1147-->v1164 - v1169-->v1173 - v1178-->v1195 - v1200-->v1204 - v1209-->v1226 - v1231-->v1248 - v1253-->v1270 - v1275-->v1301 + v417-->v615 + v125-->v131 + v108-->v125 + v156-->v162 + v139-->v156 + v170-->v187 + v192-->v209 + v209-->v218 + v223-->v240 + v271-->v277 + v254-->v271 + v277-->v289 + v294-->v311 + v316-->v320 + v325-->v342 + v356-->v373 + v378-->v395 + v400-->v417 + v77-->v428 + v607-->v615 + v461-->v467 + v444-->v461 + v467-->v479 + v484-->v501 + v506-->v510 + v515-->v532 + v546-->v563 + v568-->v585 + v590-->v607 + v77-->v617 + v617-->v625 + v633-->v650 + v650-->v660 + v690-->v696 + v673-->v690 + v713-->v730 + v730-->v739 + v744-->v761 + v766-->v770 + v775-->v792 + v797-->v801 + v806-->v823 + v828-->v845 + v850-->v867 + v872-->v876 + v906-->v912 + v889-->v906 + v929-->v946 + v946-->v955 + v960-->v977 + v982-->v986 + v991-->v1008 + v1013-->v1017 + v1022-->v1039 + v1044-->v1061 + v1066-->v1083 + v1088-->v1092 + v1122-->v1128 + v1105-->v1122 + v1145-->v1162 + v1162-->v1171 + v1176-->v1193 + v1198-->v1202 + v1207-->v1224 + v1229-->v1233 + v1238-->v1255 + v1260-->v1277 + v1282-->v1299 + v1304-->v1330 style group_split_modalities_workflow fill:#F0F0F0,stroke:#969696; style group_rna_multisample fill:#F0F0F0,stroke:#969696; style group_prot_multisample fill:#F0F0F0,stroke:#969696; @@ -675,177 +685,181 @@ flowchart TB style v77 fill:#e3dcea,stroke:#7a4baa; style v85 fill:#e3dcea,stroke:#7a4baa; style v93 fill:#e3dcea,stroke:#7a4baa; - style v101 fill:#e3dcea,stroke:#7a4baa; + style v100 fill:#e3dcea,stroke:#7a4baa; style v108 fill:#e3dcea,stroke:#7a4baa; - style v118 fill:#e3dcea,stroke:#7a4baa; - style v124 fill:#e3dcea,stroke:#7a4baa; - style v132 fill:#e3dcea,stroke:#7a4baa; + style v115 fill:#e3dcea,stroke:#7a4baa; + style v125 fill:#e3dcea,stroke:#7a4baa; + style v131 fill:#e3dcea,stroke:#7a4baa; style v139 fill:#e3dcea,stroke:#7a4baa; - style v149 fill:#e3dcea,stroke:#7a4baa; - style v155 fill:#e3dcea,stroke:#7a4baa; - style v163 fill:#e3dcea,stroke:#7a4baa; + style v146 fill:#e3dcea,stroke:#7a4baa; + style v156 fill:#e3dcea,stroke:#7a4baa; + style v162 fill:#e3dcea,stroke:#7a4baa; + style v192 fill:#e3dcea,stroke:#7a4baa; style v170 fill:#e3dcea,stroke:#7a4baa; - style v180 fill:#e3dcea,stroke:#7a4baa; - style v189 fill:#e3dcea,stroke:#7a4baa; - style v216 fill:#e3dcea,stroke:#7a4baa; - style v194 fill:#e3dcea,stroke:#7a4baa; - style v201 fill:#e3dcea,stroke:#7a4baa; - style v211 fill:#e3dcea,stroke:#7a4baa; - style v217 fill:#e3dcea,stroke:#7a4baa; - style v225 fill:#e3dcea,stroke:#7a4baa; - style v232 fill:#e3dcea,stroke:#7a4baa; - style v242 fill:#e3dcea,stroke:#7a4baa; - style v248 fill:#e3dcea,stroke:#7a4baa; - style v371 fill:#e3dcea,stroke:#7a4baa; - style v260 fill:#e3dcea,stroke:#7a4baa; - style v287 fill:#e3dcea,stroke:#7a4baa; - style v265 fill:#e3dcea,stroke:#7a4baa; - style v272 fill:#e3dcea,stroke:#7a4baa; - style v282 fill:#e3dcea,stroke:#7a4baa; - style v291 fill:#e3dcea,stroke:#7a4baa; - style v318 fill:#e3dcea,stroke:#7a4baa; - style v296 fill:#e3dcea,stroke:#7a4baa; - style v303 fill:#e3dcea,stroke:#7a4baa; - style v313 fill:#e3dcea,stroke:#7a4baa; - style v319 fill:#e3dcea,stroke:#7a4baa; - style v349 fill:#e3dcea,stroke:#7a4baa; - style v327 fill:#e3dcea,stroke:#7a4baa; - style v334 fill:#e3dcea,stroke:#7a4baa; - style v344 fill:#e3dcea,stroke:#7a4baa; - style v356 fill:#e3dcea,stroke:#7a4baa; - style v366 fill:#e3dcea,stroke:#7a4baa; + style v177 fill:#e3dcea,stroke:#7a4baa; + style v187 fill:#e3dcea,stroke:#7a4baa; + style v199 fill:#e3dcea,stroke:#7a4baa; + style v209 fill:#e3dcea,stroke:#7a4baa; + style v218 fill:#e3dcea,stroke:#7a4baa; + style v245 fill:#e3dcea,stroke:#7a4baa; + style v223 fill:#e3dcea,stroke:#7a4baa; + style v230 fill:#e3dcea,stroke:#7a4baa; + style v240 fill:#e3dcea,stroke:#7a4baa; + style v246 fill:#e3dcea,stroke:#7a4baa; + style v254 fill:#e3dcea,stroke:#7a4baa; + style v261 fill:#e3dcea,stroke:#7a4baa; + style v271 fill:#e3dcea,stroke:#7a4baa; + style v277 fill:#e3dcea,stroke:#7a4baa; + style v400 fill:#e3dcea,stroke:#7a4baa; + style v289 fill:#e3dcea,stroke:#7a4baa; + style v316 fill:#e3dcea,stroke:#7a4baa; + style v294 fill:#e3dcea,stroke:#7a4baa; + style v301 fill:#e3dcea,stroke:#7a4baa; + style v311 fill:#e3dcea,stroke:#7a4baa; + style v320 fill:#e3dcea,stroke:#7a4baa; + style v347 fill:#e3dcea,stroke:#7a4baa; + style v325 fill:#e3dcea,stroke:#7a4baa; + style v332 fill:#e3dcea,stroke:#7a4baa; + style v342 fill:#e3dcea,stroke:#7a4baa; + style v348 fill:#e3dcea,stroke:#7a4baa; style v378 fill:#e3dcea,stroke:#7a4baa; - style v388 fill:#e3dcea,stroke:#7a4baa; - style v586 fill:#e3dcea,stroke:#7a4baa; - style v399 fill:#e3dcea,stroke:#7a4baa; + style v356 fill:#e3dcea,stroke:#7a4baa; + style v363 fill:#e3dcea,stroke:#7a4baa; + style v373 fill:#e3dcea,stroke:#7a4baa; + style v385 fill:#e3dcea,stroke:#7a4baa; + style v395 fill:#e3dcea,stroke:#7a4baa; style v407 fill:#e3dcea,stroke:#7a4baa; - style v415 fill:#e3dcea,stroke:#7a4baa; - style v422 fill:#e3dcea,stroke:#7a4baa; - style v432 fill:#e3dcea,stroke:#7a4baa; - style v438 fill:#e3dcea,stroke:#7a4baa; - style v561 fill:#e3dcea,stroke:#7a4baa; - style v450 fill:#e3dcea,stroke:#7a4baa; - style v477 fill:#e3dcea,stroke:#7a4baa; - style v455 fill:#e3dcea,stroke:#7a4baa; - style v462 fill:#e3dcea,stroke:#7a4baa; - style v472 fill:#e3dcea,stroke:#7a4baa; - style v481 fill:#e3dcea,stroke:#7a4baa; - style v508 fill:#e3dcea,stroke:#7a4baa; - style v486 fill:#e3dcea,stroke:#7a4baa; - style v493 fill:#e3dcea,stroke:#7a4baa; - style v503 fill:#e3dcea,stroke:#7a4baa; - style v509 fill:#e3dcea,stroke:#7a4baa; - style v539 fill:#e3dcea,stroke:#7a4baa; - style v517 fill:#e3dcea,stroke:#7a4baa; - style v524 fill:#e3dcea,stroke:#7a4baa; - style v534 fill:#e3dcea,stroke:#7a4baa; - style v546 fill:#e3dcea,stroke:#7a4baa; - style v556 fill:#e3dcea,stroke:#7a4baa; + style v417 fill:#e3dcea,stroke:#7a4baa; + style v615 fill:#e3dcea,stroke:#7a4baa; + style v428 fill:#e3dcea,stroke:#7a4baa; + style v436 fill:#e3dcea,stroke:#7a4baa; + style v444 fill:#e3dcea,stroke:#7a4baa; + style v451 fill:#e3dcea,stroke:#7a4baa; + style v461 fill:#e3dcea,stroke:#7a4baa; + style v467 fill:#e3dcea,stroke:#7a4baa; + style v590 fill:#e3dcea,stroke:#7a4baa; + style v479 fill:#e3dcea,stroke:#7a4baa; + style v506 fill:#e3dcea,stroke:#7a4baa; + style v484 fill:#e3dcea,stroke:#7a4baa; + style v491 fill:#e3dcea,stroke:#7a4baa; + style v501 fill:#e3dcea,stroke:#7a4baa; + style v510 fill:#e3dcea,stroke:#7a4baa; + style v537 fill:#e3dcea,stroke:#7a4baa; + style v515 fill:#e3dcea,stroke:#7a4baa; + style v522 fill:#e3dcea,stroke:#7a4baa; + style v532 fill:#e3dcea,stroke:#7a4baa; + style v538 fill:#e3dcea,stroke:#7a4baa; style v568 fill:#e3dcea,stroke:#7a4baa; - style v578 fill:#e3dcea,stroke:#7a4baa; - style v588 fill:#e3dcea,stroke:#7a4baa; - style v596 fill:#e3dcea,stroke:#7a4baa; - style v604 fill:#e3dcea,stroke:#7a4baa; - style v611 fill:#e3dcea,stroke:#7a4baa; - style v621 fill:#e3dcea,stroke:#7a4baa; - style v631 fill:#e3dcea,stroke:#7a4baa; - style v843 fill:#e3dcea,stroke:#7a4baa; - style v636 fill:#e3dcea,stroke:#7a4baa; - style v644 fill:#e3dcea,stroke:#7a4baa; - style v651 fill:#e3dcea,stroke:#7a4baa; - style v661 fill:#e3dcea,stroke:#7a4baa; - style v667 fill:#e3dcea,stroke:#7a4baa; - style v821 fill:#e3dcea,stroke:#7a4baa; - style v676 fill:#e3dcea,stroke:#7a4baa; - style v684 fill:#e3dcea,stroke:#7a4baa; - style v691 fill:#e3dcea,stroke:#7a4baa; - style v701 fill:#e3dcea,stroke:#7a4baa; - style v710 fill:#e3dcea,stroke:#7a4baa; - style v737 fill:#e3dcea,stroke:#7a4baa; - style v715 fill:#e3dcea,stroke:#7a4baa; - style v722 fill:#e3dcea,stroke:#7a4baa; - style v732 fill:#e3dcea,stroke:#7a4baa; - style v741 fill:#e3dcea,stroke:#7a4baa; - style v768 fill:#e3dcea,stroke:#7a4baa; - style v746 fill:#e3dcea,stroke:#7a4baa; - style v753 fill:#e3dcea,stroke:#7a4baa; - style v763 fill:#e3dcea,stroke:#7a4baa; - style v772 fill:#e3dcea,stroke:#7a4baa; - style v799 fill:#e3dcea,stroke:#7a4baa; - style v777 fill:#e3dcea,stroke:#7a4baa; - style v784 fill:#e3dcea,stroke:#7a4baa; - style v794 fill:#e3dcea,stroke:#7a4baa; - style v806 fill:#e3dcea,stroke:#7a4baa; - style v816 fill:#e3dcea,stroke:#7a4baa; + style v546 fill:#e3dcea,stroke:#7a4baa; + style v553 fill:#e3dcea,stroke:#7a4baa; + style v563 fill:#e3dcea,stroke:#7a4baa; + style v575 fill:#e3dcea,stroke:#7a4baa; + style v585 fill:#e3dcea,stroke:#7a4baa; + style v597 fill:#e3dcea,stroke:#7a4baa; + style v607 fill:#e3dcea,stroke:#7a4baa; + style v617 fill:#e3dcea,stroke:#7a4baa; + style v625 fill:#e3dcea,stroke:#7a4baa; + style v633 fill:#e3dcea,stroke:#7a4baa; + style v640 fill:#e3dcea,stroke:#7a4baa; + style v650 fill:#e3dcea,stroke:#7a4baa; + style v660 fill:#e3dcea,stroke:#7a4baa; + style v872 fill:#e3dcea,stroke:#7a4baa; + style v665 fill:#e3dcea,stroke:#7a4baa; + style v673 fill:#e3dcea,stroke:#7a4baa; + style v680 fill:#e3dcea,stroke:#7a4baa; + style v690 fill:#e3dcea,stroke:#7a4baa; + style v696 fill:#e3dcea,stroke:#7a4baa; + style v850 fill:#e3dcea,stroke:#7a4baa; + style v705 fill:#e3dcea,stroke:#7a4baa; + style v713 fill:#e3dcea,stroke:#7a4baa; + style v720 fill:#e3dcea,stroke:#7a4baa; + style v730 fill:#e3dcea,stroke:#7a4baa; + style v739 fill:#e3dcea,stroke:#7a4baa; + style v766 fill:#e3dcea,stroke:#7a4baa; + style v744 fill:#e3dcea,stroke:#7a4baa; + style v751 fill:#e3dcea,stroke:#7a4baa; + style v761 fill:#e3dcea,stroke:#7a4baa; + style v770 fill:#e3dcea,stroke:#7a4baa; + style v797 fill:#e3dcea,stroke:#7a4baa; + style v775 fill:#e3dcea,stroke:#7a4baa; + style v782 fill:#e3dcea,stroke:#7a4baa; + style v792 fill:#e3dcea,stroke:#7a4baa; + style v801 fill:#e3dcea,stroke:#7a4baa; style v828 fill:#e3dcea,stroke:#7a4baa; - style v838 fill:#e3dcea,stroke:#7a4baa; - style v847 fill:#e3dcea,stroke:#7a4baa; - style v1059 fill:#e3dcea,stroke:#7a4baa; - style v852 fill:#e3dcea,stroke:#7a4baa; - style v860 fill:#e3dcea,stroke:#7a4baa; + style v806 fill:#e3dcea,stroke:#7a4baa; + style v813 fill:#e3dcea,stroke:#7a4baa; + style v823 fill:#e3dcea,stroke:#7a4baa; + style v835 fill:#e3dcea,stroke:#7a4baa; + style v845 fill:#e3dcea,stroke:#7a4baa; + style v857 fill:#e3dcea,stroke:#7a4baa; style v867 fill:#e3dcea,stroke:#7a4baa; - style v877 fill:#e3dcea,stroke:#7a4baa; - style v883 fill:#e3dcea,stroke:#7a4baa; - style v1037 fill:#e3dcea,stroke:#7a4baa; - style v892 fill:#e3dcea,stroke:#7a4baa; - style v900 fill:#e3dcea,stroke:#7a4baa; - style v907 fill:#e3dcea,stroke:#7a4baa; - style v917 fill:#e3dcea,stroke:#7a4baa; - style v926 fill:#e3dcea,stroke:#7a4baa; - style v953 fill:#e3dcea,stroke:#7a4baa; - style v931 fill:#e3dcea,stroke:#7a4baa; - style v938 fill:#e3dcea,stroke:#7a4baa; - style v948 fill:#e3dcea,stroke:#7a4baa; - style v957 fill:#e3dcea,stroke:#7a4baa; - style v984 fill:#e3dcea,stroke:#7a4baa; - style v962 fill:#e3dcea,stroke:#7a4baa; - style v969 fill:#e3dcea,stroke:#7a4baa; - style v979 fill:#e3dcea,stroke:#7a4baa; - style v988 fill:#e3dcea,stroke:#7a4baa; - style v1015 fill:#e3dcea,stroke:#7a4baa; - style v993 fill:#e3dcea,stroke:#7a4baa; - style v1000 fill:#e3dcea,stroke:#7a4baa; - style v1010 fill:#e3dcea,stroke:#7a4baa; - style v1022 fill:#e3dcea,stroke:#7a4baa; - style v1032 fill:#e3dcea,stroke:#7a4baa; + style v876 fill:#e3dcea,stroke:#7a4baa; + style v1088 fill:#e3dcea,stroke:#7a4baa; + style v881 fill:#e3dcea,stroke:#7a4baa; + style v889 fill:#e3dcea,stroke:#7a4baa; + style v896 fill:#e3dcea,stroke:#7a4baa; + style v906 fill:#e3dcea,stroke:#7a4baa; + style v912 fill:#e3dcea,stroke:#7a4baa; + style v1066 fill:#e3dcea,stroke:#7a4baa; + style v921 fill:#e3dcea,stroke:#7a4baa; + style v929 fill:#e3dcea,stroke:#7a4baa; + style v936 fill:#e3dcea,stroke:#7a4baa; + style v946 fill:#e3dcea,stroke:#7a4baa; + style v955 fill:#e3dcea,stroke:#7a4baa; + style v982 fill:#e3dcea,stroke:#7a4baa; + style v960 fill:#e3dcea,stroke:#7a4baa; + style v967 fill:#e3dcea,stroke:#7a4baa; + style v977 fill:#e3dcea,stroke:#7a4baa; + style v986 fill:#e3dcea,stroke:#7a4baa; + style v1013 fill:#e3dcea,stroke:#7a4baa; + style v991 fill:#e3dcea,stroke:#7a4baa; + style v998 fill:#e3dcea,stroke:#7a4baa; + style v1008 fill:#e3dcea,stroke:#7a4baa; + style v1017 fill:#e3dcea,stroke:#7a4baa; style v1044 fill:#e3dcea,stroke:#7a4baa; - style v1054 fill:#e3dcea,stroke:#7a4baa; - style v1063 fill:#e3dcea,stroke:#7a4baa; - style v1275 fill:#e3dcea,stroke:#7a4baa; - style v1068 fill:#e3dcea,stroke:#7a4baa; - style v1076 fill:#e3dcea,stroke:#7a4baa; + style v1022 fill:#e3dcea,stroke:#7a4baa; + style v1029 fill:#e3dcea,stroke:#7a4baa; + style v1039 fill:#e3dcea,stroke:#7a4baa; + style v1051 fill:#e3dcea,stroke:#7a4baa; + style v1061 fill:#e3dcea,stroke:#7a4baa; + style v1073 fill:#e3dcea,stroke:#7a4baa; style v1083 fill:#e3dcea,stroke:#7a4baa; - style v1093 fill:#e3dcea,stroke:#7a4baa; - style v1099 fill:#e3dcea,stroke:#7a4baa; - style v1253 fill:#e3dcea,stroke:#7a4baa; - style v1108 fill:#e3dcea,stroke:#7a4baa; - style v1116 fill:#e3dcea,stroke:#7a4baa; - style v1123 fill:#e3dcea,stroke:#7a4baa; - style v1133 fill:#e3dcea,stroke:#7a4baa; - style v1142 fill:#e3dcea,stroke:#7a4baa; - style v1169 fill:#e3dcea,stroke:#7a4baa; - style v1147 fill:#e3dcea,stroke:#7a4baa; - style v1154 fill:#e3dcea,stroke:#7a4baa; - style v1164 fill:#e3dcea,stroke:#7a4baa; - style v1173 fill:#e3dcea,stroke:#7a4baa; - style v1200 fill:#e3dcea,stroke:#7a4baa; - style v1178 fill:#e3dcea,stroke:#7a4baa; - style v1185 fill:#e3dcea,stroke:#7a4baa; - style v1195 fill:#e3dcea,stroke:#7a4baa; - style v1204 fill:#e3dcea,stroke:#7a4baa; - style v1231 fill:#e3dcea,stroke:#7a4baa; - style v1209 fill:#e3dcea,stroke:#7a4baa; - style v1216 fill:#e3dcea,stroke:#7a4baa; - style v1226 fill:#e3dcea,stroke:#7a4baa; - style v1238 fill:#e3dcea,stroke:#7a4baa; - style v1248 fill:#e3dcea,stroke:#7a4baa; - style v1260 fill:#e3dcea,stroke:#7a4baa; - style v1270 fill:#e3dcea,stroke:#7a4baa; + style v1092 fill:#e3dcea,stroke:#7a4baa; + style v1304 fill:#e3dcea,stroke:#7a4baa; + style v1097 fill:#e3dcea,stroke:#7a4baa; + style v1105 fill:#e3dcea,stroke:#7a4baa; + style v1112 fill:#e3dcea,stroke:#7a4baa; + style v1122 fill:#e3dcea,stroke:#7a4baa; + style v1128 fill:#e3dcea,stroke:#7a4baa; style v1282 fill:#e3dcea,stroke:#7a4baa; + style v1137 fill:#e3dcea,stroke:#7a4baa; + style v1145 fill:#e3dcea,stroke:#7a4baa; + style v1152 fill:#e3dcea,stroke:#7a4baa; + style v1162 fill:#e3dcea,stroke:#7a4baa; + style v1171 fill:#e3dcea,stroke:#7a4baa; + style v1198 fill:#e3dcea,stroke:#7a4baa; + style v1176 fill:#e3dcea,stroke:#7a4baa; + style v1183 fill:#e3dcea,stroke:#7a4baa; + style v1193 fill:#e3dcea,stroke:#7a4baa; + style v1202 fill:#e3dcea,stroke:#7a4baa; + style v1229 fill:#e3dcea,stroke:#7a4baa; + style v1207 fill:#e3dcea,stroke:#7a4baa; + style v1214 fill:#e3dcea,stroke:#7a4baa; + style v1224 fill:#e3dcea,stroke:#7a4baa; + style v1233 fill:#e3dcea,stroke:#7a4baa; + style v1260 fill:#e3dcea,stroke:#7a4baa; + style v1238 fill:#e3dcea,stroke:#7a4baa; + style v1245 fill:#e3dcea,stroke:#7a4baa; + style v1255 fill:#e3dcea,stroke:#7a4baa; + style v1267 fill:#e3dcea,stroke:#7a4baa; + style v1277 fill:#e3dcea,stroke:#7a4baa; style v1289 fill:#e3dcea,stroke:#7a4baa; - style v1301 fill:#e3dcea,stroke:#7a4baa; - style v1308 fill:#e3dcea,stroke:#7a4baa; - style v1312 fill:#e3dcea,stroke:#7a4baa; + style v1299 fill:#e3dcea,stroke:#7a4baa; + style v1311 fill:#e3dcea,stroke:#7a4baa; + style v1318 fill:#e3dcea,stroke:#7a4baa; + style v1330 fill:#e3dcea,stroke:#7a4baa; + style v1337 fill:#e3dcea,stroke:#7a4baa; + style v1341 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/multiomics/process_samples.qmd b/components/workflows/multiomics/process_samples.qmd index 23875aae..e9db7693 100644 --- a/components/workflows/multiomics/process_samples.qmd +++ b/components/workflows/multiomics/process_samples.qmd @@ -14,7 +14,7 @@ ID: `process_samples` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/process_samples/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/process_samples/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/multiomics/process_samples/main.nf \ --help ``` @@ -65,6 +65,7 @@ add_id_make_observation_keys_unique: true # rna_max_fraction_mito: 0.2 # rna_min_fraction_ribo: 0.0 # rna_max_fraction_ribo: 0.2 +skip_scrublet_doublet_detection: false # CITE-seq filtering options # prot_min_counts: 3 @@ -123,7 +124,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/multiomics/process_samples/main.nf \ -params-file params.yaml @@ -169,17 +170,18 @@ id present in a requirement of several components for this pipeline. ### RNA filtering options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--rna_min_counts` |Minimum number of counts captured per cell. |`integer`, example: `200` | -|`--rna_max_counts` |Maximum number of counts captured per cell. |`integer`, example: `5000000` | -|`--rna_min_genes_per_cell` |Minimum of non-zero values per cell. |`integer`, example: `200` | -|`--rna_max_genes_per_cell` |Maximum of non-zero values per cell. |`integer`, example: `1500000` | -|`--rna_min_cells_per_gene` |Minimum of non-zero values per gene. |`integer`, example: `3` | -|`--rna_min_fraction_mito` |Minimum fraction of UMIs that are mitochondrial. |`double`, example: `0` | -|`--rna_max_fraction_mito` |Maximum fraction of UMIs that are mitochondrial. |`double`, example: `0.2` | -|`--rna_min_fraction_ribo` |Minimum fraction of UMIs that are mitochondrial. |`double`, example: `0` | -|`--rna_max_fraction_ribo` |Maximum fraction of UMIs that are mitochondrial. |`double`, example: `0.2` | +|`--rna_min_counts` |Minimum number of counts captured per cell. |`integer`, example: `200` | +|`--rna_max_counts` |Maximum number of counts captured per cell. |`integer`, example: `5000000` | +|`--rna_min_genes_per_cell` |Minimum of non-zero values per cell. |`integer`, example: `200` | +|`--rna_max_genes_per_cell` |Maximum of non-zero values per cell. |`integer`, example: `1500000` | +|`--rna_min_cells_per_gene` |Minimum of non-zero values per gene. |`integer`, example: `3` | +|`--rna_min_fraction_mito` |Minimum fraction of UMIs that are mitochondrial. |`double`, example: `0` | +|`--rna_max_fraction_mito` |Maximum fraction of UMIs that are mitochondrial. |`double`, example: `0.2` | +|`--rna_min_fraction_ribo` |Minimum fraction of UMIs that are mitochondrial. |`double`, example: `0` | +|`--rna_max_fraction_ribo` |Maximum fraction of UMIs that are mitochondrial. |`double`, example: `0.2` | +|`--skip_scrublet_doublet_detection` |Skip the scrublet doublet detection step. |`boolean_true` | ### CITE-seq filtering options @@ -319,7 +321,7 @@ flowchart TB v341(filter) v356(cross) v366(cross) - v372(filter) + v375(branch) v402(concat) v387(cross) v397(cross) @@ -352,7 +354,7 @@ flowchart TB v645(cross) v655(cross) v664(filter) - v1959(concat) + v1988(concat) v673(filter) v684(filter) v696(cross) @@ -363,151 +365,155 @@ flowchart TB v739(flatMap) v747(filter) v755(filter) - v770(cross) - v780(cross) - v786(filter) - v801(cross) - v811(cross) - v817(filter) - v832(cross) - v842(cross) - v851(branch) - v878(concat) - v863(cross) - v873(cross) - v879(filter) - v894(cross) - v904(cross) - v910(filter) - v1033(concat) - v922(branch) - v949(concat) - v934(cross) - v944(cross) - v953(branch) - v980(concat) - v965(cross) - v975(cross) - v981(filter) - v1011(concat) - v996(cross) - v1006(cross) - v1018(cross) - v1028(cross) - v1040(cross) - v1050(cross) - v1248(mix) - v1061(filter) - v1069(filter) - v1084(cross) - v1094(cross) - v1100(filter) - v1223(concat) - v1112(branch) - v1139(concat) - v1124(cross) - v1134(cross) - v1143(branch) - v1170(concat) - v1155(cross) - v1165(cross) - v1171(filter) - v1201(concat) - v1186(cross) - v1196(cross) - v1208(cross) - v1218(cross) - v1230(cross) - v1240(cross) - v1250(mix) - v1258(filter) - v1273(cross) - v1283(cross) - v1293(branch) - v1505(concat) - v1298(filter) - v1313(cross) - v1323(cross) - v1329(filter) - v1483(concat) - v1338(filter) - v1353(cross) - v1363(cross) - v1372(branch) - v1399(concat) - v1384(cross) - v1394(cross) - v1403(branch) - v1430(concat) - v1415(cross) - v1425(cross) - v1434(branch) - v1461(concat) - v1446(cross) - v1456(cross) - v1468(cross) - v1478(cross) - v1490(cross) - v1500(cross) - v1509(branch) - v1721(concat) - v1514(filter) + v762(filter) + v777(cross) + v787(cross) + v793(filter) + v808(cross) + v818(cross) + v824(filter) + v854(concat) + v839(cross) + v849(cross) + v861(cross) + v871(cross) + v880(branch) + v907(concat) + v892(cross) + v902(cross) + v908(filter) + v923(cross) + v933(cross) + v939(filter) + v1062(concat) + v951(branch) + v978(concat) + v963(cross) + v973(cross) + v982(branch) + v1009(concat) + v994(cross) + v1004(cross) + v1010(filter) + v1040(concat) + v1025(cross) + v1035(cross) + v1047(cross) + v1057(cross) + v1069(cross) + v1079(cross) + v1277(mix) + v1090(filter) + v1098(filter) + v1113(cross) + v1123(cross) + v1129(filter) + v1252(concat) + v1141(branch) + v1168(concat) + v1153(cross) + v1163(cross) + v1172(branch) + v1199(concat) + v1184(cross) + v1194(cross) + v1200(filter) + v1230(concat) + v1215(cross) + v1225(cross) + v1237(cross) + v1247(cross) + v1259(cross) + v1269(cross) + v1279(mix) + v1287(filter) + v1302(cross) + v1312(cross) + v1322(branch) + v1534(concat) + v1327(filter) + v1342(cross) + v1352(cross) + v1358(filter) + v1512(concat) + v1367(filter) + v1382(cross) + v1392(cross) + v1401(branch) + v1428(concat) + v1413(cross) + v1423(cross) + v1432(branch) + v1459(concat) + v1444(cross) + v1454(cross) + v1463(branch) + v1490(concat) + v1475(cross) + v1485(cross) + v1497(cross) + v1507(cross) + v1519(cross) v1529(cross) - v1539(cross) - v1545(filter) - v1699(concat) - v1554(filter) - v1569(cross) - v1579(cross) - v1588(branch) - v1615(concat) - v1600(cross) - v1610(cross) - v1619(branch) - v1646(concat) - v1631(cross) - v1641(cross) - v1650(branch) - v1677(concat) - v1662(cross) - v1672(cross) - v1684(cross) - v1694(cross) - v1706(cross) - v1716(cross) - v1725(branch) - v1937(concat) - v1730(filter) + v1538(branch) + v1750(concat) + v1543(filter) + v1558(cross) + v1568(cross) + v1574(filter) + v1728(concat) + v1583(filter) + v1598(cross) + v1608(cross) + v1617(branch) + v1644(concat) + v1629(cross) + v1639(cross) + v1648(branch) + v1675(concat) + v1660(cross) + v1670(cross) + v1679(branch) + v1706(concat) + v1691(cross) + v1701(cross) + v1713(cross) + v1723(cross) + v1735(cross) v1745(cross) - v1755(cross) - v1761(filter) - v1915(concat) - v1770(filter) - v1785(cross) - v1795(cross) - v1804(branch) - v1831(concat) - v1816(cross) - v1826(cross) - v1835(branch) - v1862(concat) - v1847(cross) - v1857(cross) - v1866(branch) - v1893(concat) - v1878(cross) - v1888(cross) - v1900(cross) - v1910(cross) - v1922(cross) - v1932(cross) - v1944(cross) - v1954(cross) - v1966(cross) + v1754(branch) + v1966(concat) + v1759(filter) + v1774(cross) + v1784(cross) + v1790(filter) + v1944(concat) + v1799(filter) + v1814(cross) + v1824(cross) + v1833(branch) + v1860(concat) + v1845(cross) + v1855(cross) + v1864(branch) + v1891(concat) + v1876(cross) + v1886(cross) + v1895(branch) + v1922(concat) + v1907(cross) + v1917(cross) + v1929(cross) + v1939(cross) + v1951(cross) + v1961(cross) v1973(cross) - v1985(cross) - v1992(cross) - v1996(Output) + v1983(cross) + v1995(cross) + v2002(cross) + v2014(cross) + v2021(cross) + v2025(Output) subgraph group_split_modalities_workflow [split_modalities_workflow] v59(split_modalities_component) end @@ -531,39 +537,39 @@ flowchart TB end subgraph group_process_batches [process_batches] v689(split_modalities_component) - v1266(merge) - v1306(pca) - v1522(pca) - v1738(pca) + v1295(merge) + v1335(pca) + v1551(pca) + v1767(pca) subgraph group_rna_multisample [rna_multisample] - v763(normalize_total) - v794(log1p) - v825(delete_layer) - v856(scale) - v887(highly_variable_features_scanpy) - v927(grep_mitochondrial_genes) - v958(grep_ribosomal_genes) - v989(calculate_qc_metrics) + v770(normalize_total) + v801(log1p) + v832(delete_layer) + v885(scale) + v916(highly_variable_features_scanpy) + v956(grep_mitochondrial_genes) + v987(grep_ribosomal_genes) + v1018(calculate_qc_metrics) end subgraph group_prot_multisample [prot_multisample] - v1077(clr) - v1117(grep_mitochondrial_genes) - v1148(grep_ribosomal_genes) - v1179(calculate_qc_metrics) + v1106(clr) + v1146(grep_mitochondrial_genes) + v1177(grep_ribosomal_genes) + v1208(calculate_qc_metrics) end subgraph group_neighbors_leiden_umap [neighbors_leiden_umap] - v1346(find_neighbors) - v1377(leiden) - v1408(move_obsm_to_obs) - v1439(umap) - v1562(find_neighbors) - v1593(leiden) - v1624(move_obsm_to_obs) - v1655(umap) - v1778(find_neighbors) - v1809(leiden) - v1840(move_obsm_to_obs) - v1871(umap) + v1375(find_neighbors) + v1406(leiden) + v1437(move_obsm_to_obs) + v1468(umap) + v1591(find_neighbors) + v1622(leiden) + v1653(move_obsm_to_obs) + v1684(umap) + v1807(find_neighbors) + v1838(leiden) + v1869(move_obsm_to_obs) + v1900(umap) end end v136-->v163 @@ -572,28 +578,29 @@ flowchart TB v251-->v278 v282-->v309 v309-->v310 + v375-->v402 v621-->v623 - v851-->v878 - v878-->v879 - v922-->v949 - v953-->v980 - v980-->v981 - v1112-->v1139 - v1143-->v1170 - v1170-->v1171 - v1248-->v1250 - v1293-->v1505 - v1372-->v1399 - v1403-->v1430 - v1434-->v1461 - v1509-->v1721 - v1588-->v1615 - v1619-->v1646 - v1650-->v1677 - v1725-->v1937 - v1804-->v1831 - v1835-->v1862 - v1866-->v1893 + v880-->v907 + v907-->v908 + v951-->v978 + v982-->v1009 + v1009-->v1010 + v1141-->v1168 + v1172-->v1199 + v1199-->v1200 + v1277-->v1279 + v1322-->v1534 + v1401-->v1428 + v1432-->v1459 + v1463-->v1490 + v1538-->v1750 + v1617-->v1644 + v1648-->v1675 + v1679-->v1706 + v1754-->v1966 + v1833-->v1860 + v1864-->v1891 + v1895-->v1922 v0-->v2 v15-->v20 v20-->v27 @@ -643,10 +650,10 @@ flowchart TB v349-->v356 v341-->v356 v341-->v366 - v372-->v380 + v375-->v380 v380-->v387 - v372-->v387 - v372-->v397 + v375-->v387 + v375-->v397 v397-->v402 v402-->v409 v115-->v409 @@ -689,191 +696,196 @@ flowchart TB v673-->v723 v673-->v733 v747-->v755 - v755-->v763 - v763-->v770 - v755-->v770 - v755-->v780 - v786-->v794 - v794-->v801 - v786-->v801 - v786-->v811 - v817-->v825 - v825-->v832 - v817-->v832 - v817-->v842 - v851-->v856 - v856-->v863 - v851-->v863 - v851-->v873 - v873-->v878 - v879-->v887 - v887-->v894 - v879-->v894 - v879-->v904 - v922-->v927 - v927-->v934 - v922-->v934 - v922-->v944 - v944-->v949 - v953-->v958 - v958-->v965 - v953-->v965 - v953-->v975 - v975-->v980 - v981-->v989 - v989-->v996 - v981-->v996 - v981-->v1006 - v1006-->v1011 - v1011-->v1018 - v910-->v1018 - v910-->v1028 - v1028-->v1033 - v1033-->v1040 - v747-->v1040 - v747-->v1050 - v1061-->v1069 - v1069-->v1077 - v1077-->v1084 - v1069-->v1084 - v1069-->v1094 - v1112-->v1117 - v1117-->v1124 - v1112-->v1124 - v1112-->v1134 - v1134-->v1139 - v1143-->v1148 - v1148-->v1155 - v1143-->v1155 - v1143-->v1165 - v1165-->v1170 - v1171-->v1179 - v1179-->v1186 - v1171-->v1186 - v1171-->v1196 - v1196-->v1201 - v1201-->v1208 - v1100-->v1208 - v1100-->v1218 - v1218-->v1223 - v1223-->v1230 - v1061-->v1230 - v1061-->v1240 - v1258-->v1266 - v1266-->v1273 - v1258-->v1273 - v1258-->v1283 - v1293-->v1298 - v1298-->v1306 - v1306-->v1313 - v1298-->v1313 - v1298-->v1323 - v1329-->v1338 - v1338-->v1346 - v1346-->v1353 - v1338-->v1353 - v1338-->v1363 - v1372-->v1377 - v1377-->v1384 - v1372-->v1384 - v1372-->v1394 - v1394-->v1399 - v1403-->v1408 - v1408-->v1415 - v1403-->v1415 - v1403-->v1425 - v1425-->v1430 - v1434-->v1439 - v1439-->v1446 - v1434-->v1446 - v1434-->v1456 - v1456-->v1461 - v1461-->v1468 - v1329-->v1468 - v1329-->v1478 - v1478-->v1483 - v1483-->v1490 - v1293-->v1490 - v1293-->v1500 - v1500-->v1505 - v1509-->v1514 - v1514-->v1522 - v1522-->v1529 - v1514-->v1529 - v1514-->v1539 - v1545-->v1554 - v1554-->v1562 - v1562-->v1569 - v1554-->v1569 - v1554-->v1579 - v1588-->v1593 - v1593-->v1600 - v1588-->v1600 - v1588-->v1610 - v1610-->v1615 - v1619-->v1624 - v1624-->v1631 - v1619-->v1631 - v1619-->v1641 - v1641-->v1646 - v1650-->v1655 - v1655-->v1662 - v1650-->v1662 - v1650-->v1672 - v1672-->v1677 - v1677-->v1684 - v1545-->v1684 - v1545-->v1694 - v1694-->v1699 - v1699-->v1706 - v1509-->v1706 - v1509-->v1716 - v1716-->v1721 - v1725-->v1730 - v1730-->v1738 - v1738-->v1745 - v1730-->v1745 - v1730-->v1755 - v1761-->v1770 - v1770-->v1778 - v1778-->v1785 - v1770-->v1785 - v1770-->v1795 - v1804-->v1809 - v1809-->v1816 - v1804-->v1816 - v1804-->v1826 - v1826-->v1831 - v1835-->v1840 - v1840-->v1847 - v1835-->v1847 - v1835-->v1857 - v1857-->v1862 - v1866-->v1871 - v1871-->v1878 - v1866-->v1878 - v1866-->v1888 - v1888-->v1893 - v1893-->v1900 - v1761-->v1900 - v1761-->v1910 - v1910-->v1915 - v1915-->v1922 - v1725-->v1922 - v1725-->v1932 - v1932-->v1937 - v1937-->v1944 - v664-->v1944 - v664-->v1954 - v1954-->v1959 - v1959-->v1966 - v2-->v1966 + v755-->v762 + v762-->v770 + v770-->v777 + v762-->v777 + v762-->v787 + v793-->v801 + v801-->v808 + v793-->v808 + v793-->v818 + v824-->v832 + v832-->v839 + v824-->v839 + v824-->v849 + v849-->v854 + v854-->v861 + v755-->v861 + v755-->v871 + v880-->v885 + v885-->v892 + v880-->v892 + v880-->v902 + v902-->v907 + v908-->v916 + v916-->v923 + v908-->v923 + v908-->v933 + v951-->v956 + v956-->v963 + v951-->v963 + v951-->v973 + v973-->v978 + v982-->v987 + v987-->v994 + v982-->v994 + v982-->v1004 + v1004-->v1009 + v1010-->v1018 + v1018-->v1025 + v1010-->v1025 + v1010-->v1035 + v1035-->v1040 + v1040-->v1047 + v939-->v1047 + v939-->v1057 + v1057-->v1062 + v1062-->v1069 + v747-->v1069 + v747-->v1079 + v1090-->v1098 + v1098-->v1106 + v1106-->v1113 + v1098-->v1113 + v1098-->v1123 + v1141-->v1146 + v1146-->v1153 + v1141-->v1153 + v1141-->v1163 + v1163-->v1168 + v1172-->v1177 + v1177-->v1184 + v1172-->v1184 + v1172-->v1194 + v1194-->v1199 + v1200-->v1208 + v1208-->v1215 + v1200-->v1215 + v1200-->v1225 + v1225-->v1230 + v1230-->v1237 + v1129-->v1237 + v1129-->v1247 + v1247-->v1252 + v1252-->v1259 + v1090-->v1259 + v1090-->v1269 + v1287-->v1295 + v1295-->v1302 + v1287-->v1302 + v1287-->v1312 + v1322-->v1327 + v1327-->v1335 + v1335-->v1342 + v1327-->v1342 + v1327-->v1352 + v1358-->v1367 + v1367-->v1375 + v1375-->v1382 + v1367-->v1382 + v1367-->v1392 + v1401-->v1406 + v1406-->v1413 + v1401-->v1413 + v1401-->v1423 + v1423-->v1428 + v1432-->v1437 + v1437-->v1444 + v1432-->v1444 + v1432-->v1454 + v1454-->v1459 + v1463-->v1468 + v1468-->v1475 + v1463-->v1475 + v1463-->v1485 + v1485-->v1490 + v1490-->v1497 + v1358-->v1497 + v1358-->v1507 + v1507-->v1512 + v1512-->v1519 + v1322-->v1519 + v1322-->v1529 + v1529-->v1534 + v1538-->v1543 + v1543-->v1551 + v1551-->v1558 + v1543-->v1558 + v1543-->v1568 + v1574-->v1583 + v1583-->v1591 + v1591-->v1598 + v1583-->v1598 + v1583-->v1608 + v1617-->v1622 + v1622-->v1629 + v1617-->v1629 + v1617-->v1639 + v1639-->v1644 + v1648-->v1653 + v1653-->v1660 + v1648-->v1660 + v1648-->v1670 + v1670-->v1675 + v1679-->v1684 + v1684-->v1691 + v1679-->v1691 + v1679-->v1701 + v1701-->v1706 + v1706-->v1713 + v1574-->v1713 + v1574-->v1723 + v1723-->v1728 + v1728-->v1735 + v1538-->v1735 + v1538-->v1745 + v1745-->v1750 + v1754-->v1759 + v1759-->v1767 + v1767-->v1774 + v1759-->v1774 + v1759-->v1784 + v1790-->v1799 + v1799-->v1807 + v1807-->v1814 + v1799-->v1814 + v1799-->v1824 + v1833-->v1838 + v1838-->v1845 + v1833-->v1845 + v1833-->v1855 + v1855-->v1860 + v1864-->v1869 + v1869-->v1876 + v1864-->v1876 + v1864-->v1886 + v1886-->v1891 + v1895-->v1900 + v1900-->v1907 + v1895-->v1907 + v1895-->v1917 + v1917-->v1922 + v1922-->v1929 + v1790-->v1929 + v1790-->v1939 + v1939-->v1944 + v1944-->v1951 + v1754-->v1951 + v1754-->v1961 + v1961-->v1966 v1966-->v1973 - v2-->v1973 - v2-->v1985 - v1985-->v1992 - v2-->v1992 - v1992-->v1996 + v664-->v1973 + v664-->v1983 + v1983-->v1988 + v1988-->v1995 + v2-->v1995 + v1995-->v2002 + v2-->v2002 + v2-->v2014 + v2014-->v2021 + v2-->v2021 + v2021-->v2025 v2-->v15 v37-->v43 v20-->v37 @@ -896,8 +908,8 @@ flowchart TB v287-->v304 v335-->v341 v318-->v335 - v366-->v372 v349-->v366 + v366-->v375 v380-->v397 v402-->v419 v109-->v430 @@ -923,75 +935,76 @@ flowchart TB v689-->v706 v716-->v733 v739-->v747 - v1050-->v1248 - v780-->v786 - v763-->v780 - v811-->v817 - v794-->v811 - v825-->v842 - v842-->v851 - v856-->v873 - v904-->v910 - v887-->v904 - v910-->v922 - v927-->v944 - v949-->v953 - v958-->v975 - v989-->v1006 - v1011-->v1028 - v1033-->v1050 - v739-->v1061 - v1240-->v1248 - v1094-->v1100 - v1077-->v1094 - v1100-->v1112 - v1117-->v1134 - v1139-->v1143 - v1148-->v1165 - v1179-->v1196 - v1201-->v1218 - v1223-->v1240 - v739-->v1250 - v1250-->v1258 - v1266-->v1283 - v1283-->v1293 - v1323-->v1329 - v1306-->v1323 - v1346-->v1363 - v1363-->v1372 - v1377-->v1394 - v1399-->v1403 - v1408-->v1425 - v1430-->v1434 - v1439-->v1456 - v1461-->v1478 - v1483-->v1500 - v1505-->v1509 - v1539-->v1545 - v1522-->v1539 - v1562-->v1579 - v1579-->v1588 - v1593-->v1610 - v1615-->v1619 - v1624-->v1641 - v1646-->v1650 - v1655-->v1672 - v1677-->v1694 - v1699-->v1716 - v1721-->v1725 - v1755-->v1761 - v1738-->v1755 - v1778-->v1795 - v1795-->v1804 - v1809-->v1826 - v1831-->v1835 - v1840-->v1857 - v1862-->v1866 - v1871-->v1888 - v1893-->v1910 - v1915-->v1932 - v1937-->v1954 - v1959-->v1985 + v1079-->v1277 + v787-->v793 + v770-->v787 + v818-->v824 + v801-->v818 + v832-->v849 + v854-->v871 + v871-->v880 + v885-->v902 + v933-->v939 + v916-->v933 + v939-->v951 + v956-->v973 + v978-->v982 + v987-->v1004 + v1018-->v1035 + v1040-->v1057 + v1062-->v1079 + v739-->v1090 + v1269-->v1277 + v1123-->v1129 + v1106-->v1123 + v1129-->v1141 + v1146-->v1163 + v1168-->v1172 + v1177-->v1194 + v1208-->v1225 + v1230-->v1247 + v1252-->v1269 + v739-->v1279 + v1279-->v1287 + v1295-->v1312 + v1312-->v1322 + v1352-->v1358 + v1335-->v1352 + v1375-->v1392 + v1392-->v1401 + v1406-->v1423 + v1428-->v1432 + v1437-->v1454 + v1459-->v1463 + v1468-->v1485 + v1490-->v1507 + v1512-->v1529 + v1534-->v1538 + v1568-->v1574 + v1551-->v1568 + v1591-->v1608 + v1608-->v1617 + v1622-->v1639 + v1644-->v1648 + v1653-->v1670 + v1675-->v1679 + v1684-->v1701 + v1706-->v1723 + v1728-->v1745 + v1750-->v1754 + v1784-->v1790 + v1767-->v1784 + v1807-->v1824 + v1824-->v1833 + v1838-->v1855 + v1860-->v1864 + v1869-->v1886 + v1891-->v1895 + v1900-->v1917 + v1922-->v1939 + v1944-->v1961 + v1966-->v1983 + v1988-->v2014 style group_split_modalities_workflow fill:#F0F0F0,stroke:#969696; style group_rna_singlesample fill:#F0F0F0,stroke:#969696; style group_prot_singlesample fill:#F0F0F0,stroke:#969696; @@ -1052,7 +1065,7 @@ flowchart TB style v349 fill:#e3dcea,stroke:#7a4baa; style v356 fill:#e3dcea,stroke:#7a4baa; style v366 fill:#e3dcea,stroke:#7a4baa; - style v372 fill:#e3dcea,stroke:#7a4baa; + style v375 fill:#e3dcea,stroke:#7a4baa; style v402 fill:#e3dcea,stroke:#7a4baa; style v380 fill:#e3dcea,stroke:#7a4baa; style v387 fill:#e3dcea,stroke:#7a4baa; @@ -1090,7 +1103,7 @@ flowchart TB style v645 fill:#e3dcea,stroke:#7a4baa; style v655 fill:#e3dcea,stroke:#7a4baa; style v664 fill:#e3dcea,stroke:#7a4baa; - style v1959 fill:#e3dcea,stroke:#7a4baa; + style v1988 fill:#e3dcea,stroke:#7a4baa; style v673 fill:#e3dcea,stroke:#7a4baa; style v684 fill:#e3dcea,stroke:#7a4baa; style v689 fill:#e3dcea,stroke:#7a4baa; @@ -1102,179 +1115,183 @@ flowchart TB style v739 fill:#e3dcea,stroke:#7a4baa; style v747 fill:#e3dcea,stroke:#7a4baa; style v755 fill:#e3dcea,stroke:#7a4baa; - style v763 fill:#e3dcea,stroke:#7a4baa; + style v762 fill:#e3dcea,stroke:#7a4baa; style v770 fill:#e3dcea,stroke:#7a4baa; - style v780 fill:#e3dcea,stroke:#7a4baa; - style v786 fill:#e3dcea,stroke:#7a4baa; - style v794 fill:#e3dcea,stroke:#7a4baa; + style v777 fill:#e3dcea,stroke:#7a4baa; + style v787 fill:#e3dcea,stroke:#7a4baa; + style v793 fill:#e3dcea,stroke:#7a4baa; style v801 fill:#e3dcea,stroke:#7a4baa; - style v811 fill:#e3dcea,stroke:#7a4baa; - style v817 fill:#e3dcea,stroke:#7a4baa; - style v825 fill:#e3dcea,stroke:#7a4baa; + style v808 fill:#e3dcea,stroke:#7a4baa; + style v818 fill:#e3dcea,stroke:#7a4baa; + style v824 fill:#e3dcea,stroke:#7a4baa; + style v854 fill:#e3dcea,stroke:#7a4baa; style v832 fill:#e3dcea,stroke:#7a4baa; - style v842 fill:#e3dcea,stroke:#7a4baa; - style v851 fill:#e3dcea,stroke:#7a4baa; - style v878 fill:#e3dcea,stroke:#7a4baa; - style v856 fill:#e3dcea,stroke:#7a4baa; - style v863 fill:#e3dcea,stroke:#7a4baa; - style v873 fill:#e3dcea,stroke:#7a4baa; - style v879 fill:#e3dcea,stroke:#7a4baa; - style v887 fill:#e3dcea,stroke:#7a4baa; - style v894 fill:#e3dcea,stroke:#7a4baa; - style v904 fill:#e3dcea,stroke:#7a4baa; - style v910 fill:#e3dcea,stroke:#7a4baa; - style v1033 fill:#e3dcea,stroke:#7a4baa; - style v922 fill:#e3dcea,stroke:#7a4baa; - style v949 fill:#e3dcea,stroke:#7a4baa; - style v927 fill:#e3dcea,stroke:#7a4baa; - style v934 fill:#e3dcea,stroke:#7a4baa; - style v944 fill:#e3dcea,stroke:#7a4baa; - style v953 fill:#e3dcea,stroke:#7a4baa; - style v980 fill:#e3dcea,stroke:#7a4baa; - style v958 fill:#e3dcea,stroke:#7a4baa; - style v965 fill:#e3dcea,stroke:#7a4baa; - style v975 fill:#e3dcea,stroke:#7a4baa; - style v981 fill:#e3dcea,stroke:#7a4baa; - style v1011 fill:#e3dcea,stroke:#7a4baa; - style v989 fill:#e3dcea,stroke:#7a4baa; - style v996 fill:#e3dcea,stroke:#7a4baa; - style v1006 fill:#e3dcea,stroke:#7a4baa; - style v1018 fill:#e3dcea,stroke:#7a4baa; - style v1028 fill:#e3dcea,stroke:#7a4baa; + style v839 fill:#e3dcea,stroke:#7a4baa; + style v849 fill:#e3dcea,stroke:#7a4baa; + style v861 fill:#e3dcea,stroke:#7a4baa; + style v871 fill:#e3dcea,stroke:#7a4baa; + style v880 fill:#e3dcea,stroke:#7a4baa; + style v907 fill:#e3dcea,stroke:#7a4baa; + style v885 fill:#e3dcea,stroke:#7a4baa; + style v892 fill:#e3dcea,stroke:#7a4baa; + style v902 fill:#e3dcea,stroke:#7a4baa; + style v908 fill:#e3dcea,stroke:#7a4baa; + style v916 fill:#e3dcea,stroke:#7a4baa; + style v923 fill:#e3dcea,stroke:#7a4baa; + style v933 fill:#e3dcea,stroke:#7a4baa; + style v939 fill:#e3dcea,stroke:#7a4baa; + style v1062 fill:#e3dcea,stroke:#7a4baa; + style v951 fill:#e3dcea,stroke:#7a4baa; + style v978 fill:#e3dcea,stroke:#7a4baa; + style v956 fill:#e3dcea,stroke:#7a4baa; + style v963 fill:#e3dcea,stroke:#7a4baa; + style v973 fill:#e3dcea,stroke:#7a4baa; + style v982 fill:#e3dcea,stroke:#7a4baa; + style v1009 fill:#e3dcea,stroke:#7a4baa; + style v987 fill:#e3dcea,stroke:#7a4baa; + style v994 fill:#e3dcea,stroke:#7a4baa; + style v1004 fill:#e3dcea,stroke:#7a4baa; + style v1010 fill:#e3dcea,stroke:#7a4baa; style v1040 fill:#e3dcea,stroke:#7a4baa; - style v1050 fill:#e3dcea,stroke:#7a4baa; - style v1248 fill:#e3dcea,stroke:#7a4baa; - style v1061 fill:#e3dcea,stroke:#7a4baa; + style v1018 fill:#e3dcea,stroke:#7a4baa; + style v1025 fill:#e3dcea,stroke:#7a4baa; + style v1035 fill:#e3dcea,stroke:#7a4baa; + style v1047 fill:#e3dcea,stroke:#7a4baa; + style v1057 fill:#e3dcea,stroke:#7a4baa; style v1069 fill:#e3dcea,stroke:#7a4baa; - style v1077 fill:#e3dcea,stroke:#7a4baa; - style v1084 fill:#e3dcea,stroke:#7a4baa; - style v1094 fill:#e3dcea,stroke:#7a4baa; - style v1100 fill:#e3dcea,stroke:#7a4baa; - style v1223 fill:#e3dcea,stroke:#7a4baa; - style v1112 fill:#e3dcea,stroke:#7a4baa; - style v1139 fill:#e3dcea,stroke:#7a4baa; - style v1117 fill:#e3dcea,stroke:#7a4baa; - style v1124 fill:#e3dcea,stroke:#7a4baa; - style v1134 fill:#e3dcea,stroke:#7a4baa; - style v1143 fill:#e3dcea,stroke:#7a4baa; - style v1170 fill:#e3dcea,stroke:#7a4baa; - style v1148 fill:#e3dcea,stroke:#7a4baa; - style v1155 fill:#e3dcea,stroke:#7a4baa; - style v1165 fill:#e3dcea,stroke:#7a4baa; - style v1171 fill:#e3dcea,stroke:#7a4baa; - style v1201 fill:#e3dcea,stroke:#7a4baa; - style v1179 fill:#e3dcea,stroke:#7a4baa; - style v1186 fill:#e3dcea,stroke:#7a4baa; - style v1196 fill:#e3dcea,stroke:#7a4baa; - style v1208 fill:#e3dcea,stroke:#7a4baa; - style v1218 fill:#e3dcea,stroke:#7a4baa; + style v1079 fill:#e3dcea,stroke:#7a4baa; + style v1277 fill:#e3dcea,stroke:#7a4baa; + style v1090 fill:#e3dcea,stroke:#7a4baa; + style v1098 fill:#e3dcea,stroke:#7a4baa; + style v1106 fill:#e3dcea,stroke:#7a4baa; + style v1113 fill:#e3dcea,stroke:#7a4baa; + style v1123 fill:#e3dcea,stroke:#7a4baa; + style v1129 fill:#e3dcea,stroke:#7a4baa; + style v1252 fill:#e3dcea,stroke:#7a4baa; + style v1141 fill:#e3dcea,stroke:#7a4baa; + style v1168 fill:#e3dcea,stroke:#7a4baa; + style v1146 fill:#e3dcea,stroke:#7a4baa; + style v1153 fill:#e3dcea,stroke:#7a4baa; + style v1163 fill:#e3dcea,stroke:#7a4baa; + style v1172 fill:#e3dcea,stroke:#7a4baa; + style v1199 fill:#e3dcea,stroke:#7a4baa; + style v1177 fill:#e3dcea,stroke:#7a4baa; + style v1184 fill:#e3dcea,stroke:#7a4baa; + style v1194 fill:#e3dcea,stroke:#7a4baa; + style v1200 fill:#e3dcea,stroke:#7a4baa; style v1230 fill:#e3dcea,stroke:#7a4baa; - style v1240 fill:#e3dcea,stroke:#7a4baa; - style v1250 fill:#e3dcea,stroke:#7a4baa; - style v1258 fill:#e3dcea,stroke:#7a4baa; - style v1266 fill:#e3dcea,stroke:#7a4baa; - style v1273 fill:#e3dcea,stroke:#7a4baa; - style v1283 fill:#e3dcea,stroke:#7a4baa; - style v1293 fill:#e3dcea,stroke:#7a4baa; - style v1505 fill:#e3dcea,stroke:#7a4baa; - style v1298 fill:#e3dcea,stroke:#7a4baa; - style v1306 fill:#e3dcea,stroke:#7a4baa; - style v1313 fill:#e3dcea,stroke:#7a4baa; - style v1323 fill:#e3dcea,stroke:#7a4baa; - style v1329 fill:#e3dcea,stroke:#7a4baa; - style v1483 fill:#e3dcea,stroke:#7a4baa; - style v1338 fill:#e3dcea,stroke:#7a4baa; - style v1346 fill:#e3dcea,stroke:#7a4baa; - style v1353 fill:#e3dcea,stroke:#7a4baa; - style v1363 fill:#e3dcea,stroke:#7a4baa; - style v1372 fill:#e3dcea,stroke:#7a4baa; - style v1399 fill:#e3dcea,stroke:#7a4baa; - style v1377 fill:#e3dcea,stroke:#7a4baa; - style v1384 fill:#e3dcea,stroke:#7a4baa; - style v1394 fill:#e3dcea,stroke:#7a4baa; - style v1403 fill:#e3dcea,stroke:#7a4baa; - style v1430 fill:#e3dcea,stroke:#7a4baa; - style v1408 fill:#e3dcea,stroke:#7a4baa; - style v1415 fill:#e3dcea,stroke:#7a4baa; - style v1425 fill:#e3dcea,stroke:#7a4baa; - style v1434 fill:#e3dcea,stroke:#7a4baa; - style v1461 fill:#e3dcea,stroke:#7a4baa; - style v1439 fill:#e3dcea,stroke:#7a4baa; - style v1446 fill:#e3dcea,stroke:#7a4baa; - style v1456 fill:#e3dcea,stroke:#7a4baa; - style v1468 fill:#e3dcea,stroke:#7a4baa; - style v1478 fill:#e3dcea,stroke:#7a4baa; + style v1208 fill:#e3dcea,stroke:#7a4baa; + style v1215 fill:#e3dcea,stroke:#7a4baa; + style v1225 fill:#e3dcea,stroke:#7a4baa; + style v1237 fill:#e3dcea,stroke:#7a4baa; + style v1247 fill:#e3dcea,stroke:#7a4baa; + style v1259 fill:#e3dcea,stroke:#7a4baa; + style v1269 fill:#e3dcea,stroke:#7a4baa; + style v1279 fill:#e3dcea,stroke:#7a4baa; + style v1287 fill:#e3dcea,stroke:#7a4baa; + style v1295 fill:#e3dcea,stroke:#7a4baa; + style v1302 fill:#e3dcea,stroke:#7a4baa; + style v1312 fill:#e3dcea,stroke:#7a4baa; + style v1322 fill:#e3dcea,stroke:#7a4baa; + style v1534 fill:#e3dcea,stroke:#7a4baa; + style v1327 fill:#e3dcea,stroke:#7a4baa; + style v1335 fill:#e3dcea,stroke:#7a4baa; + style v1342 fill:#e3dcea,stroke:#7a4baa; + style v1352 fill:#e3dcea,stroke:#7a4baa; + style v1358 fill:#e3dcea,stroke:#7a4baa; + style v1512 fill:#e3dcea,stroke:#7a4baa; + style v1367 fill:#e3dcea,stroke:#7a4baa; + style v1375 fill:#e3dcea,stroke:#7a4baa; + style v1382 fill:#e3dcea,stroke:#7a4baa; + style v1392 fill:#e3dcea,stroke:#7a4baa; + style v1401 fill:#e3dcea,stroke:#7a4baa; + style v1428 fill:#e3dcea,stroke:#7a4baa; + style v1406 fill:#e3dcea,stroke:#7a4baa; + style v1413 fill:#e3dcea,stroke:#7a4baa; + style v1423 fill:#e3dcea,stroke:#7a4baa; + style v1432 fill:#e3dcea,stroke:#7a4baa; + style v1459 fill:#e3dcea,stroke:#7a4baa; + style v1437 fill:#e3dcea,stroke:#7a4baa; + style v1444 fill:#e3dcea,stroke:#7a4baa; + style v1454 fill:#e3dcea,stroke:#7a4baa; + style v1463 fill:#e3dcea,stroke:#7a4baa; style v1490 fill:#e3dcea,stroke:#7a4baa; - style v1500 fill:#e3dcea,stroke:#7a4baa; - style v1509 fill:#e3dcea,stroke:#7a4baa; - style v1721 fill:#e3dcea,stroke:#7a4baa; - style v1514 fill:#e3dcea,stroke:#7a4baa; - style v1522 fill:#e3dcea,stroke:#7a4baa; + style v1468 fill:#e3dcea,stroke:#7a4baa; + style v1475 fill:#e3dcea,stroke:#7a4baa; + style v1485 fill:#e3dcea,stroke:#7a4baa; + style v1497 fill:#e3dcea,stroke:#7a4baa; + style v1507 fill:#e3dcea,stroke:#7a4baa; + style v1519 fill:#e3dcea,stroke:#7a4baa; style v1529 fill:#e3dcea,stroke:#7a4baa; - style v1539 fill:#e3dcea,stroke:#7a4baa; - style v1545 fill:#e3dcea,stroke:#7a4baa; - style v1699 fill:#e3dcea,stroke:#7a4baa; - style v1554 fill:#e3dcea,stroke:#7a4baa; - style v1562 fill:#e3dcea,stroke:#7a4baa; - style v1569 fill:#e3dcea,stroke:#7a4baa; - style v1579 fill:#e3dcea,stroke:#7a4baa; - style v1588 fill:#e3dcea,stroke:#7a4baa; - style v1615 fill:#e3dcea,stroke:#7a4baa; - style v1593 fill:#e3dcea,stroke:#7a4baa; - style v1600 fill:#e3dcea,stroke:#7a4baa; - style v1610 fill:#e3dcea,stroke:#7a4baa; - style v1619 fill:#e3dcea,stroke:#7a4baa; - style v1646 fill:#e3dcea,stroke:#7a4baa; - style v1624 fill:#e3dcea,stroke:#7a4baa; - style v1631 fill:#e3dcea,stroke:#7a4baa; - style v1641 fill:#e3dcea,stroke:#7a4baa; - style v1650 fill:#e3dcea,stroke:#7a4baa; - style v1677 fill:#e3dcea,stroke:#7a4baa; - style v1655 fill:#e3dcea,stroke:#7a4baa; - style v1662 fill:#e3dcea,stroke:#7a4baa; - style v1672 fill:#e3dcea,stroke:#7a4baa; - style v1684 fill:#e3dcea,stroke:#7a4baa; - style v1694 fill:#e3dcea,stroke:#7a4baa; + style v1538 fill:#e3dcea,stroke:#7a4baa; + style v1750 fill:#e3dcea,stroke:#7a4baa; + style v1543 fill:#e3dcea,stroke:#7a4baa; + style v1551 fill:#e3dcea,stroke:#7a4baa; + style v1558 fill:#e3dcea,stroke:#7a4baa; + style v1568 fill:#e3dcea,stroke:#7a4baa; + style v1574 fill:#e3dcea,stroke:#7a4baa; + style v1728 fill:#e3dcea,stroke:#7a4baa; + style v1583 fill:#e3dcea,stroke:#7a4baa; + style v1591 fill:#e3dcea,stroke:#7a4baa; + style v1598 fill:#e3dcea,stroke:#7a4baa; + style v1608 fill:#e3dcea,stroke:#7a4baa; + style v1617 fill:#e3dcea,stroke:#7a4baa; + style v1644 fill:#e3dcea,stroke:#7a4baa; + style v1622 fill:#e3dcea,stroke:#7a4baa; + style v1629 fill:#e3dcea,stroke:#7a4baa; + style v1639 fill:#e3dcea,stroke:#7a4baa; + style v1648 fill:#e3dcea,stroke:#7a4baa; + style v1675 fill:#e3dcea,stroke:#7a4baa; + style v1653 fill:#e3dcea,stroke:#7a4baa; + style v1660 fill:#e3dcea,stroke:#7a4baa; + style v1670 fill:#e3dcea,stroke:#7a4baa; + style v1679 fill:#e3dcea,stroke:#7a4baa; style v1706 fill:#e3dcea,stroke:#7a4baa; - style v1716 fill:#e3dcea,stroke:#7a4baa; - style v1725 fill:#e3dcea,stroke:#7a4baa; - style v1937 fill:#e3dcea,stroke:#7a4baa; - style v1730 fill:#e3dcea,stroke:#7a4baa; - style v1738 fill:#e3dcea,stroke:#7a4baa; + style v1684 fill:#e3dcea,stroke:#7a4baa; + style v1691 fill:#e3dcea,stroke:#7a4baa; + style v1701 fill:#e3dcea,stroke:#7a4baa; + style v1713 fill:#e3dcea,stroke:#7a4baa; + style v1723 fill:#e3dcea,stroke:#7a4baa; + style v1735 fill:#e3dcea,stroke:#7a4baa; style v1745 fill:#e3dcea,stroke:#7a4baa; - style v1755 fill:#e3dcea,stroke:#7a4baa; - style v1761 fill:#e3dcea,stroke:#7a4baa; - style v1915 fill:#e3dcea,stroke:#7a4baa; - style v1770 fill:#e3dcea,stroke:#7a4baa; - style v1778 fill:#e3dcea,stroke:#7a4baa; - style v1785 fill:#e3dcea,stroke:#7a4baa; - style v1795 fill:#e3dcea,stroke:#7a4baa; - style v1804 fill:#e3dcea,stroke:#7a4baa; - style v1831 fill:#e3dcea,stroke:#7a4baa; - style v1809 fill:#e3dcea,stroke:#7a4baa; - style v1816 fill:#e3dcea,stroke:#7a4baa; - style v1826 fill:#e3dcea,stroke:#7a4baa; - style v1835 fill:#e3dcea,stroke:#7a4baa; - style v1862 fill:#e3dcea,stroke:#7a4baa; - style v1840 fill:#e3dcea,stroke:#7a4baa; - style v1847 fill:#e3dcea,stroke:#7a4baa; - style v1857 fill:#e3dcea,stroke:#7a4baa; - style v1866 fill:#e3dcea,stroke:#7a4baa; - style v1893 fill:#e3dcea,stroke:#7a4baa; - style v1871 fill:#e3dcea,stroke:#7a4baa; - style v1878 fill:#e3dcea,stroke:#7a4baa; - style v1888 fill:#e3dcea,stroke:#7a4baa; - style v1900 fill:#e3dcea,stroke:#7a4baa; - style v1910 fill:#e3dcea,stroke:#7a4baa; - style v1922 fill:#e3dcea,stroke:#7a4baa; - style v1932 fill:#e3dcea,stroke:#7a4baa; - style v1944 fill:#e3dcea,stroke:#7a4baa; - style v1954 fill:#e3dcea,stroke:#7a4baa; + style v1754 fill:#e3dcea,stroke:#7a4baa; style v1966 fill:#e3dcea,stroke:#7a4baa; + style v1759 fill:#e3dcea,stroke:#7a4baa; + style v1767 fill:#e3dcea,stroke:#7a4baa; + style v1774 fill:#e3dcea,stroke:#7a4baa; + style v1784 fill:#e3dcea,stroke:#7a4baa; + style v1790 fill:#e3dcea,stroke:#7a4baa; + style v1944 fill:#e3dcea,stroke:#7a4baa; + style v1799 fill:#e3dcea,stroke:#7a4baa; + style v1807 fill:#e3dcea,stroke:#7a4baa; + style v1814 fill:#e3dcea,stroke:#7a4baa; + style v1824 fill:#e3dcea,stroke:#7a4baa; + style v1833 fill:#e3dcea,stroke:#7a4baa; + style v1860 fill:#e3dcea,stroke:#7a4baa; + style v1838 fill:#e3dcea,stroke:#7a4baa; + style v1845 fill:#e3dcea,stroke:#7a4baa; + style v1855 fill:#e3dcea,stroke:#7a4baa; + style v1864 fill:#e3dcea,stroke:#7a4baa; + style v1891 fill:#e3dcea,stroke:#7a4baa; + style v1869 fill:#e3dcea,stroke:#7a4baa; + style v1876 fill:#e3dcea,stroke:#7a4baa; + style v1886 fill:#e3dcea,stroke:#7a4baa; + style v1895 fill:#e3dcea,stroke:#7a4baa; + style v1922 fill:#e3dcea,stroke:#7a4baa; + style v1900 fill:#e3dcea,stroke:#7a4baa; + style v1907 fill:#e3dcea,stroke:#7a4baa; + style v1917 fill:#e3dcea,stroke:#7a4baa; + style v1929 fill:#e3dcea,stroke:#7a4baa; + style v1939 fill:#e3dcea,stroke:#7a4baa; + style v1951 fill:#e3dcea,stroke:#7a4baa; + style v1961 fill:#e3dcea,stroke:#7a4baa; style v1973 fill:#e3dcea,stroke:#7a4baa; - style v1985 fill:#e3dcea,stroke:#7a4baa; - style v1992 fill:#e3dcea,stroke:#7a4baa; - style v1996 fill:#e3dcea,stroke:#7a4baa; + style v1983 fill:#e3dcea,stroke:#7a4baa; + style v1995 fill:#e3dcea,stroke:#7a4baa; + style v2002 fill:#e3dcea,stroke:#7a4baa; + style v2014 fill:#e3dcea,stroke:#7a4baa; + style v2021 fill:#e3dcea,stroke:#7a4baa; + style v2025 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/multiomics/split_h5mu.qmd b/components/workflows/multiomics/split_h5mu.qmd index 2b3b7d81..d0f4ebad 100644 --- a/components/workflows/multiomics/split_h5mu.qmd +++ b/components/workflows/multiomics/split_h5mu.qmd @@ -14,7 +14,7 @@ ID: `split_h5mu` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/split_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/split_h5mu/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,8 +30,8 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/workflows/multiomics/split_h5mu/main.nf \ + -r v4.0.0 -latest \ + -main-script target/_private/nextflow/workflows/multiomics/split_h5mu/main.nf \ --help ``` @@ -40,31 +40,15 @@ nextflow run openpipelines-bio/openpipeline \
Example of `params.yaml` ```yaml -# Input & specifications -input: # please fill in - example: "path/to/file" -modality: "rna" -obs_feature: # please fill in - example: "celltype" -drop_obs_nan: false -ensure_unique_filenames: false - -# Outputs -# output: "$id.$key.output" -# output_compression: "gzip" -# output_files: "$id.$key.output_files.csv" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments + ```
```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ - -main-script target/nextflow/workflows/multiomics/split_h5mu/main.nf \ + -main-script target/_private/nextflow/workflows/multiomics/split_h5mu/main.nf \ -params-file params.yaml ``` @@ -79,7 +63,7 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen |Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| |`--input` |Path to a single .h5mu file. |`file`, required | -|`--modality` | |`string`, default: `"rna"` | +|`--modality` |Which modality from the input MuData file to process. |`string`, default: `"rna"` | |`--obs_feature` |The .obs column to split the mudata on. |`string`, required, example: `"celltype"` | |`--drop_obs_nan` |Whether to drop all .obs columns that contain only nan values after splitting. |`boolean_true` | |`--ensure_unique_filenames` |Append number suffixes to ensure unique filenames after sanitizing obs feature values. |`boolean_true` | diff --git a/components/workflows/multiomics/split_modalities.qmd b/components/workflows/multiomics/split_modalities.qmd index 9f500ab1..f8f907a6 100644 --- a/components/workflows/multiomics/split_modalities.qmd +++ b/components/workflows/multiomics/split_modalities.qmd @@ -14,7 +14,7 @@ ID: `split_modalities` Namespace: `workflows/multiomics` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/multiomics/split_modalities/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/multiomics/split_modalities/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,8 +30,8 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ - -main-script target/nextflow/workflows/multiomics/split_modalities/main.nf \ + -r v4.0.0 -latest \ + -main-script target/_private/nextflow/workflows/multiomics/split_modalities/main.nf \ --help ``` @@ -40,27 +40,15 @@ nextflow run openpipelines-bio/openpipeline \
Example of `params.yaml` ```yaml -# Inputs -id: # please fill in - example: "foo" -input: # please fill in - example: "input.h5mu" -# Outputs -# output: "$id.$key.output" -# output_types: "$id.$key.output_types.csv" - -# Nextflow input-output arguments -publish_dir: # please fill in - example: "output/" -# param_list: "my_params.yaml" - -# Arguments ```
```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ - -main-script target/nextflow/workflows/multiomics/split_modalities/main.nf \ + -main-script target/_private/nextflow/workflows/multiomics/split_modalities/main.nf \ -params-file params.yaml ``` diff --git a/components/workflows/prot/prot_multisample.qmd b/components/workflows/prot/prot_multisample.qmd index 037811a5..60fb5dcb 100644 --- a/components/workflows/prot/prot_multisample.qmd +++ b/components/workflows/prot/prot_multisample.qmd @@ -14,7 +14,7 @@ ID: `prot_multisample` Namespace: `workflows/prot` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/prot/prot_multisample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/prot/prot_multisample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/prot/prot_multisample/main.nf \ --help ``` @@ -71,7 +71,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/prot/prot_multisample/main.nf \ -params-file params.yaml diff --git a/components/workflows/prot/prot_singlesample.qmd b/components/workflows/prot/prot_singlesample.qmd index 934b3e1e..119148a4 100644 --- a/components/workflows/prot/prot_singlesample.qmd +++ b/components/workflows/prot/prot_singlesample.qmd @@ -14,7 +14,7 @@ ID: `prot_singlesample` Namespace: `workflows/prot` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/prot/prot_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/prot/prot_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/prot/prot_singlesample/main.nf \ --help ``` @@ -65,7 +65,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/prot/prot_singlesample/main.nf \ -params-file params.yaml diff --git a/components/workflows/qc/qc.qmd b/components/workflows/qc/qc.qmd index e296df33..d803b6cd 100644 --- a/components/workflows/qc/qc.qmd +++ b/components/workflows/qc/qc.qmd @@ -14,7 +14,7 @@ ID: `qc` Namespace: `workflows/qc` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/qc/qc/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/qc/qc/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/qc/qc/main.nf \ --help ``` @@ -78,7 +78,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/qc/qc/main.nf \ -params-file params.yaml diff --git a/components/workflows/rna/log_normalize.qmd b/components/workflows/rna/log_normalize.qmd new file mode 100644 index 00000000..445442a2 --- /dev/null +++ b/components/workflows/rna/log_normalize.qmd @@ -0,0 +1,170 @@ +--- +title: "Log normalize" +namespace: "Workflows/rna" +description: "Performs normalization and subsequent log-transformation of raw count data." +type: "workflow" +toc: false +--- + +::: {.column-margin} + +### Info + +ID: `log_normalize` +Namespace: `workflows/rna` + +### Links +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/rna/log_normalize/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} + +::: + + + +## Example commands + +You can run the pipeline using `nextflow run`. + +### View help + +You can use `--help` as a parameter to get an overview of the possible parameters. + +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -main-script target/_private/nextflow/workflows/rna/log_normalize/main.nf \ + --help +``` + +### Run command + +
+Example of `params.yaml` +```yaml + +``` +
+ +```bash +nextflow run openpipelines-bio/openpipeline \ + -r v4.0.0 -latest \ + -profile docker \ + -main-script target/_private/nextflow/workflows/rna/log_normalize/main.nf \ + -params-file params.yaml +``` + +:::{.callout-note} +Replace `-profile docker` with `-profile podman` or `-profile singularity` depending on the desired backend. +::: + +## Argument groups + +### Inputs + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--input` |MuData file to transform. |`file`, required, example: `"dataset.h5mu"` | +|`--modality` |Modality to process. |`string`, default: `"rna"` | +|`--layer` |Input layer containing raw counts. If not specified, .X is used. |`string` | + + +### Transormation options + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--target_sum` |Normalize total counts to the specified amount. If not set, after normalization each observation (cell) will have a total count equal to the median of total counts for observations (cells) before normalization. |`integer` | + + +### Output slots + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--output_layer` |Layer to write the log-transformed counts to. |`string`, required | + + +### Output + +|Name |Description |Attributes | +|:----------|:--------------------------------------------------|:--------------------| +|`--output` |Destination path to the output. |`file`, required, example: `"output.h5mu"` | + +## Authors + + + * Dries Schaumont [{{< fa brands github >}}](https://github.com/DriesSchaumont) [{{< fa brands orcid >}}](https://orcid.org/0000-0002-4389-0440) [{{< fa brands linkedin >}}](https://linkedin.com/in/dries-schaumont) (author) + +## Visualisation + +```{mermaid} +flowchart TB + v0(Channel.fromList) + v2(filter) + v9(filter) + v17(normalize_total) + v24(cross) + v34(cross) + v40(filter) + v48(log1p) + v55(cross) + v65(cross) + v71(filter) + v101(concat) + v79(delete_layer) + v86(cross) + v96(cross) + v108(cross) + v115(cross) + v127(cross) + v134(cross) + v138(Output) + v0-->v2 + v2-->v9 + v9-->v17 + v17-->v24 + v9-->v24 + v9-->v34 + v40-->v48 + v48-->v55 + v40-->v55 + v40-->v65 + v71-->v79 + v79-->v86 + v71-->v86 + v71-->v96 + v96-->v101 + v101-->v108 + v2-->v108 + v108-->v115 + v2-->v115 + v2-->v127 + v127-->v134 + v2-->v134 + v134-->v138 + v34-->v40 + v17-->v34 + v65-->v71 + v48-->v65 + v79-->v96 + v101-->v127 + style v0 fill:#e3dcea,stroke:#7a4baa; + style v2 fill:#e3dcea,stroke:#7a4baa; + style v9 fill:#e3dcea,stroke:#7a4baa; + style v17 fill:#e3dcea,stroke:#7a4baa; + style v24 fill:#e3dcea,stroke:#7a4baa; + style v34 fill:#e3dcea,stroke:#7a4baa; + style v40 fill:#e3dcea,stroke:#7a4baa; + style v48 fill:#e3dcea,stroke:#7a4baa; + style v55 fill:#e3dcea,stroke:#7a4baa; + style v65 fill:#e3dcea,stroke:#7a4baa; + style v71 fill:#e3dcea,stroke:#7a4baa; + style v101 fill:#e3dcea,stroke:#7a4baa; + style v79 fill:#e3dcea,stroke:#7a4baa; + style v86 fill:#e3dcea,stroke:#7a4baa; + style v96 fill:#e3dcea,stroke:#7a4baa; + style v108 fill:#e3dcea,stroke:#7a4baa; + style v115 fill:#e3dcea,stroke:#7a4baa; + style v127 fill:#e3dcea,stroke:#7a4baa; + style v134 fill:#e3dcea,stroke:#7a4baa; + style v138 fill:#e3dcea,stroke:#7a4baa; + +``` + diff --git a/components/workflows/rna/rna_multisample.qmd b/components/workflows/rna/rna_multisample.qmd index 65e41c5a..a473b08d 100644 --- a/components/workflows/rna/rna_multisample.qmd +++ b/components/workflows/rna/rna_multisample.qmd @@ -14,7 +14,7 @@ ID: `rna_multisample` Namespace: `workflows/rna` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/rna/rna_multisample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/rna/rna_multisample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/rna/rna_multisample/main.nf \ --help ``` @@ -81,7 +81,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/rna/rna_multisample/main.nf \ -params-file params.yaml @@ -165,171 +165,188 @@ flowchart TB v0(Channel.fromList) v2(filter) v10(filter) - v18(normalize_total) - v25(cross) - v35(cross) - v41(filter) - v49(log1p) - v56(cross) - v66(cross) - v72(filter) - v80(delete_layer) - v87(cross) - v97(cross) - v106(branch) - v133(concat) - v111(scale) - v118(cross) - v128(cross) - v134(filter) - v142(highly_variable_features_scanpy) - v149(cross) - v159(cross) - v165(filter) - v288(concat) - v177(branch) - v204(concat) - v189(cross) - v199(cross) - v208(branch) - v235(concat) - v220(cross) - v230(cross) - v236(filter) - v266(concat) - v251(cross) - v261(cross) - v273(cross) - v283(cross) - v295(cross) + v17(filter) + v32(cross) + v42(cross) + v109(concat) + v116(cross) + v126(cross) + v135(branch) + v162(concat) + v140(scale) + v147(cross) + v157(cross) + v163(filter) + v171(highly_variable_features_scanpy) + v178(cross) + v188(cross) + v194(filter) + v317(concat) + v206(branch) + v233(concat) + v218(cross) + v228(cross) + v237(branch) + v264(concat) + v249(cross) + v259(cross) + v265(filter) + v295(concat) + v280(cross) + v290(cross) v302(cross) - v314(cross) - v321(cross) - v325(Output) + v312(cross) + v324(cross) + v331(cross) + v343(cross) + v350(cross) + v354(Output) + subgraph group_log_normalize [log_normalize] + v25(normalize_total) + v48(filter) + v56(log1p) + v63(cross) + v73(cross) + v79(filter) + v87(delete_layer) + v94(cross) + v104(cross) + end subgraph group_rna_qc [rna_qc] - v182(grep_mitochondrial_genes) - v213(grep_ribosomal_genes) - v244(calculate_qc_metrics) + v211(grep_mitochondrial_genes) + v242(grep_ribosomal_genes) + v273(calculate_qc_metrics) end - v106-->v133 - v133-->v134 - v177-->v204 - v208-->v235 - v235-->v236 + v135-->v162 + v162-->v163 + v206-->v233 + v237-->v264 + v264-->v265 v0-->v2 v2-->v10 - v10-->v18 - v18-->v25 - v10-->v25 - v10-->v35 - v41-->v49 - v49-->v56 - v41-->v56 - v41-->v66 - v72-->v80 - v80-->v87 - v72-->v87 - v72-->v97 - v106-->v111 - v111-->v118 - v106-->v118 - v106-->v128 - v128-->v133 - v134-->v142 - v142-->v149 - v134-->v149 - v134-->v159 - v177-->v182 - v182-->v189 - v177-->v189 - v177-->v199 - v199-->v204 - v208-->v213 - v213-->v220 - v208-->v220 - v208-->v230 - v230-->v235 - v236-->v244 - v244-->v251 - v236-->v251 - v236-->v261 - v261-->v266 - v266-->v273 - v165-->v273 - v165-->v283 - v283-->v288 - v288-->v295 - v2-->v295 + v10-->v17 + v17-->v25 + v25-->v32 + v17-->v32 + v17-->v42 + v48-->v56 + v56-->v63 + v48-->v63 + v48-->v73 + v79-->v87 + v87-->v94 + v79-->v94 + v79-->v104 + v104-->v109 + v109-->v116 + v10-->v116 + v10-->v126 + v135-->v140 + v140-->v147 + v135-->v147 + v135-->v157 + v157-->v162 + v163-->v171 + v171-->v178 + v163-->v178 + v163-->v188 + v206-->v211 + v211-->v218 + v206-->v218 + v206-->v228 + v228-->v233 + v237-->v242 + v242-->v249 + v237-->v249 + v237-->v259 + v259-->v264 + v265-->v273 + v273-->v280 + v265-->v280 + v265-->v290 + v290-->v295 v295-->v302 - v2-->v302 - v2-->v314 - v314-->v321 - v2-->v321 - v321-->v325 - v35-->v41 - v18-->v35 - v66-->v72 - v49-->v66 - v80-->v97 - v97-->v106 - v111-->v128 - v159-->v165 - v142-->v159 - v165-->v177 - v182-->v199 - v204-->v208 - v213-->v230 - v244-->v261 - v266-->v283 - v288-->v314 + v194-->v302 + v194-->v312 + v312-->v317 + v317-->v324 + v2-->v324 + v324-->v331 + v2-->v331 + v2-->v343 + v343-->v350 + v2-->v350 + v350-->v354 + v42-->v48 + v25-->v42 + v73-->v79 + v56-->v73 + v87-->v104 + v109-->v126 + v126-->v135 + v140-->v157 + v188-->v194 + v171-->v188 + v194-->v206 + v211-->v228 + v233-->v237 + v242-->v259 + v273-->v290 + v295-->v312 + v317-->v343 + style group_log_normalize fill:#F0F0F0,stroke:#969696; style group_rna_qc fill:#F0F0F0,stroke:#969696; style v0 fill:#e3dcea,stroke:#7a4baa; style v2 fill:#e3dcea,stroke:#7a4baa; style v10 fill:#e3dcea,stroke:#7a4baa; - style v18 fill:#e3dcea,stroke:#7a4baa; + style v17 fill:#e3dcea,stroke:#7a4baa; style v25 fill:#e3dcea,stroke:#7a4baa; - style v35 fill:#e3dcea,stroke:#7a4baa; - style v41 fill:#e3dcea,stroke:#7a4baa; - style v49 fill:#e3dcea,stroke:#7a4baa; + style v32 fill:#e3dcea,stroke:#7a4baa; + style v42 fill:#e3dcea,stroke:#7a4baa; + style v48 fill:#e3dcea,stroke:#7a4baa; style v56 fill:#e3dcea,stroke:#7a4baa; - style v66 fill:#e3dcea,stroke:#7a4baa; - style v72 fill:#e3dcea,stroke:#7a4baa; - style v80 fill:#e3dcea,stroke:#7a4baa; + style v63 fill:#e3dcea,stroke:#7a4baa; + style v73 fill:#e3dcea,stroke:#7a4baa; + style v79 fill:#e3dcea,stroke:#7a4baa; + style v109 fill:#e3dcea,stroke:#7a4baa; style v87 fill:#e3dcea,stroke:#7a4baa; - style v97 fill:#e3dcea,stroke:#7a4baa; - style v106 fill:#e3dcea,stroke:#7a4baa; - style v133 fill:#e3dcea,stroke:#7a4baa; - style v111 fill:#e3dcea,stroke:#7a4baa; - style v118 fill:#e3dcea,stroke:#7a4baa; - style v128 fill:#e3dcea,stroke:#7a4baa; - style v134 fill:#e3dcea,stroke:#7a4baa; - style v142 fill:#e3dcea,stroke:#7a4baa; - style v149 fill:#e3dcea,stroke:#7a4baa; - style v159 fill:#e3dcea,stroke:#7a4baa; - style v165 fill:#e3dcea,stroke:#7a4baa; - style v288 fill:#e3dcea,stroke:#7a4baa; - style v177 fill:#e3dcea,stroke:#7a4baa; - style v204 fill:#e3dcea,stroke:#7a4baa; - style v182 fill:#e3dcea,stroke:#7a4baa; - style v189 fill:#e3dcea,stroke:#7a4baa; - style v199 fill:#e3dcea,stroke:#7a4baa; - style v208 fill:#e3dcea,stroke:#7a4baa; - style v235 fill:#e3dcea,stroke:#7a4baa; - style v213 fill:#e3dcea,stroke:#7a4baa; - style v220 fill:#e3dcea,stroke:#7a4baa; - style v230 fill:#e3dcea,stroke:#7a4baa; - style v236 fill:#e3dcea,stroke:#7a4baa; - style v266 fill:#e3dcea,stroke:#7a4baa; - style v244 fill:#e3dcea,stroke:#7a4baa; - style v251 fill:#e3dcea,stroke:#7a4baa; - style v261 fill:#e3dcea,stroke:#7a4baa; - style v273 fill:#e3dcea,stroke:#7a4baa; - style v283 fill:#e3dcea,stroke:#7a4baa; + style v94 fill:#e3dcea,stroke:#7a4baa; + style v104 fill:#e3dcea,stroke:#7a4baa; + style v116 fill:#e3dcea,stroke:#7a4baa; + style v126 fill:#e3dcea,stroke:#7a4baa; + style v135 fill:#e3dcea,stroke:#7a4baa; + style v162 fill:#e3dcea,stroke:#7a4baa; + style v140 fill:#e3dcea,stroke:#7a4baa; + style v147 fill:#e3dcea,stroke:#7a4baa; + style v157 fill:#e3dcea,stroke:#7a4baa; + style v163 fill:#e3dcea,stroke:#7a4baa; + style v171 fill:#e3dcea,stroke:#7a4baa; + style v178 fill:#e3dcea,stroke:#7a4baa; + style v188 fill:#e3dcea,stroke:#7a4baa; + style v194 fill:#e3dcea,stroke:#7a4baa; + style v317 fill:#e3dcea,stroke:#7a4baa; + style v206 fill:#e3dcea,stroke:#7a4baa; + style v233 fill:#e3dcea,stroke:#7a4baa; + style v211 fill:#e3dcea,stroke:#7a4baa; + style v218 fill:#e3dcea,stroke:#7a4baa; + style v228 fill:#e3dcea,stroke:#7a4baa; + style v237 fill:#e3dcea,stroke:#7a4baa; + style v264 fill:#e3dcea,stroke:#7a4baa; + style v242 fill:#e3dcea,stroke:#7a4baa; + style v249 fill:#e3dcea,stroke:#7a4baa; + style v259 fill:#e3dcea,stroke:#7a4baa; + style v265 fill:#e3dcea,stroke:#7a4baa; style v295 fill:#e3dcea,stroke:#7a4baa; + style v273 fill:#e3dcea,stroke:#7a4baa; + style v280 fill:#e3dcea,stroke:#7a4baa; + style v290 fill:#e3dcea,stroke:#7a4baa; style v302 fill:#e3dcea,stroke:#7a4baa; - style v314 fill:#e3dcea,stroke:#7a4baa; - style v321 fill:#e3dcea,stroke:#7a4baa; - style v325 fill:#e3dcea,stroke:#7a4baa; + style v312 fill:#e3dcea,stroke:#7a4baa; + style v324 fill:#e3dcea,stroke:#7a4baa; + style v331 fill:#e3dcea,stroke:#7a4baa; + style v343 fill:#e3dcea,stroke:#7a4baa; + style v350 fill:#e3dcea,stroke:#7a4baa; + style v354 fill:#e3dcea,stroke:#7a4baa; ``` diff --git a/components/workflows/rna/rna_singlesample.qmd b/components/workflows/rna/rna_singlesample.qmd index c9c79c38..594e5547 100644 --- a/components/workflows/rna/rna_singlesample.qmd +++ b/components/workflows/rna/rna_singlesample.qmd @@ -14,7 +14,7 @@ ID: `rna_singlesample` Namespace: `workflows/rna` ### Links -[Source](https://github.com/openpipelines-bio/openpipeline/blob/2.1.1/src/workflows/rna/rna_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} +[Source](https://github.com/openpipelines-bio/openpipeline/blob/v4.0.0/src/workflows/rna/rna_singlesample/config.vsh.yaml){.btn-action .btn-sm .btn-info .btn role="button"} ::: @@ -30,7 +30,7 @@ You can use `--help` as a parameter to get an overview of the possible parameter ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -main-script target/nextflow/workflows/rna/rna_singlesample/main.nf \ --help ``` @@ -58,6 +58,7 @@ input: # please fill in - example: "dataset.h5mu" # max_fraction_mito: 0.2 # min_fraction_ribo: 0.0 # max_fraction_ribo: 0.2 +skip_scrublet_doublet_detection: false # Mitochondrial & Ribosomal Gene Detection # var_gene_names: "gene_symbol" @@ -78,7 +79,7 @@ publish_dir: # please fill in - example: "output/" ```bash nextflow run openpipelines-bio/openpipeline \ - -r 2.1.1 -latest \ + -r v4.0.0 -latest \ -profile docker \ -main-script target/nextflow/workflows/rna/rna_singlesample/main.nf \ -params-file params.yaml @@ -108,17 +109,18 @@ Replace `-profile docker` with `-profile podman` or `-profile singularity` depen ### Filtering options -|Name |Description |Attributes | +|Name |Description |Attributes | |:----------|:--------------------------------------------------|:--------------------| -|`--min_counts` |Minimum number of counts captured per cell. |`integer`, example: `200` | -|`--max_counts` |Maximum number of counts captured per cell. |`integer`, example: `5000000` | -|`--min_genes_per_cell` |Minimum of non-zero values per cell. |`integer`, example: `200` | -|`--max_genes_per_cell` |Maximum of non-zero values per cell. |`integer`, example: `1500000` | -|`--min_cells_per_gene` |Minimum of non-zero values per gene. |`integer`, example: `3` | -|`--min_fraction_mito` |Minimum fraction of UMIs that are mitochondrial. Requires --obs_name_mitochondrial_fraction. |`double`, example: `0` | -|`--max_fraction_mito` |Maximum fraction of UMIs that are mitochondrial. Requires --obs_name_mitochondrial_fraction. |`double`, example: `0.2` | -|`--min_fraction_ribo` |Minimum fraction of UMIs that are ribosomal. Requires --obs_name_ribosomal_fraction. |`double`, example: `0` | -|`--max_fraction_ribo` |Maximum fraction of UMIs that are ribosomal. Requires --obs_name_ribosomal_fraction. |`double`, example: `0.2` | +|`--min_counts` |Minimum number of counts captured per cell. |`integer`, example: `200` | +|`--max_counts` |Maximum number of counts captured per cell. |`integer`, example: `5000000` | +|`--min_genes_per_cell` |Minimum of non-zero values per cell. |`integer`, example: `200` | +|`--max_genes_per_cell` |Maximum of non-zero values per cell. |`integer`, example: `1500000` | +|`--min_cells_per_gene` |Minimum of non-zero values per gene. |`integer`, example: `3` | +|`--min_fraction_mito` |Minimum fraction of UMIs that are mitochondrial. Requires --obs_name_mitochondrial_fraction. |`double`, example: `0` | +|`--max_fraction_mito` |Maximum fraction of UMIs that are mitochondrial. Requires --obs_name_mitochondrial_fraction. |`double`, example: `0.2` | +|`--min_fraction_ribo` |Minimum fraction of UMIs that are ribosomal. Requires --obs_name_ribosomal_fraction. |`double`, example: `0` | +|`--max_fraction_ribo` |Maximum fraction of UMIs that are ribosomal. Requires --obs_name_ribosomal_fraction. |`double`, example: `0.2` | +|`--skip_scrublet_doublet_detection` |Skip the scrublet doublet detection step. |`boolean_true` | ### Mitochondrial & Ribosomal Gene Detection @@ -153,14 +155,7 @@ flowchart TB v50(concat) v35(cross) v45(cross) - v54(branch) - v81(concat) - v66(cross) - v76(cross) - v82(filter) v112(concat) - v97(cross) - v107(cross) v119(cross) v129(cross) v138(branch) @@ -181,7 +176,7 @@ flowchart TB v236(rna_do_filter) v243(cross) v253(cross) - v259(filter) + v262(branch) v289(concat) v267(filter_with_scrublet) v274(cross) @@ -193,8 +188,15 @@ flowchart TB v326(Output) subgraph group_qc [qc] v28(grep_mitochondrial_genes) + v54(branch) + v81(concat) v59(grep_ribosomal_genes) + v66(cross) + v76(cross) + v82(filter) v90(calculate_qc_metrics) + v97(cross) + v107(cross) end v23-->v50 v54-->v81 @@ -202,6 +204,7 @@ flowchart TB v138-->v165 v169-->v196 v196-->v197 + v262-->v289 v0-->v2 v2-->v11 v23-->v28 @@ -240,10 +243,10 @@ flowchart TB v236-->v243 v228-->v243 v228-->v253 - v259-->v267 + v262-->v267 v267-->v274 - v259-->v274 - v259-->v284 + v262-->v274 + v262-->v284 v284-->v289 v289-->v296 v2-->v296 @@ -265,8 +268,8 @@ flowchart TB v174-->v191 v222-->v228 v205-->v222 - v253-->v259 v236-->v253 + v253-->v262 v267-->v284 v289-->v315 style group_qc fill:#F0F0F0,stroke:#969696; @@ -308,7 +311,7 @@ flowchart TB style v236 fill:#e3dcea,stroke:#7a4baa; style v243 fill:#e3dcea,stroke:#7a4baa; style v253 fill:#e3dcea,stroke:#7a4baa; - style v259 fill:#e3dcea,stroke:#7a4baa; + style v262 fill:#e3dcea,stroke:#7a4baa; style v289 fill:#e3dcea,stroke:#7a4baa; style v267 fill:#e3dcea,stroke:#7a4baa; style v274 fill:#e3dcea,stroke:#7a4baa;