public IndividualSimulation CreateForDDIRatio(IndividualSimulation originalSimulation) { //DDI Ratio=> manipulate inhibition parameters so that all DDI effects are effectively deactivated var ddiRatioSimulation = createModelLessSimulationBasedOn(originalSimulation); _simulationModelCreator.CreateModelFor(ddiRatioSimulation); //now update all parameters from the orginal simulation _simulationParametersUpdater.ReconciliateSimulationParametersBetween(originalSimulation, ddiRatioSimulation); _interactionTask.AllInteractionContainers(ddiRatioSimulation) .SelectMany(c => c.AllParameters()) .Each(p => p.Value = disabledDDIValueFor(p.Name)); return(ddiRatioSimulation); }
public IndividualSimulation CreateForDDIRatio(IndividualSimulation originalSimulation) { //DDI Ratio=> manipulate inhibition parameters so that all DDI effects are effectively deactivated var ddiRatioSimulation = createModelLessSimulationBasedOn(originalSimulation); _simulationModelCreator.CreateModelFor(ddiRatioSimulation); // now update all parameters from the original simulation. We need to take protocol parameters as well as simulation parameters into account for the update // as simulation building block are all kept in sync with the changes values EXCEPT Protocol (1 to n mapping) _simulationParametersUpdater.ReconciliateSimulationParametersBetween(originalSimulation, ddiRatioSimulation, PKSimBuildingBlockType.Simulation | PKSimBuildingBlockType.Protocol); _interactionTask.AllInteractionContainers(ddiRatioSimulation) .SelectMany(c => c.AllParameters()) .Each(p => p.Value = disabledDDIValueFor(p.Name)); return(ddiRatioSimulation); }
public IndividualSimulation CreateForBioAvailability(Protocol ivProtocol, Compound compound, IndividualSimulation originalSimulation) { return(createForPKCalculation(originalSimulation, compound, (pkSimulation, pkCompound, allProtocols) => { var protocolProperties = pkSimulation.CompoundPropertiesFor(pkCompound).ProtocolProperties; //remove old protocol used by compound and replace with new one allProtocols.Remove(protocolProperties.Protocol); allProtocols.Add(ivProtocol); protocolProperties.Protocol = ivProtocol; })); }
private void updateAucIVCacheFrom(IndividualSimulation sourceSimulation) { ClearPKCache(); sourceSimulation.AllCompoundPK.Each(AddCompoundPK); }