EAH Meiosis Apps

Background: In October, 2013, I created a mirror site for Stahl Lab Online Tools. In Spring and Summer, 2020, I was asked to modify the site and also, separately, asked to help with several analyses including one using the Papazian method. I found errors in the original coding for the Papazian method on the site. One error is that the method does not return meaningful results if the observed tetratype frequency is greater than 2/3. However, the code did return a result without warning. Additionally, there was a typo in the code for the approximate sampling variance of the NPD ratio. There is a term with \(4E^2\) in the denominator. It was coded as "/4*E^2" without parentheses so it divided by four but mutiplied by \(E^2\). This is just a typo, but it was not caught until July 15, 2020. Additionally, researchers needed output that was not provided in the tools.

In Spring 2020, I learned about Shiny Apps. Shiny had been around for at least five years, but I had been occupied chairing the Department of Mathematics at Indiana University and was in the process of transitioning to chairing the Department of Statistics. Shiny is a way of providing rather nice online tools that use R to return analyses of various types. This is much nicer and easier than writing PHP code to conduct similar analyses. The apps can use the full power of R, all of its packages, and its graphical capabilities to return results if one just learns a little bit about reactive programming (the user changes something or hits "calculate" and the output changes reactively.)

Consequently, I rented a virtual server from GoDaddy, installed security certificates, R, a shiny-server, apache2, learned how to configure all of that, and started writing shiny apps. However, there were many issues, including that I do not have the time for server management, especially when also serving as Chair - I became Chair of Statistics for four years.

New Methods: While I was Chair in Statistics, people (Posit) developed methods of converting Shiny Apps to Apps that run inside a web browser. That solved the issue that I never managed to configure my server to run multiple instances of the apps at once. It solved the problem of my becoming a server manager. The goal is to create apps that mimic the tools provided on the Stahl Lab Online Tools site, create easy-to-use interfaces for the counting model and two-pathway models from crossover interference, and create an easy-to-use interface for the Beam Film Model, converting the original code of Martin White in MatLab to R with a Shiny App interface.

These Shiny Apps run inside your web browser. They are slow to load and slow to run. For some things, the run-time slowness will not be a major issue. For other things, it may be best to run the R code in R or use more sophisticated R code, such as provided in the xoi R package by Karl Broman.

R Shiny App Versions of Stahl Lab Online Tools

  • The Better Way -- Goodness of Fit test for whether the data is compatible with a model of no interference.
  • Perkins Formula -- Map distances and standard errors using the Perkins formula, including testing under two conditions.
  • Papazian's NPD Ratio Methods -- Historical method for determining crossover interference and differences between two intervals.
R Shiny Apps for the Counting Model and Two-Pathway Models of Crossover Interference (genetic models)

Tetrad Data (Intervals scored as Parental Ditype, Tetratype, Non-Parental Ditype)

Spore (Gamete) Data (Intervals scored as Crossover/Non-Crossover)

Continuous Data - Genetic Location of Crossovers on Chromosomes

  • Coming Soon Interference Analysis for Location Data -- Parameter estimation for the pure counting and two-pathway models for interference when the data is the genetic positions of crossovers on a chromosome. Significance determined through simulations.
  • Coming Soon Location Data Simulations -- Simulate crossover genetic location data on a chromosome under the Counting Model or Two-Pathway Model
R Shiny Apps for the Beam Film Model (physical model)