Paracrine-IFN is a codebase that models the paracrine signaling of interferons (IFNs) during viral infection. It uses ordinary differential equations (ODEs) to simulate the dynamics of various cellular and viral components involved in the immune response to viral infection. The codebase provides a framework for studying the effects of different parameters and conditions on the immune response.
The main functionalities of the Paracrine-IFN codebase include:
- Solving the ODE model for paracrine signaling of interferons during viral infection
- Plotting the dynamics of different cellular and viral components over time
- Performing data cleaning and analysis to compare model results with experimental data
To install Paracrine-IFN, follow these steps:
-
Clone the repository:
git clone https://github.com/DoctorGoose/Paracrine-IFN.git
-
Navigate to the project directory:
cd Paracrine-IFN
-
Install the required dependencies:
pip install numpy matplotlib pandas scipy
The Paracrine-IFN codebase has the following dependencies:
- numpy
- matplotlib
- pandas
- scipy
To use Paracrine-IFN, follow these steps:
-
Import the required modules and functions:
import numpy as np import matplotlib.pyplot as plt import pandas as pd from scipy.integrate import solve_ivp
-
Load the necessary data and parameters:
df_par = pd.read_excel('parameters/baseline_parameters.xlsx') PR8 = pd.read_excel('data/Shapira_Ramos.xlsx', sheet_name='PR8') t_eval = PR8['Time'].unique().sort() state_labels = ['IFN','IFNe','STATP','IRF7','IRF7P','P','V'] tspan = [0, 48] y0 = np.zeros(len(state_labels)) y0[state_labels.index('P')] = 1.0 y0[state_labels.index('IRF7')] = 0.72205 y0[state_labels.index('V')] = 5
-
Define the ODE model and other necessary functions:
def ODE_Model(t, y, p): # ODE model implementation def LFC(data, control): # Log2 Fold Change calculation def model_prep(sol): # Data cleaning and analysis
-
Pack the ODE parameters into a dictionary:
parameters = dict(zip(df_par.label, df_par.natinitval))
-
Solve the ODE model:
sol = solve_ivp(ODE_Model, tspan, y0, method='LSODA', t_eval=t_eval, vectorized=False, args=(parameters,))
-
Perform data cleaning and analysis:
data = model_prep(sol)
-
Plot the model results:
def plot_model(model, t, title='Model'): # Plotting function implementation plot_model(data, sol.t, title='Log-Space Model')
The Paracrine-IFN codebase was developed by DoctorGoose.
Contributions to Paracrine-IFN are welcome! If you encounter any issues or have suggestions for improvements, please open an issue on GitHub.
Paracrine-IFN is licensed under the MIT License.