This repository contains code, data, and documents for my research modeling the interactions between pathogens and macrophages using mechanistic differential equation models. The goal of this research was to find and analyze the interactions of pathogens and macrophages using a mathematical model to gain insights into how the immune system works.
$\displaystyle \frac{dP}{dT} = \alpha P\bigl(1 - \tfrac{P}{b}\bigr) - \mu P G$ $\displaystyle \frac{dG}{dT} = \delta - \sigma G - \mu P G$
$\displaystyle \frac{dP}{dT} = \alpha p\bigl(1 - \tfrac{p}{\beta}\bigr) - \mu p g - \kappa s p$ $\displaystyle \frac{dG}{dT} = \delta - \sigma G - \mu p g$ $\displaystyle \frac{dS}{dT} = \frac{\phi P}{\eta + P} - \psi S$
We analyzed this system using:
-
Scaling
Non‐dimensionalization of variables and parameters for more interpretable and general results. -
Jacobian Analysis
Computation of the Jacobian matrix at equilibria and application of the Routh–Hurwitz criteria. -
Phase-Plane Analysis
Plotting nullclines and direction fields to visualize trajectory flow. -
Equilibrium Analysis
Identification of where and how many equilibria exist. -
Parameterized Curves
Used parameterized curves to compare the two models. -
Numerical Simulations
Used numerical methods to solve the system of ODEs and illustrate how trajectories evolve.
-
Deriving Equations
Shows the work behind the equations and criteria used in the project. -
Presentation
This PDF contains the PowerPoint slides for the project. -
System of Three Equations
Short document outlining the three‐equation model and parameter meanings. -
System of Two Equations
Short document outlining the two‐equation model and parameter meanings.
-
Nulclines.m
Draws the phase‐plane nullclines, overlays the full vector field, simulates solution trajectories from several initial conditions, and marks the vertical dividing line that separates regions of stable versus unstable endemic equilibria. -
RinTermsOfM.m
Compares the needed r-value for a given system with and without a specialist macrophages, then plots a graph comparing them. -
ScaledVsUnscaled.m
Sketches two graphs—one scaled and one unscaled—that compare the differences between the graphs of a scaled and unscaled system of equations. -
Stableequilibrium.m
Sketches three different plots that display three types of node stability—Stable, Unstable, and Saddle Node. -
ThreeGraphs.m
Sketches the nullclines for a system and displays three separate nullclines for the pathogen representing different r-values. -
basePlot.m
Graphs a basic nullcline plot of the system with arrows showing the direction points are being pushed in. -
findingNumberOfSolutions.m
Shows three different parabolas representing how systems with all else equal, except for their r-values, have different numbers of solutions. -
pg_scaled.m
Script for numerically solving the scaled system of equations. -
pg_unscaled.m
Script for numerically solving the unscaled system of equations. -
testUnscaled.m
Draws a simple graph to test that the pg_scaled.m script works correctly.
-
Install MATLAB
Make sure you have MATLAB R2020a or later installed. -
Download core solvers
Savepg_scaled.mandpg_unscaled.minto a single folder. -
Add additional scripts
Download any otherfoo.mfiles you want to run and place them in the same folder. -
Run the scripts
% In MATLAB, change to your folder: cd('path/to/your/folder') % Example: run the scaled solver pg_scaled % Example: run the unscaled solver pg_unscaled % Example: run a script that depends on pg_scaled and pg_unscaled ScaledVsUnscaledScript
Thank you too,
- Proffessor Glenn Ledder lead and acted as a the leader of the project. Helped guide my research and work
- Michael Pieper for helping me throughout the project by answersing my questions and meeting in person with me
- Sophia Thompson worked with me on the research problem with me for most of the project