This is the software that Oleg Polyakov developed to study the physics of developmental morphogenesis in the Drosophila embryo. Included here are various models and simulations of the Drosophila cytoskeletal and tissue properties. Also included here are various software tools used to analyze biological images.
This is a guide to the code that I wrote while I was a graduate student and postdoc at Princeton University. The code was written in MATLAB, C++ and C. It mostly focused on the areas of developmental morphogenesis of the fruit fly embryo and includes various models, simulations as well as tools used to analyze biological images. This work was done under the supervision of Eric Wieschaus and also Matthias Kaschube. A big thanks also goes out to Konstantin Doubrovisnky for all his help and also his contribution to some of these projects.
Please note that this code was developed for specific research problems that I was working on. Therefore this code needs to be modified to be adapted to the specific task that you need. Also, one should note that some of the GUI programs here will only work if you have real data present. I will not be uploading any data here, except for some sample data sets.
For any questions please contact the Wieschaus Lab at Princeton or email me at email@example.com.
Vertex Model of Ventral Furrow Formation
This is the vertex model of ventral furrow formation which formed the backbone of my PhD thesis. This computer model is composed of connected cells that represent the fully cellularized Drosophila embryo at the onset of gastrulation. The driving force for ventral furrow formation comes from the constricting apical surface. The cells are modeled to have an elastic perimeter and a constant cytosplasmic volume. Included here are the 2-dimensional and the 3-dimensional versions written in C++ and in MATLAB.
Particle Detection and Tracking
This folder contains my work on the particle detection and tracking software that I developed for the fluorescent beads injection experiments with Bing He and Konstantin Doubrovinsky. For these experiments we injected fluorescent beads into the Drosophila embryo to use them as passive tracers of the cytoplasm. We then used the trajectories acquired through my software to determine the flow of the cytoplasm during gastrulation and ventral furrow formation. Here I am including the code that I developed to preprocess the image stacks containing the beads, to fit a 3 dimensional Gaussian to the bead intensity profiles, to measure the positions of the particles, and finally to determine the trajectory of the beads. There is also a GUI program that puts all these functions together, and allows one to build their own particle tracking program. All of this code is written in MATLAB.
Models of the Cytoskeleton
Here I am including the simulations of the cytoskeleton that I started working on with Matthias Kaschube and Konstantin Doubrovinsky and continued to work on once I joined Eric Wieschaus’s Lab. The purpose of these simulations was to understand the dynamics of macroscopic cytoskeletal structures from the microscopic dynamical interactions between individual cytoskeletal components. In these simulations I only considered the three main components: actin, myosin, and cross-linkers. Included here is the main model of myosin driven actin aggregation developed and published with Matthias Kaschube and Konstantin Doubrovinsky. There are also many other unpublished but nonetheless very interesting models. Among them are a model of how myosin applies continuous force to actin filaments, a 2-dimensional model of myosin-actin aggregation, and a very nice model of how actin, myosin, and cross-linkers can form large connected structures and apply force over large scale distances. This code is written in C++ and MATLAB.
Here I have included various software programs that I have written for the magnetic beads experiment. The purpose of this experiment was to introduce magnetic particles into the interior of the Drosophila embryo and then study the rheological properties of the embryo tissue by applying magnetic force to the beads. The force was applied with a needle like magnetic probe that I built for the lab. Included in this folder is a calculation of the magnetic field and the magnetic force experienced by the beads. Also included here is a GUI controller for the magnetic probe, which allows the user to control the magnetic force through MATLAB. This is done by using a DAQUSB128FS data acquisition board.
Nucleus Detection Program
This is a very useful program that I developed to identify and to track individual nuclei over time. The detection algorithm here works differently from the one used for the fluorescent beads. Here we first apply a Hessian filter, that helps detect “blob” like structures like the nuclei. Then we apply a threshold to the image to convert it into a binary image. In theory this should be enough to separate the nuclei. However, sometimes the nuclei are still grouped together. To separate them, I developed a GUI program in MATLAB that allows the user to manually separate the remaining nuclei. These nuclei are then tracked over time and their trajectory is determined.
Surface Processing Tool
This is a very useful tool that I developed to support my main vertex model of Drosophila ventral furrow formation. For this model we wanted to measure the amount of basal myosin along the basal membrane surface of the embryo. This program allows you to manually place a surface onto the image and then “unfold” that image along the surface. Therefore this tool allows you to measure a signal along the surface even if that surface is curved. The resulting image is then rescaled and automatically saved to a folder. This tool is written in MATLAB and I am sure that it can be applied to many similar problems.
Fluid Mechanics Simulations
These are some fluid mechanics simulations that I wrote while I was working with Matthias Kaschube and Konstantin Doubrovinsky. They use two different methods to solve the viscoelastic Navier-Stokes equations: the Lattice Boltzmann Method and the direct integral method. We developed these simulations to try to understand the response of the cytoplasm to the constricting apical surface during Drosophila gastrulation. These simulations were never fully developed because we instead began to work on the particle tracking experiments and the vertex model. However these simulations can easily be adapted to simulation the cytoplasmic flow in other systems. The code here is written in both MATLAB and C++.
Subcellular Element Methods (SEM) Simulations
These simulations here were also developed to study the tissue flow during Drosophila ventral furrow formation. The SEM model consists of individual particles that interact with each given through a given potential. With a specific choice of that potential it becomes possible to construct models that approximate rheological properties of cells. I attempted to use this model to study cellular mechanics during gastrulation. However this method was not well suited for this problem and it eventually gave way to the vertex model of ventral furrow formation. The code here is written in MATLAB and C++.