Open JoRussell-IDM opened 5 years ago
I'm seeing that in Malaria 1.0, drugs directly affect hepatocyte killrate, gametocyte killrate, and IRBC killrate. And PK/PD looks like it contributes some part to each of these. Asexual parasite density is calculated in 1.0 by performing a calculation on IRBC, so we could draw that IRBC killrate logic out and change it to affect asexual density and use the gametocyte killrate as-is. Does anything happen with the hepatocyte killrate?
Yes exactly. The trick here is to shift our perspective from a killrate that was dynamically driving asexual density via IRBCs on a daily update basis to a transient dampening factor on the asexual density reported in shapeshifter.
The line of interest to me is InfectionMalaria.cpp line 525 a summation of all the anti-parasite effects (antibodies, maternal abs, fever, and drug killing).
We are subsuming the kill rate of the first three in the density transitions of the matrix RESEARCH NOTE: is this an ok assumption regarding fever? given that malariatherapy patients were febrile, or should we account for fever killing in a heuristic way just like we are with drugs?
The asexual channel should be a multiplication of the undrugged channel, and the exponential waning killing effect of the drug. (1-e^(-kt)) where k is the efficacy of the drug, t is the time since adminstration (days). My thought is this is acting as a filter in the output of asexual density that is being reported from InfectionMalaria2. Does this make sense that every day we are just filtering our view of asexual density through a fractional killing effect that wanes exponentially?
And while it doesn't necessarily effect the structure of the waves object, there should be allowance that when the multiplication is acting on small numbers it might result in sub-integer quantities of parasite and thus result in spontaneous clearance of that infection object (truncation of the remaining waves).
The same should be true for gametocyte stages where gametocyte_stage_x+1 is determined by (1-e^(-kt)) of any drug acting on gametocyte_stage_x as well as the survival rate from stage x (same as was imposed in 1.0).
Hepatocytes are tricky for us in 2.0. I'm not entirely sure how to deal with this. It depends a lot on how we listen for the delivery of an infection. We will likely be maintaining the logic that sporozoites are an integer quantity delivered by an infectious bite and we want to impose a configurable property that is fraction of sporozoites that survive and establish infection in the liver (resulting in an integer number of infected hepatocytes). This configurable property (sporozoite_survival) should account for innate immune clearance (fever status?), adaptive immune effects (like that driven by vaccination (anti-CSP) and to a negligible extent exposure driven immunity, and also drugs that might act on sporozoite?
For single infections, hepatocyte drugging will only delay the onset of infection (lets assume negligible delay for the time being) unless the number of infected hepatocytes drops below one then we should not even draw the infection.
For multiple infections from a single infectious bite, hepatocyte drugging should affect the proportion of these infections that successfully establish (draw a shape) dependent on the proportionate representation within the infectious bite. Treating all these values as integers with probabilities of survival lets us enforce this kind of established/not established behavior.
Today: determined that spontaneous clearance based on fractional parasite density can only occur in the presence of drugs.
Create a logical flag that clears infections when any infection iRBCs <1 (or corresponding scaling of asexual density) when drug is present.
May need to subcompartmentalize the respective iRBCs from individual infection objects.
In case that drug does clear (terminate) asexual infection. We want to allow for the ~8 days of gametocyte present to persist.. Allow infection object to live for lag more days, suppress asexual channel to 0 in that time and keep reporting on damped gametocyte values from that array.
I'm discovering that IndividualMalaria contains some of the drug effect behavior on gametocytes, too:
It appears that 1.0 split the drug effect on gams into stages 0-4 (where kill rate is impacting in InfectionMalaria.cpp) and stage Mature where drug effect is calculated in IndividualMalaria.cpp just prior to reporting on infectiousness?
We can do all of the drug effect summing together in 2.0 for the time being. As long as the mature gametocytes are still passed on to infectiousness in IndividualMalaria??
Build a regression framework for drug effects broadly (PK/PD Malaria Challenge style sims) as comparison between 1.0 and 2.0 sims.
A transient window (whos duration is defined by drug PK/PD) that dampens the appropriate parasite density compartment by a degree specified by the library of PK/PD values as used in Malaria 1.0
Based on discussion of reducing complexity of the Drug Model we will try to reduce the number of parasite stage/developmental compartments. This may reduce our fidelity to the action of particular drug classes, but its a simplifying assumption I'm willing to take for the time being!
We will draw the shape of gametocytemia as we draw asexual density trajectories as a tabular list of indices, conversion probabilities and peak densities.
The function to go from asexual to gametocytes for each of these fields is
index_gametocyte = index_asexuals + lag(8 days) conversion_fraction_gametocytes = conversion_probability(random variable, drawn from a lognormal distribution who's mean is a configurable parameter (default value of 1.8)) value_gametoctye = value_asexuals*conversion_gametocytes
At every Update we will by default report each density evaluated at dt given the set of Gaussian peak indices.
If a drug effect is present:
if that drug acts on asexuals, filter the reported asexual density by a fraction determined from the C50 of the drug, the ending concentration as reported from the DrugModel.cpp for all waves during the time period at which the drug has appreciable concentration in the body. IN ADDITION: revise down the gametocyte values at each index of waves that were affected by the asexual acting drug.
if the drug acts on any stage of gametocyte development, filter the reported gametocyte density by a fraction determined from the C50 of the drug, the ending concentration as reported from the DrugModel.cpp for all waves during the time period at which the drug has appreciable concentration in the body.
if the drug acts on infected hepatocytes, reduce the number of infected hepatocytes by a fraction determined from the C50 of the drug, the ending concentration as reported from the DrugModel.cpp for all waves during the time period at which the drug has appreciable concentration in the body. I guess my questions the naive one: is it possible to take the parameters of killrate, c50, and starting and ending concentrations to calculate the fraction of parasites that ought to be cleared over a timestep dt
In each case the function of https://github.com/InstituteforDiseaseModeling/DtkTrunk/blob/master/interventions/Drugs.cpp#L355 should be able to calculate the efficacy in units of log reduction in IRBCs per day. How this should be handled at the level of sub wave changes to parasite density is important to get right.
RESEARCH NOTE: What about the effect of drugs on dynamic changes to gametocyte differentiation rate? Evidence from literature?