single_cell/parallel_integration

Description

Run multiple integration methods from OpenPipeline in parallel on the same
preprocessed h5mu input, then merge each method's annotations (leiden cluster
labels in .obs, integrated embeddings and UMAPs in .obsm, neighbor graphs in
.obsp and .uns) back into a single output h5mu.

Available integration methods: Harmony, scVI, Scanorama, BBKNN.

Type

nextflow_script

Contributors

Run this component

Run the following command to execute this component with Nextflow:

cat > params.yaml <<'EOM'  
id: "run"  
modality: [ "rna" ]  
layer_log_normalized_counts: [ "log_normalized" ]  
obsm_embedding: [ "X_pca" ]  
obs_batch: [ "sample_id" ]  
obs_covariates: [ "sample_id" ]  
leiden_resolution: [ 1 ]  
harmony_theta: [ 2 ]  
scvi_early_stopping_monitor: [ "elbo_validation" ]  
scvi_early_stopping_patience: [ 45 ]  
scvi_early_stopping_min_delta: [ 0 ]  
scvi_reduce_lr_on_plateau: [ true ]  
scvi_lr_factor: [ 0.6 ]  
scvi_lr_patience: [ 30 ]  
scanorama_knn: [ 20 ]  
scanorama_batch_size: [ 5000 ]  
scanorama_sigma: [ 15 ]  
scanorama_approx: [ true ]  
scanorama_alpha: [ 0.1 ]  
bbknn_n_neighbors_within_batch: [ 3 ]  
bbknn_n_pcs: [ 50 ]  
harmony_obsm_integrated: [ "X_harmony_integrated" ]  
harmony_obsm_umap: [ "X_harmony_umap" ]  
harmony_obs_cluster: [ "harmony_integration_leiden" ]  
harmony_uns_neighbors: [ "harmony_integration_neighbors" ]  
harmony_obsp_neighbor_distances: [ "harmony_integration_neighbor_distances" ]  
harmony_obsp_neighbor_connectivities: [ "harmony_integration_neighbor_connectivities" ]  
scvi_obsm_integrated: [ "X_scvi_integrated" ]  
scvi_obsm_umap: [ "X_scvi_umap" ]  
scvi_obs_cluster: [ "scvi_integration_leiden" ]  
scvi_uns_neighbors: [ "scvi_integration_neighbors" ]  
scvi_obsp_neighbor_distances: [ "scvi_integration_neighbor_distances" ]  
scvi_obsp_neighbor_connectivities: [ "scvi_integration_neighbor_connectivities" ]  
scanorama_obsm_integrated: [ "X_scanorama_integrated" ]  
scanorama_obsm_umap: [ "X_scanorama_umap" ]  
scanorama_obs_cluster: [ "scanorama_integration_leiden" ]  
scanorama_uns_neighbors: [ "scanorama_integration_neighbors" ]  
scanorama_obsp_neighbor_distances: [ "scanorama_integration_neighbor_distances" ]  
scanorama_obsp_neighbor_connectivities: [ "scanorama_integration_neighbor_connectivities" ]  
bbknn_obsm_umap: [ "X_bbknn_umap" ]  
bbknn_obs_cluster: [ "bbknn_integration_leiden" ]  
bbknn_uns_neighbors: [ "bbknn_integration_neighbors" ]  
bbknn_obsp_neighbor_distances: [ "bbknn_integration_neighbor_distances" ]  
bbknn_obsp_neighbor_connectivities: [ "bbknn_integration_neighbor_connectivities" ]  
output: "$id.$key.output.h5mu"  
output_scvi_model: "$id.$key.output_scvi_model.scvi_model"  
publish_dir: "output/"  
EOM

nextflow run https://packages.viash-hub.com/vsh/openpipeline_composed.git \  
  -revision v0.2.1 \  
  -main-script target/nextflow/single_cell/parallel_integration/main.nf \  
  -params-file params.yaml  

Inputs

Name
Type & Properties
--id
string
required
--input
file
required
--modality
string
--layer_log_normalized_counts
string
--layer_raw_counts
string
--obsm_embedding
string
--obs_batch
string
--obs_covariates
string
multiple
--obs_categorical_covariates
string
multiple
--obs_numerical_covariates
string
multiple
--var_input
string

Methods

Name
Type & Properties
--integration_methods
string
required
multiple

Clustering options

Name
Type & Properties
--leiden_resolution
double
multiple

Harmony options

Name
Type & Properties
--harmony_theta
double
multiple

scVI options

Name
Type & Properties
--scvi_early_stopping
boolean
--scvi_early_stopping_monitor
string
--scvi_early_stopping_patience
integer
--scvi_early_stopping_min_delta
double
--scvi_max_epochs
integer
--scvi_reduce_lr_on_plateau
boolean
--scvi_lr_factor
double
--scvi_lr_patience
double

Scanorama options

Name
Type & Properties
--scanorama_knn
integer
--scanorama_batch_size
integer
--scanorama_sigma
double
--scanorama_approx
boolean
--scanorama_alpha
double

BBKNN options

Name
Type & Properties
--bbknn_n_neighbors_within_batch
integer
--bbknn_n_pcs
integer
--bbknn_n_trim
integer

Output slot naming

Name
Type & Properties
--harmony_obsm_integrated
string
--harmony_obsm_umap
string
--harmony_obs_cluster
string
--harmony_uns_neighbors
string
--harmony_obsp_neighbor_distances
string
--harmony_obsp_neighbor_connectivities
string
--scvi_obsm_integrated
string
--scvi_obsm_umap
string
--scvi_obs_cluster
string
--scvi_uns_neighbors
string
--scvi_obsp_neighbor_distances
string
--scvi_obsp_neighbor_connectivities
string
--scanorama_obsm_integrated
string
--scanorama_obsm_umap
string
--scanorama_obs_cluster
string
--scanorama_uns_neighbors
string
--scanorama_obsp_neighbor_distances
string
--scanorama_obsp_neighbor_connectivities
string
--bbknn_obsm_umap
string
--bbknn_obs_cluster
string
--bbknn_uns_neighbors
string
--bbknn_obsp_neighbor_distances
string
--bbknn_obsp_neighbor_connectivities
string

Output

Name
Type & Properties
--output
-o
file
required
output
--output_compression
string
--output_scvi_model
file
output

Collaborate Accelerate Succeed

Empower your organization with secure, scalable workflow solutions that simplify development, ensure compliance, and drive innovation.

Viash Hub is a platform developed by Data Intuitive, a Belgian-based bioinformatics company specializing in data workflow development and deployment.