Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
How does ARCOS work
A dbscan algorithm first spatially clusters entities deemed active in each frame. In step 2, clusters are sequentially linked between frames to capture collective events over time. The cluster in frame one forms a seed of a collective event. The cluster in frame two is linked to this seed cluster because several of its member cells are within the neighbourhood radius 𝜀. In frame three, only clusters #3, #5, & #6 are linked to the previous frame’s cluster. Cells in cluster #4 are too far and thus form a new seed of a collective event.
The flow chart below outlines the steps in the algorithm.
Napari is a multidimensional image viewer for python. It is available either as a python package or as a standalone application. See here for installation instructions of napari.
After successfully installing napari, you can install arcos-gui
via pip:
Or install arcos-gui from within napari via the plugin toolbar (required for the standalone version).
To install the most recent development version :
Arcos is aimed at analysing time series data which should be arranged in long format. Each row should define the object’s location, time, and optionally the measurement value. For the implementations in R and python, the objects don't necessarily need to be tracked over time. However, it is recommended as it allows a more in-depth downstream analysis of ARCOS's output.
An example dataset could look like this:
Index | t | x | y | m | id | Position |
---|---|---|---|---|---|---|
For the napari-plugin, as of now, a track id is required.
To install from pip, run this command in your terminal:
Installing from conda-forge can be achieved by adding conda-forge
to your channels with:
Once the conda-forge channel has been enabled, arcos4py can be installed with the conda package manager:
Pip and conda-forge are the preferred methods to install arcos4py, as it will always install the most recent stable release.
The source for arcos4py can be downloaded from the .
You can either clone the public repository:
Or download the :
0
1
0.22
-0.15
0
1
0
1
1
0.88
-0.11
0
2
0
2
1
1.93
0.07
0
3
0
3
1
2.95
0.18
0
4
0
4
1
3.90
-0.04
0
5
0
ARCOS - Automated recognition of collective signalling events
ARCOS is a computational method to detect and quantify collective phenomena. The algorithm was designed with the signaling of epithelial cells in mind however it is also applicable to other systems even outside of the realm of cell biology.
We provide several open-source implementations of ARCOS
Python (arcos4py)
R (ARCOS)
Plugin for Napari image viewer (arcos-gui)
ARCOS is now published in the Journal of Cell Biology (JCB): https://doi.org/10.1083/jcb.202207048
For a complete tutorial on how to use ARCOS from raw images to full analysis you may also refer to our recent tutorial published in Methods in Microscopy (MiM): https://doi.org/10.1515/mim-2024-0003
and the corresponding GitHub repository containing a detailed notebook and installation instructions.
Learn the fundamentals of ARCOS to get a deeper understanding of our main features:
If you use this method in your research, please cite our paper:
and if you used the tutorial please also cite:
We provide several implementations of ARCOS as open-source code which can be found on github.
The code provided as R and Python packages can be used in Jupyter notebooks or in batch processing pipelines. The Napari plugin enables anyone without extensive programming knowledge to explore parameters through an intuitive GUI on a platform that emerges as a de-facto standard for viewing multidimensional images
To get from raw data to data that ARCOS accepts as input, several different tools can be used. The steps neccessary can be summarised as follows:
Acquire your image data.
Segment images to identify individual objects.
Tools that can be used for this purpose include Ilastik (a more general approach), simple image thresholding, or more specialised tools such as stardist, and cellpose in the case of microscopy data and many others.
Optionally, extract a measurement value from objects, for example from a fluorescent biosensor, other intensity changes, shape changes or something else entirely. This is needed if some objects should be excluded from the analysis based on a activity threshold.
Optionally, track detected objects across time and space. This is needed from subsequent downstream analysis but not necessarily for ARCOS itself.
If the measurement column contains missing values, in the first step the data should be interpolated. Helper functions are available across all implementations.
Often time-series data can exhibit local and global trends that are introduced as artefacts of the data acquisition. In the case of fluorescence microscopy bleaching can be an example of such a bias. To help with this several de-trending methods are implemented in ARCOS, all of which are optional. There are three options available: ['none', 'lm', 'runmed']. With "none", the data is first rescaled to a feature range of 0,1. Subsequently, a short-term median filter is applied to the time series to reduce noise in the data. "lm" uses linear regression to detect long-term trends. Additionally, a short-term median filter is used to reduce noise in the time series. With "runmed", a long-term and a short-term median filter is used. After de-trending the data with options "lm" and "runmed", the output is rescaled to a feature range of 0,1.
ARCOS requires binarized data to detect and track collective event clusters. Binarization is done by setting a threshold and defining measurements below this threshold as 0 and above as 1. Alternatively, all input objects can be defined as "active" if no measurement is available.
Work in progress
This section outlines an example pipeline written in python to get from images of epithelial cells to quantification with ARCOS and visualization with napari.
The following describes an example image processing pipeline written in python to analyse collective events in an MDCK epithelium. What we are aiming for can be seen in the gif above. First, the erk measurement is extracted from the images and the individual nuclei are tracked. The second step shows how to analyse the data with ARCOS. Similar results can be achieved with standalone tools such as CellProfiler and Ilastik. And both the R and Python packages can be used after preparing the data.
In the following zip file, you can find both the input data and the generated output from the image segmentation pipeline and ARCOS.
The data in this example is from an MDCK cell line that stably expresses a fluorescent FRET biosensor reporting the activity of the ERK kinase.
In the first step, the nuclei are segmented using the stardist python package.
Subsequently, the mean intensity of individual objects in the ratio image is measured and the individual nuclei are tracked over time.
In this example, the python package arcos4py is used. But the same analysis could be carried out easily with the R package or the napari plugin.
This step is optional and only one way to visualize events but can be usefull to validate correct event detection.
label | y | x | ERK | area | timepoint | track_id |
---|---|---|---|---|---|---|
timepoint | track_id | x | y | clTrackID | label | ERK | area | ERK.resc | ERK.bin |
---|---|---|---|---|---|---|---|---|---|
1
234.0361
234.21661
24.241877
277
0
0
15
247.75668
17.486647
20.970326
337
0
1
14
201.73333
275.54409
22.105376
465
0
2
13
282.29854
274.37136
23.169903
412
0
3
12
79.808989
26.254682
23.794007
267
0
4
41
45
178.5023
159.9447
2
84
24.069124
434
0.309875
1
41
69
133.91586
161.19741
2
66
29.385113
309
0.780246
1
41
80
157.38387
171.76452
2
79
26.158065
310
0.575343
1
41
121
157.41818
112.88182
2
133
22.369697
330
0.312039
1
41
122
118.09012
132.79361
2
92
29.494186
344
0.862141
1