Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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;
     }));
 }
Ejemplo n.º 4
0
 private void updateAucIVCacheFrom(IndividualSimulation sourceSimulation)
 {
     ClearPKCache();
     sourceSimulation.AllCompoundPK.Each(AddCompoundPK);
 }