Esempio n. 1
0
        private void addLiverZoneCompartmentObserver(IObserverBuilder observerBuilder, string compartment, IObserverBuildingBlock observerBuildingBlock, Compound compound)
        {
            var observerName = CoreConstants.CompositeNameFor(observerBuilder.Name, CoreConstants.Organ.Liver, compartment);

            if (observerBuildingBlock.ExistsByName(observerName))
            {
                return;
            }

            var observer = _objectBaseFactory.Create <IContainerObserverBuilder>()
                           .WithName(observerName)
                           .WithDimension(_dimensionRepository.Fraction);

            observer.ForAll = false;
            observerBuilder.MoleculeNames().Each(observer.AddMoleculeName);

            observer.ContainerCriteria = Create.Criteria(x => x.With(CoreConstants.Organ.Liver)
                                                         .And.With(compartment)
                                                         .And.Not(CoreConstants.Compartment.Pericentral)
                                                         .And.Not(CoreConstants.Compartment.Periportal));

            var formula = _objectBaseFactory.Create <ExplicitFormula>()
                          .WithName(observerName)
                          .WithFormulaString("(M_periportal + M_pericentral)/" + TOTAL_DRUG_MASS_ALIAS)
                          .WithDimension(_dimensionRepository.Fraction);

            formula.AddObjectPath(createZoneAmoutPath(compartment, CoreConstants.Compartment.Periportal, "M_periportal"));
            formula.AddObjectPath(createZoneAmoutPath(compartment, CoreConstants.Compartment.Pericentral, "M_pericentral"));
            formula.AddObjectPath(createTotalDrugMassObjectPath(compound.Name));

            observer.Formula = formula;
            observerBuildingBlock.Add(observer);
            observerBuildingBlock.AddFormula(formula);
        }
Esempio n. 2
0
 public void should_create_WholeOrganInclFcRn_Observer()
 {
     _observers.ExistsByName(_observerName).ShouldBeTrue();
 }