Integration

A pipeline for demultiplexing multimodal multi-sample RNA transcriptomics data.

Info

ID: integration
Namespace: multiomics

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.

nextflow run openpipelines-bio/openpipeline \
  -r 0.8.0 -latest \
  -main-script workflows/multiomics/integration/main.nf \
  --help

Run command

Example of params.yaml
# Inputs
id: # please fill in - example: "foo"
input: # please fill in - example: "dataset.h5mu"
layer: "log_normalized"

# Outputs
# output: "$id.$key.output.h5mu"

# PCA options
obsm_pca: "X_pca"
# var_pca_feature_selection: "foo"

# Harmony integration options
obsm_integrated: "X_pca_integrated"
obs_covariates: # please fill in - example: ["batch", "sample"]
rna_theta: [2]

# Neighbour calculation
uns_neighbors: "neighbors"
obsp_neighbor_distances: "distances"
obsp_neighbor_connectivities: "connectivities"

# Clustering options
obs_cluster: "leiden"
leiden_resolution: 1

# Umap options
obsm_umap: "X_umap"

# Nextflow input-output arguments
publish_dir: # please fill in - example: "output/"
# param_list: "my_params.yaml"
nextflow run openpipelines-bio/openpipeline \
  -r 0.8.0 -latest \
  -profile docker \
  -main-script workflows/multiomics/integration/main.nf \
  -params-file params.yaml
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, default: "log_normalized"

Outputs

Name Description Attributes
--output Destination path to the output. file, required, example: "output.h5mu"

PCA options

Name Description Attributes
--obsm_pca In which .obsm slot to store the resulting PCA embedding. string, default: "X_pca"
--var_pca_feature_selection Column name in .var matrix that will be used to select which genes to run the PCA on. string

Harmony integration options

Name Description Attributes
--obsm_integrated In which .obsm slot to store the resulting integrated embedding. string, default: "X_pca_integrated"
--obs_covariates The .obs field(s) that define the covariate(s) to regress out. string, required, example: "batch", example: "sample"
--rna_theta Diversity clustering penalty parameter. Specify for each variable in group.by.vars. theta=0 does not encourage any diversity. Larger values of theta result in more diverse clusters.” double, default: 2

Neighbour calculation

Name Description Attributes
--uns_neighbors In which .uns slot to store various neighbor output objects. string, default: "neighbors"
--obsp_neighbor_distances In which .obsp slot to store the distance matrix between the resulting neighbors. string, default: "distances"
--obsp_neighbor_connectivities In which .obsp slot to store the connectivities matrix between the resulting neighbors. string, default: "connectivities"

Clustering options

Name Description Attributes
--obs_cluster Name of the .obs key under which to add the cluster labels. string, default: "leiden"
--leiden_resolution Control the coarseness of the clustering. Higher values lead to more clusters. double, default: 1

Umap options

Name Description Attributes
--obsm_umap In which .obsm slot to store the resulting UMAP embedding. string, default: "X_umap"

Authors

  • Dries De Maeyer (author)
  • Robrecht Cannoodt (author, maintainer)
  • Dries Schaumont (author)

Visualisation

flowchart LR
    p0(Input)
    p2(toSortedList)
    p4(flatMap)
    p15(join)
    p13(pca)
    p18(filter)
    p29(concat)
    p19(filter)
    p27(join)
    p25(harmonypy)
    p38(join)
    p36(find_neighbors)
    p48(join)
    p46(leiden)
    p58(join)
    p56(umap)
    p64(Output)
    p18-->p29
    p0-->p2
    p2-->p4
    p4-->p15
    p4-->p13
    p13-->p15
    p15-->p18
    p15-->p19
    p19-->p27
    p19-->p25
    p25-->p27
    p27-->p29
    p29-->p38
    p29-->p36
    p36-->p38
    p38-->p48
    p38-->p46
    p46-->p48
    p48-->p58
    p48-->p56
    p56-->p58
    p58-->p64