Process batches

This workflow serves as an entrypoint into the ‘full_pipeline’ in order to re-run the multisample processing and the integration setup.

Info

ID: process_batches
Namespace: workflows/multiomics

An input .h5mu file will first be split in order to run the multisample processing per modality. Next, the modalities are merged again and the integration setup pipeline is executed. Please note that this workflow assumes that samples from multiple pipelines are already concatenated.

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 2.1.0 -latest \
  -main-script target/nextflow/workflows/multiomics/process_batches/main.nf \
  --help

Run command

Example of params.yaml
# Inputs
id: # please fill in - example: "foo"
input: # please fill in - example: ["input.h5mu"]
# rna_layer: "foo"
# prot_layer: "foo"

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

# Highly variable features detection
highly_variable_features_var_output: "filter_with_hvg"
highly_variable_features_obs_batch_key: "sample_id"

# QC metrics calculation options
var_qc_metrics: ["filter_with_hvg"]
top_n_vars: [50, 100, 200, 500]

# PCA options
pca_overwrite: false

# CLR options
clr_axis: 0

# RNA Scaling options
rna_enable_scaling: false
rna_scaling_output_layer: "scaled"
rna_scaling_pca_obsm_output: "scaled_pca"
rna_scaling_pca_loadings_varm_output: "scaled_pca_loadings"
rna_scaling_pca_variance_uns_output: "scaled_pca_variance"
rna_scaling_umap_obsm_output: "scaled_umap"
# rna_scaling_max_value: 123.0
rna_scaling_zero_center: true

# Nextflow input-output arguments
publish_dir: # please fill in - example: "output/"
# param_list: "my_params.yaml"

# Arguments
nextflow run openpipelines-bio/openpipeline \
  -r 2.1.0 -latest \
  -profile docker \
  -main-script target/nextflow/workflows/multiomics/process_batches/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. List of file, required, example: "input.h5mu", multiple_sep: ";"
--rna_layer Input layer for the gene expression modality. If not specified, .X is used. string
--prot_layer Input layer for the antibody capture modality. If not specified, .X is used. string

Outputs

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

Highly variable features detection

Name Description Attributes
--highly_variable_features_var_output In which .var slot to store a boolean array corresponding to the highly variable genes. string, default: "filter_with_hvg"
--highly_variable_features_obs_batch_key If specified, highly-variable genes are selected within each batch separately and merged. This simple process avoids the selection of batch-specific genes and acts as a lightweight batch correction method. string, default: "sample_id"

QC metrics calculation options

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, default: "filter_with_hvg", example: "ercc,highly_variable", multiple_sep: ","
--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, default: 50, 100, 200, 500, multiple_sep: ","

PCA options

Name Description Attributes
--pca_overwrite Allow overwriting slots for PCA output. boolean_true

CLR options

Name Description Attributes
--clr_axis Axis to perform the CLR transformation on. integer, default: 0

RNA Scaling options

Options for enabling scaling of the log-normalized data to unit variance and zero mean. The scaled data will be output a different layer and representation with reduced dimensions will be created and stored in addition to the non-scaled data.

Name Description Attributes
--rna_enable_scaling Enable scaling for the RNA modality. boolean_true
--rna_scaling_output_layer Output layer where the scaled log-normalized data will be stored. string, default: "scaled"
--rna_scaling_pca_obsm_output Name of the .obsm key where the PCA representation of the log-normalized and scaled data is stored. string, default: "scaled_pca"
--rna_scaling_pca_loadings_varm_output Name of the .varm key where the PCA loadings of the log-normalized and scaled data is stored. string, default: "scaled_pca_loadings"
--rna_scaling_pca_variance_uns_output Name of the .uns key where the variance and variance ratio will be stored as a map. The map will contain two keys: variance and variance_ratio respectively. string, default: "scaled_pca_variance"
--rna_scaling_umap_obsm_output Name of the .obsm key where the UMAP representation of the log-normalized and scaled data is stored. string, default: "scaled_umap"
--rna_scaling_max_value Clip (truncate) data to this value after scaling. If not specified, do not clip. double
--rna_scaling_zero_center If set, omit zero-centering variables, which allows to handle sparse input efficiently.” boolean_false

Authors

  • Dries Schaumont (author, maintainer)

Visualisation

flowchart TB
    v0(Channel.fromList)
    v2(filter)
    v11(filter)
    v22(filter)
    v34(cross)
    v44(cross)
    v54(concat)
    v61(cross)
    v71(cross)
    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)
    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)
    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)
    v1289(cross)
    v1301(cross)
    v1308(cross)
    v1312(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)
    end
    subgraph group_prot_multisample [prot_multisample]
        v415(clr)
        v455(grep_mitochondrial_genes)
        v486(grep_ribosomal_genes)
        v517(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)
    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)
    end
    subgraph group_dimensionality_reduction_prot [dimensionality_reduction_prot]
        v1076(pca)
        v1116(find_neighbors)
        v1147(leiden)
        v1178(move_obsm_to_obs)
        v1209(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
    v0-->v2
    v22-->v27
    v27-->v34
    v22-->v34
    v22-->v44
    v54-->v61
    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
    v1282-->v1289
    v2-->v1289
    v2-->v1301
    v1301-->v1308
    v2-->v1308
    v1308-->v1312
    v2-->v11
    v71-->v77
    v11-->v22
    v44-->v54
    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
    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;
    style group_dimensionality_reduction_rna fill:#F0F0F0,stroke:#969696;
    style group_dimensionality_reduction_scaling_rna fill:#F0F0F0,stroke:#969696;
    style group_dimensionality_reduction_prot fill:#F0F0F0,stroke:#969696;
    style v0 fill:#e3dcea,stroke:#7a4baa;
    style v2 fill:#e3dcea,stroke:#7a4baa;
    style v11 fill:#e3dcea,stroke:#7a4baa;
    style v22 fill:#e3dcea,stroke:#7a4baa;
    style v27 fill:#e3dcea,stroke:#7a4baa;
    style v34 fill:#e3dcea,stroke:#7a4baa;
    style v44 fill:#e3dcea,stroke:#7a4baa;
    style v54 fill:#e3dcea,stroke:#7a4baa;
    style v61 fill:#e3dcea,stroke:#7a4baa;
    style v71 fill:#e3dcea,stroke:#7a4baa;
    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 v108 fill:#e3dcea,stroke:#7a4baa;
    style v118 fill:#e3dcea,stroke:#7a4baa;
    style v124 fill:#e3dcea,stroke:#7a4baa;
    style v132 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 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 v378 fill:#e3dcea,stroke:#7a4baa;
    style v388 fill:#e3dcea,stroke:#7a4baa;
    style v586 fill:#e3dcea,stroke:#7a4baa;
    style v399 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 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 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 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 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 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 v1282 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;