-
Notifications
You must be signed in to change notification settings - Fork 7
Configuration file
The staging folder contains a YAML file named config.yaml where we specify all parameters used by cvapipe_analysis. This file is divided into sections that more or less has a one-to-one mapping to existing workflow steps. Notice that results in the paper are generated using default parameters shown here.
data:
cell:
alias: MEM
channel: membrane_segmentation
color: '#F200FF'
cell-roof:
alias: MEMROOF
channel: membrane_segmentation_roof
color: '#F200FF'
nucleus:
alias: NUC
channel: dna_segmentation
color: '#3AADA7'
structure:
alias: STR
channel: struct_segmentation_roof
color: '#000000'
raw-structure-str:
alias: RAWSTR_MASKEDBY_STR
channel: structure
color: '#000000'
raw-structure-nuc:
alias: RAWSTR_MASKEDBY_NUC
channel: structure
color: '#000000'
raw-structure-mem:
alias: RAWSTR_MASKEDBY_MEM
channel: structure
color: '#000000'
Here we assign an alias to each channel of the input dataset. The values specified in the field channel should match the names specified in the manifest used in the loaddata step.
features:
aliases: ["NUC", "MEM", "STR", "RAWSTR_MASKEDBY_STR", "RAWSTR_MASKEDBY_NUC", "RAWSTR_MASKEDBY_MEM"]
# Intensity features: specify aliases for raw image and
# corresponding segmentation mask.
intensity:
RAWSTR_MASKEDBY_STR: STR
RAWSTR_MASKEDBY_NUC: NUC
RAWSTR_MASKEDBY_MEM: MEMROOF
# SHE - Spherical harmonics expansion
SHE:
alignment:
align: on
unique: off
reference: "cell"
aliases: ["NUC", "MEM"]
# Size of Gaussian kernal used to smooth the
# images before SHE coefficients calculation
sigma:
NUC: 2
MEM: 2
# Number of SHE coefficients used to describe cell
# and nuclear shape
lmax: 16
Here we start specifying all aliases that will be used for feature extraction. NEED TO FINISH THIS
Here we can turn on or off outlier detection and removal of mitotic cells.
preprocessing:
remove_mitotics: on
remove_outliers: on
filtering:
filter: off
csv: ""
specs: {}
Start by specifying which aliases should be used to generate the shape space. Here we use both NUC and MEM for creating a joint shape space of nucleus and cell. For shape space of nucleus alone you can use aliases: ["NUC"]. We should also specify one alias to sort the values of shape modes. We specify that i) 1% of cells should be remove at extremities of each shape mode, ii) 8 shape modes should be computed and iii) the corresponding map points along each shape mode in units of std.
shapespace:
# Specify the a set of aliases here
aliases: ["NUC", "MEM"]
# Sort shape modes by volume of
sorter: "MEM"
# Percentage of exteme points to be removed
removal_pct: 1.0
# Number of principal components to be calculated
number_of_shape_modes: 8
# Map points
map_points: [-2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0]
plot:
frame: on
swapxy_on_zproj: off
# limits of x and y axies in the animated GIFs
limits: [-150, 150, -80, 80]
In order to create the parameterized intracellular location representation (PILR) for each cell, we specify the alias representing the inner boundary (NUC for nucleus) and outer boundary (MEM for cell membrane). We also specify the alias we want to represent (STR for structure segmentation) and the number of interpolating points.
parameterization:
inner: "NUC"
outer: "MEM"
parameterize: ["STR"]
number_of_interpolating_points: 32
Finally, we specify optimal contrast for each structure in the input dataset as well as which color should be used to represent each structure in the resulting plots.
structures:
"FBL": ["nucleoli [DFC)", "#A9D1E5", "{'raw': (420, 2610), 'seg': (0,30), 'avgseg': (80,160)}"]
"NPM1": ["nucleoli [GC)", "#88D1E5", "{'raw': (480, 8300), 'seg': (0,30), 'avgseg': (80,160)}"]
"SON": ["nuclear speckles", "#3292C9", "{'raw': (420, 1500), 'seg': (0,10), 'avgseg': (10,60)}"]
"SMC1A": ["cohesins", "#306598", "{'raw': (450, 630), 'seg': (0,2), 'avgseg': (0,15)}"]
"HIST1H2BJ": ["histones", "#305098", "{'raw': (450, 2885), 'seg': (0,30), 'avgseg': (10,100)}"]
"LMNB1": ["nuclear envelope", "#084AE7", "{'raw': (475,1700), 'seg': (0,30), 'avgseg': (0,60)}"]
"NUP153": ["nuclear pores", "#0840E7", "{'raw': (420, 600), 'seg': (0,15), 'avgseg': (0,50)}"]
"SEC61B": ["ER [Sec61 beta)", "#FFFFB5", "{'raw': (490,1070), 'seg': (0,30), 'avgseg': (0,100)}"]
"ATP2A2": ["ER [SERCA2)", "#FFFFA0", "{'raw': (430,670), 'seg': (0,25), 'avgseg': (0,80)}"]
"SLC25A17": ["peroxisomes", "#FFD184", "{'raw': (400,515), 'seg': (0,7), 'avgseg': (0,15)}"]
"RAB5A": ["endosomes", "#FFC846", "{'raw': (420,600), 'seg': (0,7), 'avgseg': (0,10)}"]
"TOMM20": ["mitochondria", "#FFBE37", "{'raw': (410,815), 'seg': (0,27), 'avgseg': (0,50)}"]
"LAMP1": ["lysosomes", "#AD952A", "{'raw': (440,800), 'seg': (0,27), 'avgseg': (0,30)}"]
"ST6GAL1": ["Golgi", "#B7952A", "{'raw': (400,490), 'seg': (0,17), 'avgseg': (0,30)}"]
"TUBA1B": ["microtubules", "#9D7000", "{'raw': (1100,3200), 'seg': (0,22), 'avgseg': (0,60)}"]
"CETN2": ["centrioles", "#C8E1AA", "{'raw': (440,800), 'seg': (0, 2), 'avgseg': (0,2)}"]
"GJA1": ["gap junctions", "#BEE18C", "{'raw': (420,2200), 'seg': (0,4), 'avgseg': (0,8)}"]
"TJP1": ["tight junctions", "#B4C878", "{'raw': (420,1500), 'seg': (0,8), 'avgseg': (0,20)}"]
"DSP": ["desmosomes", "#B4C864", "{'raw': (410,620), 'seg': (0,5), 'avgseg': (0,3)}"]
"CTNNB1": ["adherens junctions", "#96AA46", "{'raw': (410,750), 'seg': (0,22), 'avgseg': (5,40)}"]
"AAVS1": ["plasma membrane", "#FFD2FF", "{'raw': (505,2255), 'seg': (0,30), 'avgseg': (10,120)}"]
"ACTB": ["actin filaments", "#E6A0FF", "{'raw': (550,1300), 'seg': (0,18), 'avgseg': (0,35)}"]
"ACTN1": ["actin bundles", "#E696FF", "{'raw': (440,730), 'seg': (0,13), 'avgseg': (0,25)}"]
"MYH10": ["actomyosin bundles", "#FF82FF", "{'raw': (440,900), 'seg': (0,13), 'avgseg': (0,25)}"]
"PXN": ["matrix adhesions", "#CB1CCC", "{'raw': (410,490), 'seg': (0,5), 'avgseg': (0,5)}"]