Exemplo n.º 1
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _induction      = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstantsForSpecs.Process.INDUCTION).DowncastTo <InductionProcess>());
            _induction.Name = "Induction";
            _induction.Parameter(CoreConstantsForSpecs.Parameter.EC50).Value = 10;
            _compound.AddProcess(_induction);

            _irreversibleInhibiton      = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstantsForSpecs.Process.IRREVERSIBLE_INHIBITION).DowncastTo <InhibitionProcess>());
            _irreversibleInhibiton.Name = "IrreversibleProcess";
            _irreversibleInhibiton.Parameter(CoreConstantsForSpecs.Parameter.KINACT).Value = 10;
            _compound.AddProcess(_irreversibleInhibiton);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound }, new[] { _protocol })
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesFor(_compound.Name)
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });


            _simulation.InteractionProperties.AddInteraction(new InteractionSelection {
                CompoundName = _compound.Name, MoleculeName = _enzyme.Name, ProcessName = _induction.Name
            });
            _simulation.InteractionProperties.AddInteraction(new InteractionSelection {
                CompoundName = _compound.Name, MoleculeName = _enzyme.Name, ProcessName = _irreversibleInhibiton.Name
            });
            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 2
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _otherCompound = DomainFactoryForSpecs.CreateStandardCompound().WithName("OtherCompound");
            _otherProtocol = DomainFactoryForSpecs.CreateStandardIVBolusProtocol().WithName("OtherProtocol");
            var liverClearance = addLiverPlasmaClearanceTo(_compound);

            addLiverPlasmaClearanceTo(_otherCompound);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound, _otherCompound }, new[] { _protocol, _otherProtocol, })
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesFor(_compound.Name)
            .Processes
            .MetabolizationSelection
            .AddSystemicProcessSelection(new SystemicProcessSelection {
                CompoundName = _compound.Name, ProcessName = liverClearance.Name, ProcessType = liverClearance.SystemicProcessType
            });

            _simulation.CompoundPropertiesFor(_otherCompound.Name)
            .Processes
            .MetabolizationSelection
            .AddSystemicProcessSelection(new SystemicProcessSelection {
                CompoundName = _otherProtocol.Name, ProcessName = liverClearance.Name, ProcessType = liverClearance.SystemicProcessType
            });


            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 3
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _transporterContainerTemplateRepository = IoC.Resolve <ITransporterContainerTemplateRepository>();
            var allTransporters = _transporterContainerTemplateRepository.TransportersFor(_individual.Species.Name, CoreConstants.Organ.Brain);

            var influxBBB = allTransporters.Where(x => x.MembraneLocation == MembraneLocation.BloodBrainBarrier)
                            .FirstOrDefault(x => x.TransportType == TransportType.Influx);

            _transporter = _transporterFactory.CreateFor(_individual).DowncastTo <IndividualTransporter>().WithName("TRANS");
            var transportContainer = _transporter.ExpressionContainer(CoreConstants.Organ.Brain).DowncastTo <TransporterExpressionContainer>();

            transportContainer.UpdatePropertiesFrom(influxBBB);
            _individual.AddMolecule(_transporter);
            _transportProcess = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstantsForSpecs.Process.ACTIVE_TRANSPORT_SPECIFIC_MM)
                                                    .DowncastTo <PartialProcess>());
            _transportProcess.Name = "My Transport Process";
            _compound.AddProcess(_transportProcess);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .TransportAndExcretionSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                CompoundName = _compound.Name, ProcessName = _transportProcess.Name, MoleculeName = _transporter.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 4
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.Plasma).Value              = 0;
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.BloodCells).Value          = 0;
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.VascularEndothelium).Value = 0;
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.Periportal).Value          = 1;

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);

            var objectPatFactory = new ObjectPathFactoryForSpecs();
            var path             = objectPatFactory.CreateObjectPathFrom(Constants.ORGANISM,
                                                                         CoreConstants.Organ.Liver,
                                                                         CoreConstants.Compartment.Pericentral,
                                                                         CoreConstants.Compartment.Intracellular,
                                                                         CoreConstants.Molecule.ProcessProductName(_compound.Name, _enzyme.Name, CoreConstants.Molecule.Metabolite),
                                                                         CoreConstants.Observer.ObserverNameFrom(CoreConstants.Observer.FRACTION_OF_DOSE, _compound.Name));

            var quantitySelection = new QuantitySelection(path.ToString(), QuantityType.Metabolite);

            _simulation.OutputSelections.AddOutput(quantitySelection);
        }
        public void should_be_able_to_create_a_simulation()
        {
            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
            var simEvent = _simulation.Model.Root.EntityAt <IContainer>(Constants.EVENTS, "Event");

            simEvent.ShouldNotBeNull();
        }
Exemplo n.º 6
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _transporter = _transporterFactory.CreateFor(_individual, "TRANS", TransportType.Efflux).DowncastTo <IndividualTransporter>();
            var transportContainer = _individual.AllMoleculeContainersFor <TransporterExpressionContainer>(_transporter)
                                     .First(x => x.LogicalContainer.IsNamed(CoreConstants.Organ.BRAIN));

            transportContainer.TransportDirection = TransportDirectionId.InfluxBrainPlasmaToInterstitial;

            _individual.AddMolecule(_transporter);
            _transportProcess = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstantsForSpecs.Process.ACTIVE_TRANSPORT_SPECIFIC_MM)
                                                    .DowncastTo <PartialProcess>());
            _transportProcess.Name = "My Transport Process";
            _compound.AddProcess(_transportProcess);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .TransportAndExcretionSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection
            {
                CompoundName = _compound.Name, ProcessName = _transportProcess.Name, MoleculeName = _transporter.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 7
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _allExpressionParameters[CoreConstants.Compartment.PLASMA].Value               = 0;
            _allExpressionParameters[CoreConstants.Compartment.BLOOD_CELLS].Value          = 0;
            _allExpressionParameters[CoreConstants.Compartment.VASCULAR_ENDOTHELIUM].Value = 0;
            _allExpressionParameters[CoreConstants.Compartment.PERIPORTAL].Value           = 1;

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection
            {
                CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);

            var objectPatFactory = new ObjectPathFactoryForSpecs();
            var path             = objectPatFactory.CreateObjectPathFrom(Constants.ORGANISM,
                                                                         CoreConstants.Organ.LIVER,
                                                                         CoreConstants.Compartment.PERICENTRAL,
                                                                         CoreConstants.Compartment.INTRACELLULAR,
                                                                         CoreConstants.Molecule.ProcessProductName(_compound.Name, _enzyme.Name, CoreConstants.Molecule.Metabolite),
                                                                         CoreConstants.Observer.ObserverNameFrom(CoreConstants.Observer.FRACTION_OF_DOSE, _compound.Name));

            var quantitySelection = new QuantitySelection(path.ToString(), QuantityType.Metabolite);

            _simulation.OutputSelections.AddOutput(quantitySelection);
        }
Exemplo n.º 8
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _otherCompound = DomainFactoryForSpecs.CreateStandardCompound().WithName("OtherCompound");
            _otherProtocol = DomainFactoryForSpecs.CreateStandardIVBolusProtocol().WithName("OtherProtocol");
            _otherCompound.AddProcess(_cloneManager.Clone(_metabolizationProcess));

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound, _otherCompound }, new[] { _protocol, _otherProtocol, })
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesFor(_compound.Name)
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            _simulation.CompoundPropertiesFor(_otherCompound.Name)
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                CompoundName = _otherCompound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 9
0
 public override void GlobalContext()
 {
     base.GlobalContext();
     _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound, _metabolite }, new[] { _protocol, null }).DowncastTo <IndividualSimulation>();
     ProcessSelectionFor(_parentMetabolizationCYP3A4).MetaboliteName = _metabolite.Name;
     DomainFactoryForSpecs.AddModelToSimulation(_simulation);
 }
        public override void GlobalContext()
        {
            base.GlobalContext();
            _buildConfigurationTask = IoC.Resolve <IBuildConfigurationTask>();
            _entityPathResolver     = IoC.Resolve <IEntityPathResolver>();
            var enzymeFactory             = IoC.Resolve <IIndividualEnzymeFactory>();
            var compoundProcessRepository = IoC.Resolve <ICompoundProcessRepository>();
            var cloneManager = IoC.Resolve <ICloneManager>();

            _compound              = DomainFactoryForSpecs.CreateStandardCompound();
            _individual            = DomainFactoryForSpecs.CreateStandardIndividual();
            _protocol              = DomainFactoryForSpecs.CreateStandardIVBolusProtocol();
            _enzyme                = enzymeFactory.AddMoleculeTo(_individual, "CYP").DowncastTo <IndividualEnzyme>();
            _metabolizationProcess = cloneManager.Clone(compoundProcessRepository
                                                        .ProcessByName(CoreConstantsForSpecs.Process.METABOLIZATION_SPECIFIC_FIRST_ORDER).DowncastTo <PartialProcess>());
            _metabolizationProcess.Name = "My Partial Process";
            _metabolizationProcess.Parameter(ConverterConstants.Parameters.CLspec).Value = 15;
            _compound.AddProcess(_metabolizationProcess);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 11
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            const string transporterName = "Tr1";

            var individual         = DomainFactoryForSpecs.CreateStandardIndividual();
            var transporterFactory = IoC.Resolve <IIndividualTransporterFactory>();

            var transporter = transporterFactory.CreateFor(individual).WithName(transporterName);

            individual.AddMolecule(transporter);

            var compound = DomainFactoryForSpecs.CreateStandardCompound().WithName(_drugName);

            var cloneManager = IoC.Resolve <ICloneManager>();
            var compoundProcessRepository = IoC.Resolve <ICompoundProcessRepository>();
            var transportProcess          = cloneManager.Clone(compoundProcessRepository.ProcessByName(CompoundTransportName))
                                            .WithName(_transportProcessName);

            compound.AddProcess(transportProcess);

            var protocol = DomainFactoryForSpecs.CreateStandardIVBolusProtocol();

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(individual, compound, protocol).DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .TransportAndExcretionSelection
            .AddPartialProcessSelection(new ProcessSelection {
                ProcessName = transportProcess.Name, MoleculeName = transporter.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 12
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _individual = DomainFactoryForSpecs.CreateStandardIndividual();

            _simulation            = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _iv).DowncastTo <IndividualSimulation>();
            _simulation.AllowAging = true;
            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 13
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _compoundProcessRepo = IoC.Resolve <ICompoundProcessRepository>();
            _interactionTask     = IoC.Resolve <IInteractionTask>();
            var cloner             = IoC.Resolve <ICloneManager>();
            var enzymeFactory      = IoC.Resolve <IIndividualEnzymeFactory>();
            var transporterFactory = IoC.Resolve <IIndividualTransporterFactory>();

            var inhibitor = DomainFactoryForSpecs.CreateStandardCompound().WithName("Inhibitor");
            var protocol2 = DomainFactoryForSpecs.CreateStandardIVBolusProtocol().WithName("IV2");

            var allPartialProcesses = PartialProcesses.ToList();

            foreach (var metaTemplate in allPartialProcesses)
            {
                var moleculeName = "Molecule_" + metaTemplate.Name;

                if (metaTemplate as EnzymaticProcess != null)
                {
                    var individualProtein = enzymeFactory.CreateFor(_individual).WithName(moleculeName);
                    _individual.AddMolecule(individualProtein.DowncastTo <IndividualEnzyme>().WithName(moleculeName));
                }
                else
                {
                    var individualProtein = transporterFactory.CreateFor(_individual).WithName(moleculeName);
                    _individual.AddMolecule(individualProtein.DowncastTo <IndividualTransporter>().WithName(moleculeName));
                }

                var process = cloner.Clone(metaTemplate).DowncastTo <PartialProcess>();
                process.Name         = "Process " + moleculeName;
                process.MoleculeName = moleculeName;
                _compound.AddProcess(process);

                var inhibitionTemplate = _compoundProcessRepo.ProcessByName <InteractionProcess>(InhibitionProcessName);
                var inhibitionProcess  = cloner.Clone(inhibitionTemplate);
                inhibitionProcess.Name         = "InhibitionProcess " + moleculeName;
                inhibitionProcess.MoleculeName = moleculeName;
                inhibitor.AddProcess(inhibitionProcess);
            }

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(
                _individual, new[] { _compound, inhibitor }, new[] { _protocol, protocol2 }).DowncastTo <IndividualSimulation>();

            foreach (var inhibitionProcess in inhibitor.AllProcesses <InteractionProcess>())
            {
                var interactionSelection = new InteractionSelection {
                    CompoundName = inhibitor.Name, MoleculeName = inhibitionProcess.MoleculeName, ProcessName = inhibitionProcess.Name
                };
                _simulation.InteractionProperties.AddInteraction(interactionSelection);
            }

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 14
0
        protected IndividualSimulation CreateSimulationWithCalculatedSpecificPintFor(CalculationMethod intestinalPermeabilityMethod)
        {
            var modelProperties = DomainFactoryForSpecs.CreateDefaultModelPropertiesFor(_individual);

            _compound.RemoveCalculationMethodFor(CoreConstants.Category.IntestinalPermeability);
            _compound.AddCalculationMethod(intestinalPermeabilityMethod);

            var simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol, modelProperties).DowncastTo <IndividualSimulation>();

            DomainFactoryForSpecs.AddModelToSimulation(simulation);
            return(simulation);
        }
Exemplo n.º 15
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            var enzymeFactory      = IoC.Resolve <IIndividualEnzymeFactory>();
            var templateIndividual = DomainFactoryForSpecs.CreateStandardIndividual();
            var compound           = DomainFactoryForSpecs.CreateStandardCompound();
            var protocol           = DomainFactoryForSpecs.CreateStandardIVBolusProtocol();

            _enzyme = enzymeFactory.CreateFor(templateIndividual).DowncastTo <IndividualEnzyme>().WithName("CYP");
            templateIndividual.AddMolecule(_enzyme);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(templateIndividual, compound, protocol).DowncastTo <IndividualSimulation>();

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 16
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _compound2 = DomainFactoryForSpecs.CreateStandardCompound().WithName("C2");
            _protocol2 = DomainFactoryForSpecs.CreateStandardIVBolusProtocol().WithName("IV2");
            var modelProps = DomainFactoryForSpecs.CreateModelPropertiesFor(_individual, CoreConstants.Model.TwoPores);

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(
                _individual, new[] { _compound, _compound2 }, new[] { _protocol, _protocol2 }, modelProps) as IndividualSimulation;
            DomainFactoryForSpecs.AddModelToSimulation(_simulation);

            _compound1Name = _compound.Name;
            _compound2Name = _compound2.Name;
        }
Exemplo n.º 17
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _kidneyProcess      = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstants.Process.KIDNEY_CLEARANCE).DowncastTo <SystemicProcess>());
            _kidneyProcess.Name = "My Kidney Process";
            _kidneyProcess.Parameter(ConverterConstants.Parameter.PlasmaClearance).Value = 10;
            _compound.AddProcess(_kidneyProcess);
            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol).DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .TransportAndExcretionSelection
            .AddSystemicProcessSelection(new SystemicProcessSelection {
                ProcessName = _kidneyProcess.Name, ProcessType = _kidneyProcess.SystemicProcessType
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 18
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _processGFR      = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(CoreConstantsForSpecs.Process.GLOMERULAR_FILTRATION).DowncastTo <SystemicProcess>());
            _processGFR.Name = "My GFR Process";
            _processGFR.Parameter(CoreConstants.Parameters.GFR_FRACTION).Value = 0.8;
            _compound.AddProcess(_processGFR);
            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol).DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .TransportAndExcretionSelection
            .AddSystemicProcessSelection(new SystemicProcessSelection {
                ProcessName = _processGFR.Name, ProcessType = _processGFR.SystemicProcessType
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 19
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _process      = _cloneManager.Clone(_compoundProcessRepository.ProcessByName(ProcessName).DowncastTo <SystemicProcess>());
            _process.Name = "My Liver Process";
            _process.Parameter(ConverterConstants.Parameter.CLspec).Value = 1;
            _compound.AddProcess(_process);
            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol).DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesFor(_compound.Name)
            .Processes
            .MetabolizationSelection
            .AddSystemicProcessSelection(new SystemicProcessSelection {
                ProcessName = _process.Name, ProcessType = _process.SystemicProcessType
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 20
0
      public override void GlobalContext()
      {
         base.GlobalContext();

         var enzymeFactory = IoC.Resolve<IIndividualEnzymeFactory>();
         var individualProtein = enzymeFactory.CreateFor(_individual).WithName(_enzymeName);
         individualProtein.Ontogeny = new UserDefinedOntogeny() {Table = createOntogenyTable()};
         _individual.AddMolecule(individualProtein.DowncastTo<IndividualEnzyme>().WithName(_enzymeName));

         var containerTask = IoC.Resolve<IContainerTask>();
         _individual.OriginData.Age = 2;
         _allDistributedParameter = containerTask.CacheAllChildren<IDistributedParameter>(_individual);
         _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol) as IndividualSimulation;
         _simulation.AllowAging = true;
         DomainFactoryForSpecs.AddModelToSimulation(_simulation);
         _allAgeDependentParameters = containerTask.CacheAllChildren<IParameter>(_simulation.Model.Root);
      }
Exemplo n.º 21
0
        protected float[][][] _binParticlesFractionPerSegment; //no of particles fraction[particles bin][lumen segment][time]

        public override void GlobalContext()
        {
            base.GlobalContext();
            _compound.Name = "C1";

            _protocol    = DomainFactoryForSpecs.CreateStandardOralProtocol();
            _formulation = DomainFactoryForSpecs.CreateParticlesFormulation(NumberOfBins);

            //user defined actions in the building blocks
            SetupBuildingBlocks();

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(
                _individual, _compound, _protocol, allowAging: false, formulation: _formulation) as IndividualSimulation;

            //setup compound processes
            SetupProcesses();

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);

            //user defined actions in simulations, different for every test scenario
            SetupSimulation();

            if (DisableIntestinalAbsorptionAndLuminalFlow)
            {
                //disable intestinal absorption and luminal flow to feces for easier mass balance checks
                MoleculeProperties(CoreConstants.Parameters.INTESTINAL_PERMEABILITY).Value = 0;
                IntestinalTransitRateFor(CoreConstants.Compartment.Rectum).Value           = 0;
            }

            //store initial drug mass
            _appliedDrugMass = Application.Container(CoreConstants.ContainerName.ProtocolSchemaItem)
                               .Parameter(CoreConstantsForSpecs.Parameter.DRUG_MASS).Value.ToFloat();

            //Get paths for output quantities of interest
            (var lumenPaths, var binSolidDrugPaths, var binInsolubleDrugPaths,
             var binSolidDrugPerSegmentPaths, var binParticlesFractionPerSegmentPaths) = outputPaths(NumberOfBins);

            //add quantities of interest to the simulation outputs
            addOutputs(lumenPaths, binSolidDrugPaths, binInsolubleDrugPaths, binSolidDrugPerSegmentPaths, binParticlesFractionPerSegmentPaths);

            RunSimulation(_simulation).Wait();

            //fill simulation output times and values required for all further tests
            fillSimulationOutputs(lumenPaths, binSolidDrugPaths, binInsolubleDrugPaths, binSolidDrugPerSegmentPaths, binParticlesFractionPerSegmentPaths);
        }
Exemplo n.º 22
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _enzyme.TissueLocation   = TissueLocation.ExtracellularMembrane;
            _enzyme.MembraneLocation = MembraneLocation.Apical;

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 23
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _allExpressionParameters[CoreConstants.Organ.BONE].Value           = _relExpBone;
            _allExpressionParameters[CoreConstants.Compartment.DUODENUM].Value = _relExpDuo;

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 24
0
        protected IndividualSimulation CreateSimulationWithSetSpecificPintFor(CalculationMethod intestinalPermeabilityMethod)
        {
            var modelProperties = DomainFactoryForSpecs.CreateDefaultModelPropertiesFor(_individual);

            _compound.RemoveCalculationMethodFor(CoreConstants.Category.IntestinalPermeability);
            _compound.AddCalculationMethod(intestinalPermeabilityMethod);

            _alternativeIntestinalPermParam.Value = 1.2345E-3;

            var simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol, modelProperties).DowncastTo <IndividualSimulation>();

            simulation.CompoundPropertiesList.First().CompoundGroupSelections.First(
                cgs => cgs.GroupName.Equals(CoreConstants.Groups.COMPOUND_INTESTINAL_PERMEABILITY))
            .AlternativeName = _intestinalPermAlternativeName;

            DomainFactoryForSpecs.AddModelToSimulation(simulation);
            return(simulation);
        }
Exemplo n.º 25
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            var modelConfig            = _modelConfigurationRepository.AllFor(_individual.Species).First(x => x.ModelName == CoreConstants.Model.TWO_PORES);
            var twoPoreModelProperties = _modelPropertiesTask.DefaultFor(modelConfig, _individual.OriginData);

            _compound.Parameter(Constants.Parameters.IS_SMALL_MOLECULE).Value = 0;
            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol, twoPoreModelProperties)
                          .DowncastTo <IndividualSimulation>();

            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 26
0
        public override void GlobalContext()
        {
            base.GlobalContext();

            _enzyme.TissueLocation = TissueLocation.Intracellular;
            _enzyme.IntracellularVascularEndoLocation = IntracellularVascularEndoLocation.Interstitial;
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Organ.Bone).Value           = _relExpBoneNorm;
            _enzyme.GetRelativeExpressionParameterFor(CoreConstants.Organ.Bone).Value               = _relExpBone;
            _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.Duodenum).Value = _relExpDuoNorm;
            _enzyme.GetRelativeExpressionParameterFor(CoreConstants.Compartment.Duodenum).Value     = _relExpDuo;

            _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol)
                          .DowncastTo <IndividualSimulation>();
            _simulation.CompoundPropertiesList.First()
            .Processes
            .MetabolizationSelection
            .AddPartialProcessSelection(new EnzymaticProcessSelection {
                ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name
            });

            DomainFactoryForSpecs.AddModelToSimulation(_simulation);
        }
Exemplo n.º 27
0
 public override void GlobalContext()
 {
     base.GlobalContext();
     _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_population, _compound, _iv, allowAging: true).DowncastTo <PopulationSimulation>();
     DomainFactoryForSpecs.AddModelToSimulation(_simulation);
 }