---
res:
  bibo_abstract:
  - "In this repository, you will find the R-scripts used to generate the figures,
    along with the data necessary to make the plots. You will also find the Python-scripts
    used to compute the pair-wise distance between embryos, to estimate the surface,
    the volume, the α-parameter, to identify the closest rigid packing and to generate
    the morphomap. Additionally, you have access to the base model used with Plantseg
    to predict and label the cells at the 8-cell stage. Note that a more accurate
    and more specific model was generated for each embryo based on the curation of
    at least 5 timepoints.\r\n\r\nFigures\r\nThe plots in Figure 1-7 and Figure S1-S7
    can be generated with the respective files. The code is written in R and requires
    RStudio to work out-of-the-box. The R scripts are located in figures/. Figures
    and supplemental figures are generated with the same file (e.g., Figure 1.R generates
    all the computed panels of Figure 1 and Figure S1). Data required to generate
    the plots are located in figures/data/. Note that the code to work with the morphomap
    and the tracking data is located in local packages figures/fabreges.morphomap
    and figures/fabreges.tracking. An additional package figures/fabreges.generic
    contains utility functions.\r\n\r\nPython packages\r\nFor the needs of this study,
    we developed a series of package for Python located in python-packages/. The packages
    can be directly imported within your scripts. Along with the packages, you will
    find 6 scripts used to compute, extract or estimate the data from the source.
    The folder is organised as follow:\r\n\r\npackage interfaces is located in python-packages/interfaces/
    and can be tested by running the scripts to extract the angles an estimate the
    surface of contact (compute-angles.py and estimate-contacts.py respectively) in
    folder python-packages,\r\npackage morphomap is located in python-packages/morphomap/
    and can be tested by running the script to compute the geometrical distances between
    embryos, project the data in 2D and compute the volume of the cells (compute-distances.py,
    process-distances.py and compute-volumes.py respectively) in folder python-packages,\r\npackage
    splinefit is included in morphomap in python-packages/morphomap/splinefit/, but
    can function independently,\r\npackage rbb is located in python-packages/rbb/
    and can be tested by running the script to identify the closest rigid packing
    of an embryo at the 8-cell stage (identify-packing.py) in folder python-packages.\r\nWe
    provide example of segmented data in python-packages/samples/.\r\n\r\nCNN\r\nWe
    provide a convolutional neural network (CNN) used in our study, located in cnn.
    Please note that we optimised the CNN further for each dataset by doing manual
    curation of at least 5 time points and by retraining the network with those ground
    truth. The CNN were trained using pytorch-3dunet. The CNN can be used with Plantseg.
    Currently (plantseg v.1.6.0 and pytorch-3dunet v.1.6.0), the output model from
    pytorch-3dunet must currently be modified to work with plantseg:\r\n\r\n# python\r\nimport
    torch\r\nfor model in ('best_checkpoint.pytorch', 'last_checkpoint.pytorch'):\r\n
    \   state = torch.load(model, map_location='cpu')\r\n    state = state['model_state_dict']\r\n
    \   torch.save(state, model)\r\n\r\nRequierements\r\nFigures\r\nThe figures were
    generated with R (v. 4.4.0) and RStudio (v. 2024.04.1+748). The following packages
    must be installed prior to execution:\r\n\r\nalphashape3d (v. 1.3.2)\r\ndevtools
    (v. 2.4.5)\r\nggplot2 (v. 3.5.1)\r\nggrepel (v. 0.9.5)\r\nrstudioapi (v. 0.16.0)\r\nTo
    install all these packages, run the following command in the RStudio console:\r\n\r\n#
    R\r\ninstall.packages(c(\"alphashape3d@1.3.2\", \"devtools@2.4.5\", \"ggplot2@3.5.1\",
    \"ggrepel@0.9.5\", \"rstudioapi@0.16\"))\r\n\r\nMore recent version of R, RStudio
    and the packages may also work (not tested).\r\n\r\nPython packages\r\nPython
    3.12.3 was used to analyse the data. The scripts may work with more recent version
    of Python and with Python 3.8 or earlier (not tested). To run the code, you must
    first install the following packages:\r\n\r\nnumpy (v. 1.26.4)\r\nimageio (v.
    2.34.1)\r\nscipy (v. 1.13.1)\r\nscikit-image (v. 0.23.2)\r\nscikit-learn (v. 1.5.0)\r\nAlternatively,
    you can create a conda environment:\r\n\r\n# Shell script\r\nconda create -y --name
    fabreges2024 python=3.12.3\r\nconda activate fabreges2024\r\npython -m pip install
    numpy==1.26.4 imageio==2.34.1 scipy==1.13.1 scikit-image==0.23.2 scikit-learn==1.5.0\r\n\r\nMore
    recent version of the dependencies may work (not tested).\r\n\r\nUsage\r\nFigures\r\nOpen
    one of the figure script in RStudio and run the entire code. You may have to create
    a folder output in figures/ if it does not exist.\r\n\r\nThe code has local dependencies
    that will be installed on your computer when encountering them for the first time.
    They start with fabreges.* and are necessary to generate the figures.\r\n\r\nPython
    packages (example)\r\nCompute angles\r\n# Shell script\r\n# Compute a summary
    (mean, median, s.d.) of the angles in embryo C1 at time 40\r\npython compute-angles.py
    -s -r 15 -R 20 samples/C1_t040.tif.gz output/C1_t040_angles.csv\r\n# Compute a
    detailed list of angle values\r\npython compute-angles.py -r 15 -R 20 samples/C1_t041.tif.gz
    output/C1_t041_angles.csv\r\n\r\nCompute distances\r\n# Shell script\r\n# Compute
    the distance between two embryos\r\npython compute-distances.py -c 5 -s 5 samples/C1_t040.tif.gz
    samples/C1_t041.tif.gz output/distances.csv\r\n# Append another distance measurement\r\npython
    compute-distances.py -a -c 5 -s 5 samples/C1_t040.tif.gz samples/C1_t042.tif.gz
    output/distances.csv\r\n\r\nCompute volumes\r\n# Shell script\r\n# Compute the
    volume in isotropic data\r\npython compute-volumes.py -r 0.416 0.416 0.416 samples/C1_t040.tif.gz
    output/volumes.csv\r\n\r\nEstimate contacts\r\n# Shell script\r\n# Estimate the
    contacts and the free surface area\r\npython estimate-contacts.py -r 0.416 0.416
    0.416 samples/C1_t040.tif.gz output/contacts.csv\r\n\r\nIdentify the closest rigid
    packing\r\n# Shell script\r\n# Assuming the file `output/contacts.csv` exists
    and contains the output\r\n# from command `estimate-contacts.py`.\r\n# Identify
    the closest rigid packings\r\npython identify-packing.py output/contacts.csv output/backbones.csv\r\n\r\nGenerate
    the seeds for Surface Evolver\r\n# Shell script\r\n# Assuming the file `output/contacts.csv`
    exists and contains the output\r\n# from command `estimate-contacts.py`, and the
    file `output/volumes.csv`\r\n# exists and contains the output from command `compute-volumes.py`\r\n#
    Generate the seeds for Surface Evolver using automatic thresholding\r\n# Automatic
    threshold will determine the highest cell-cell contact threshold\r\n# that preserves
    rigidity of the embryo (or 0 if not rigid)\r\npython generate-seed.py output/contacts.csv
    output/volumes.csv output/seed.fe\r\n# Generate the seeds for Surface Evolver
    with custom threshold\r\npython generate-seed.py --threshold 0.1 output/contacts.csv
    output/volumes.csv output/seed.fe\r\n\r\nProject in 2D and generate a distance
    matrix\r\n# Shell script\r\n# Assuming the folder `foo` only contains one or more
    CSV\r\n# from command `compute-distances.py`.\r\n\r\n# Compute the tSNE 2D projection\r\npython
    process-distances.py -D2 -t output/tsne_2d.csv foo/\r\n\r\n# Compute the tSNE
    3D projection\r\npython process-distances.py -D3 -t output/tsne_2d.csv foo/\r\n\r\n#
    Generate the distance matrix\r\npython process-distances.py -m output/dismat.csv
    foo/@eng"
  bibo_authorlist:
  - foaf_Person:
      foaf_givenName: Bernat
      foaf_name: Corominas-Murtra, Bernat
      foaf_surname: Corominas-Murtra
  - foaf_Person:
      foaf_givenName: Prachiti
      foaf_name: '  Moghe, Prachiti'
      foaf_surname: '  Moghe'
  - foaf_Person:
      foaf_givenName: Alison
      foaf_name: Kickuth, Alison
      foaf_surname: Kickuth
  - foaf_Person:
      foaf_givenName: Takafumi
      foaf_name: Ichikawa, Takafumi
      foaf_surname: Ichikawa
  - foaf_Person:
      foaf_givenName: Chizuru
      foaf_name: Iwatani, Chizuru
      foaf_surname: Iwatani
  - foaf_Person:
      foaf_givenName: Tomoyuki
      foaf_name: Tsukiyama, Tomoyuki
      foaf_surname: Tsukiyama
  - foaf_Person:
      foaf_givenName: Nathalie
      foaf_name: Daniel, Nathalie
      foaf_surname: Daniel
  - foaf_Person:
      foaf_givenName: Julie
      foaf_name: Gering, Julie
      foaf_surname: Gering
  - foaf_Person:
      foaf_givenName: Anniek
      foaf_name: Stokkermans, Anniek
      foaf_surname: Stokkermans
  - foaf_Person:
      foaf_givenName: Adrian
      foaf_name: Wolny, Adrian
      foaf_surname: Wolny
  - foaf_Person:
      foaf_givenName: Anna
      foaf_name: Kreshuk, Anna
      foaf_surname: Kreshuk
  - foaf_Person:
      foaf_givenName: Véronique
      foaf_name: Duranthon, Véronique
      foaf_surname: Duranthon
  - foaf_Person:
      foaf_givenName: Virginie
      foaf_name: Uhlmann, Virginie
      foaf_surname: Uhlmann
  - foaf_Person:
      foaf_givenName: Edouard
      foaf_name: Hannezo, Edouard
      foaf_surname: Hannezo
  - foaf_Person:
      foaf_givenName: Takashi
      foaf_name: Hiiragi, Takashi
      foaf_surname: Hiiragi
  bibo_doi: 10.5281/zenodo.12819780
  dct_date: 2024^xs_gYear
  dct_publisher: Institute of Science and Technology Austria@
  dct_title: 'Data and software from: Temporal variability and cell mechanics control
    robustness in mammalian embryogenesis@'
...
