synapsis
synapsis
is an R package which is designed for the objective and reproducible analysis of meiotic immunofluorescence data.
Meiosis is a special type of cell division where the chromosome number is halved prior to fertilisation in sexually reproducing species. The accurate halving of chromosomes is facilitated through large scale chromosome exchanges that are referred to as meiotic crossovers. The necessary precursors to crossovers are meiotic DNA double-strand breaks. There is very tight control of DNA double-strand break numbers, timing and positioning. Similarly the repair of these breaks and the intermediate steps to crossover formation are under strict control. All of these events take place on a meiosis-specific chromosomal structure, which is referred to as the synaptonemal complex. These different meiosis-specific molecular events and structures can be visualised with antibody labelling and these signals are what synapsis
analyses.
There are three common types of labelling patterns that are considered in meiotic immunofluorescence data sets:
The synaptonemal complex - These linear and thread-like structures are specific to cells which are in meiotic prophase I. A good description of the mouse synaptonemal complex can be found here (Bisig et al. 2012).
Foci - A number of common proteins that are involved in meiotic double-strand break repair form foci when visualised with immunofluoresence. Some common examples of include the visualisation of the dynamic loading and unloading of RAD51, DMC1, MSH4, MLH1 (Cole et al. 2012). Foci can also be seen when visualising relatively fixed chromosomal structures such as centromeres and telomeres.
DNA - DNA is commonly visualised with a stain referred to as DAPI (4′,6-diamidino-2-phenylindole). As nearly all cells contain DNA, DAPI-stained cells are not necessarily in meiosis, but DAPI is still an informative cytological marker.
One of the more common uses of meiotic immunofluorescence data will be a quantitative analysis of some aspect of double-strand break repair. The challenge for manual quantification of foci relates to subjective and undocumented choices:
What criteria are required to consider the data from one cell? E.g. how is meiotic sub-stage determined? How is a good or bad quality image determined?
How is a foci defined? E.g. size, intensity, signal to background ratio.
Synapsis also lays the foundation for more complex analyses. For example synapsis
generates output that is compatible with machine learning approaches. In future versions of synapsis
it will be possible to measure the relative positioning of multiple foci on the same synaptonemal complex, which is another common task that is performed manually by researchers.
A number of good open-source packages exist for the analysis of immunofluoresence data from somatic cells such as the R packages EBImage
, colocr
, ColocalizR
, and the code-free tool CellProfiler
. We recognise the value of these software and synapsis
makes significant use of EBImage in particular. Objective and reproducible analyses are essential in research.
To run this tutorial, you will need the following packages:
library(knitr)
library(rmarkdown)
##
## Attaching package: 'rmarkdown'
## The following objects are masked from 'package:BiocStyle':
##
## html_document, md_document, pdf_document
synapsis
through bioconductorMake sure you have the BiocManager package installed.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
Then type the following into the Rstudio console:
BiocManager::install("synapsis")
synapsis
from GitHubTo install synapsis
from GitHub, you will need:
library(devtools)
You can install the development version of synapsis
directly from the github repository by pasting the following into the Rstudio console:
devtools::install_git('https://github.com/mcneilllucy/synapsis', dependencies = TRUE)
library(synapsis)
You can type
??auto_crop_fast
to explore the first function we will use in the “help” window in Rstudio.
For the moment, we will use the example images which come with synapsis.
path = paste0(system.file("extdata",package = "synapsis"))
library(EBImage)
Look at the MLH3 channel
file_MLH3 <- paste0(path,"/MLH3rabbit488_SYCP3mouse594_fancm_fvb_x_fancm_bl6_724++_slide01_006-MLH3.tif")
image_MLH3 <- readImage(file_MLH3)
display(2*image_MLH3)
file_SYCP3 <- paste0(path,"/MLH3rabbit488_SYCP3mouse594_fancm_fvb_x_fancm_bl6_724++_slide01_006-SYCP3.tif")
image_SYCP3 <- readImage(file_SYCP3)
display(2*image_SYCP3)
synapsis
functions on sample imageHere we will demonstrate the functionality of synapsis. Given an image whose foci channel (MLH3) is shown in MLH3rabbit488_SYCP3mouse594_fancm_fvb_x_fancm_bl6_724++_slide01_006-MLH3.tif
, and synaptonemal complex channel (SYCP3) shown in MLH3rabbit488_SYCP3mouse594_fancm_fvb_x_fancm_bl6_724++_slide01_006-SYCP3.tif
, we can:
which are currently the three main features of synapsis
.
Some notable features mentioned in the tutorial are:
auto_crop_fast(path, annotation = "on", max_cell_area = 30000, min_cell_area = 7000, file_ext = "tif")
2.5.3 Comment on resolution and size
Many of the input parameters in synapsis are in pixel units. It’s good to get a feel of this before you start analysing them. Let’s
or size
The image is 750 x 750 pixels and 2.25mb. If we recall the SYCP3 channel image, keeping in mind that it is 750 pixels wide, a single cell looks like it takes up roughly 1/8th of the width, i.e. 125 pixels. Keeping this approximate width of a cell in pixels will come in handy when determining input parameters for your own images.