protected override void Context()
        {
            _moleculeExpressionTask             = A.Fake <IMoleculeExpressionTask <Individual> >();
            _querySettingsMapper                = A.Fake <IMoleculeToQueryExpressionSettingsMapper>();
            _geneExpressionsDatabasePathManager = A.Fake <IGeneExpressionsDatabasePathManager>();
            _applicationController              = A.Fake <IApplicationController>();

            sut = new EditMoleculeTask <Individual>(_moleculeExpressionTask, _applicationController);

            _expressionProfileSelectionPresenter = A.Fake <IExpressionProfileSelectionPresenter>();
            A.CallTo(() => _applicationController.Start <IExpressionProfileSelectionPresenter>()).Returns(_expressionProfileSelectionPresenter);


            _moleculeContainer1 = new MoleculeExpressionContainer().WithName("C1");
            _moleculeContainer1.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameters.REL_EXP));
            _moleculeContainer2 = new MoleculeExpressionContainer().WithName("C2");
            _moleculeContainer2.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameters.REL_EXP));

            _individual = new Individual {
                OriginData = new OriginData {
                    Species = new Species {
                        Name = "Human", DisplayName = "Human"
                    }
                }
            };


            _molecule = new IndividualEnzyme {
                Name = "CYP3A4"
            };
            _molecule.Add(_moleculeContainer1);
            _molecule.Add(_moleculeContainer2);
        }
        protected override void Context()
        {
            _individual                    = new Individual();
            _individual.OriginData         = new OriginData();
            _individual.OriginData.Species = new Species().WithName("Human");
            _ontogeny = new DatabaseOntogeny {
                Name = "toto"
            };
            _molecule = new IndividualEnzyme {
                Name = "CYP3A4"
            };
            _executionContext                  = A.Fake <IExecutionContext>();
            _proteinExpressionPresenter        = A.Fake <IProteinExpressionsPresenter>();
            _simpleMoleculePresenter           = A.Fake <ISimpleMoleculePresenter>();
            _querySettingsMapper               = A.Fake <IMoleculeToQueryExpressionSettingsMapper>();
            _applicationController             = A.Fake <IApplicationController>();
            _individualMoleculeFactoryResolver = A.Fake <IIndividualMoleculeFactoryResolver>();
            _transportContainerUpdater         = A.Fake <ITransportContainerUpdater>();
            _containerTask = A.Fake <IContainerTask>();
            _moleculeParameterRepository    = A.Fake <IMoleculeParameterRepository>();
            _proteinExpressionDbPathManager = A.Fake <IProteinExpressionsDatabasePathManager>();
            A.CallTo(() => _applicationController.Start <IProteinExpressionsPresenter>()).Returns(_proteinExpressionPresenter);
            A.CallTo(() => _applicationController.Start <ISimpleMoleculePresenter>()).Returns(_simpleMoleculePresenter);
            _ontogenyRepository = A.Fake <IOntogenyRepository>();
            var proteinFactory = A.Fake <IIndividualMoleculeFactory>();

            _moleculeContainer1 = new MoleculeExpressionContainer().WithName("C1");
            _moleculeContainer1.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameter.RelExp));
            _moleculeContainer1.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameter.RelExpNorm));
            _moleculeContainer2 = new MoleculeExpressionContainer().WithName("C2");
            _moleculeContainer2.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameter.RelExp));
            _moleculeContainer2.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameter.RelExpNorm));
            A.CallTo(() => _individualMoleculeFactoryResolver.FactoryFor <IndividualProtein>()).Returns(proteinFactory);
            A.CallTo(() => proteinFactory.CreateFor(_individual)).Returns(_molecule);
            _molecule.Add(_moleculeContainer1);
            _molecule.Add(_moleculeContainer2);
            _molecule.Add(DomainHelperForSpecs.ConstantParameterWithValue(10).WithName(CoreConstants.Parameter.REFERENCE_CONCENTRATION));
            _molecule.Add(DomainHelperForSpecs.ConstantParameterWithValue(20).WithName(CoreConstants.Parameter.HALF_LIFE_LIVER));
            _molecule.Add(DomainHelperForSpecs.ConstantParameterWithValue(30).WithName(CoreConstants.Parameter.HALF_LIFE_INTESTINE));

            A.CallTo(() => _ontogenyRepository.AllFor(_individual.Species.Name)).Returns(new[] { _ontogeny, new DatabaseOntogeny {
                                                                                                     Name = "tralala"
                                                                                                 }, });
            A.CallTo(() => _executionContext.Resolve <IOntogenyRepository>()).Returns(_ontogenyRepository);

            _subjectExpressionTask = new IndividualExpressionTask(_executionContext);

            _ontogenyTask = A.Fake <IOntogenyTask <Individual> >();
            sut           = new MoleculeExpressionTask <Individual>(_applicationController, _executionContext,
                                                                    _individualMoleculeFactoryResolver, _querySettingsMapper,
                                                                    _containerTask, _proteinExpressionDbPathManager,
                                                                    _ontogenyRepository, _transportContainerUpdater, _moleculeParameterRepository, _subjectExpressionTask, _ontogenyTask);
        }
        protected override void Context()
        {
            _individual = new Individual {
                OriginData = new OriginData {
                    Species = new Species().WithName("Human")
                }
            };
            _ontogeny = new DatabaseOntogeny {
                Name = "toto"
            };
            _executionContext = A.Fake <IExecutionContext>();
            _individualMoleculeFactoryResolver = A.Fake <IIndividualMoleculeFactoryResolver>();
            _ontogenyRepository = A.Fake <IOntogenyRepository>();
            var proteinFactory = A.Fake <IIndividualMoleculeFactory>();

            _expressionProfileUpdater = A.Fake <IExpressionProfileUpdater>();
            _moleculeContainer1       = new MoleculeExpressionContainer().WithName("C1");
            _moleculeContainer1.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameters.REL_EXP));
            _moleculeContainer2 = new MoleculeExpressionContainer().WithName("C2");
            _moleculeContainer2.Add(DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(CoreConstants.Parameters.REL_EXP));
            A.CallTo(() => _individualMoleculeFactoryResolver.FactoryFor <IndividualProtein>()).Returns(proteinFactory);
            _molecule = new IndividualEnzyme {
                Name = "CYP3A4"
            };
            _molecule.Add(_moleculeContainer1);
            _molecule.Add(_moleculeContainer2);
            A.CallTo(() => proteinFactory.AddMoleculeTo(_individual, A <string> ._)).Returns(_molecule);

            A.CallTo(() => _ontogenyRepository.AllFor(_individual.Species.Name)).Returns(new[] { _ontogeny, new DatabaseOntogeny {
                                                                                                     Name = "tralala"
                                                                                                 }, });
            A.CallTo(() => _executionContext.Resolve <IOntogenyRepository>()).Returns(_ontogenyRepository);

            _subjectExpressionTask = new IndividualExpressionTask(_executionContext);

            sut = new MoleculeExpressionTask <Individual>(
                _executionContext,
                _individualMoleculeFactoryResolver,
                _subjectExpressionTask,
                _expressionProfileUpdater
                );
        }
Esempio n. 4
0
 protected override void Context()
 {
     base.Context();
     _allParameters.Clear();
     _allParameters.Add(_para1);
     _individual         = new Individual().WithName("toto");
     _individualMolecule = new IndividualEnzyme();
     _para1.Name         = CoreConstants.Parameters.REFERENCE_CONCENTRATION;
     _individualMolecule.Add(_para1);
     _individualMolecule.Name = "CYP3A4";
     _individual.AddMolecule(_individualMolecule);
 }
Esempio n. 5
0
        private void updateOntogeny(IndividualMolecule molecule)
        {
            var liver = molecule.ExpressionContainer(CoreConstants.Organ.Liver);

            if (liver == null)
            {
                return;
            }

            var ontogenyFactorLiver = liver.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);

            if (ontogenyFactorLiver != null)
            {
                molecule.Add(ontogenyFactorLiver);
            }

            IParameter ontogenyFactorDuodenum = null;
            var        duodenum = molecule.ExpressionContainer(CoreConstants.Compartment.Duodenum);

            if (duodenum != null)
            {
                ontogenyFactorDuodenum = duodenum.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);
            }

            //remove old ontogeny factor parameter in container
            foreach (var expressionContainer in molecule.AllExpressionsContainers())
            {
                var ontogenyFactor = expressionContainer.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);
                if (ontogenyFactor != null)
                {
                    expressionContainer.RemoveChild(ontogenyFactor);
                }
            }

            if (ontogenyFactorDuodenum != null)
            {
                ontogenyFactorDuodenum.Name = CoreConstants.Parameters.ONTOGENY_FACTOR_GI;
                molecule.Add(ontogenyFactorDuodenum);
            }
        }
Esempio n. 6
0
        private void updateLiverMoleculeExpression(IndividualMolecule molecule)
        {
            var liverContainer = molecule.ExpressionContainer(CoreConstants.Organ.Liver);

            if (liverContainer == null)
            {
                return;
            }

            LIVER_ZONES.Each(z =>
            {
                var zoneContainer = _cloner.Clone(liverContainer).WithName(z);
                zoneContainer.OrganPath.Add(z);
                zoneContainer.ContainerName = z;
                molecule.Add(zoneContainer);
            });

            molecule.RemoveChild(liverContainer);
        }
Esempio n. 7
0
 protected override void Context()
 {
     base.Context();
     _moleculeParameterAsAdvanced = A.Fake <IParameter>();
     _molecule   = new IndividualEnzyme();
     _population = new RandomPopulation {
         Settings = new RandomPopulationSettings {
             BaseIndividual = new Individual()
         }
     };
     _population.Add(new AdvancedParameterCollection());
     _population.AddMolecule(_molecule);
     A.CallTo(() => _entityPathResolver.PathFor(_moleculeParameterAsAdvanced)).Returns("A|B");
     _molecule.Add(_moleculeParameterAsAdvanced);
     _advancedParameter = new AdvancedParameter {
         ParameterPath = "A|B", Name = "A|B"
     };
     _population.AddAdvancedParameter(_advancedParameter);
     _population.AddAdvancedParameter(new AdvancedParameter {
         ParameterPath = "ANOTHER PARAMETER", Name = "ANOTHER PARAMETER"
     });
 }
        protected override void Context()
        {
            base.Context();
            _enzymeExpression1      = new IndividualEnzyme().WithName("meta1");
            _enzymeExpression2      = new IndividualEnzyme().WithName("meta2");
            _enzymeExpressionClone1 = new IndividualEnzyme().WithName("meta1");

            //Create a parameter that changed!
            _userDefinedParameter = DomainHelperForSpecs.ConstantParameterWithValue(10);
            _userDefinedParameter.DefaultValue = _defaultValue;

            _enzymeExpressionClone1.Add(_userDefinedParameter);
            _enzymeExpressionClone2          = new IndividualEnzyme().WithName("meta2");
            _enzymeExpressionClone1.Ontogeny = new DatabaseOntogeny();
            _enzymeExpressionClone2.Ontogeny = new DatabaseOntogeny();
            _allEnzymesExpression            = new List <IndividualMolecule> {
                _enzymeExpression1, _enzymeExpression2
            };
            A.CallTo(() => _sourceIndividual.AllMolecules()).Returns(_allEnzymesExpression);

            A.CallTo(() => _cloner.Clone(_enzymeExpression1)).Returns(_enzymeExpressionClone1);
            A.CallTo(() => _cloner.Clone(_enzymeExpression2)).Returns(_enzymeExpressionClone2);
        }
Esempio n. 9
0
 private void addHalfLifeToMolecule(IndividualMolecule individualMolecule)
 {
     individualMolecule.Add(_cloner.Clone(_defaultMolecule.HalfLifeLiver));
     individualMolecule.Add(_cloner.Clone(_defaultMolecule.HalfLifeIntestine));
 }