示例#1
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);
        }
示例#2
0
        public IndividualTransporterDTO MapFrom(IndividualTransporter transporter, ISimulationSubject simulationSubject)
        {
            var dto = new IndividualTransporterDTO(transporter);

            UpdateExpressionParameters(dto, simulationSubject);
            return(dto);
        }
 private void updateTransporterParameterValues(IndividualTransporter transporter)
 {
     foreach (var relativeExpressionContainer in _expressionContainersRetriever.AllContainersFor(_spatialStructure, transporter))
     {
         setParameterValuesForStandardContainer(transporter, relativeExpressionContainer);
     }
 }
        public void SetDefaultSettingsForTransporter(IndividualTransporter transporter, string species, string transporterName)
        {
            transporter.TransportType = _transporterContainerTemplateRepository.TransportTypeFor(species, transporterName);

            foreach (var transporterContainer in transporter.AllExpressionsContainers())
            {
                //there is a db template
                var tranporterTemplate = _transporterContainerTemplateRepository.TransportersFor(species, transporterContainer.Name, transporterName).FirstOrDefault();
                if (tranporterTemplate != null)
                {
                    transporterContainer.UpdatePropertiesFrom(tranporterTemplate);
                }
                else
                {
                    UpdateTransporterFromTemplate(transporterContainer, species, MembraneLocationToUse(transporterContainer, transporter.TransportType), transporter.TransportType);
                }
            }

            if (_transporterContainerTemplateRepository.HasTransporterTemplateFor(species, transporterName))
            {
                return;
            }

            //No template was found for the given name. Raise event warning
            _eventPublisher.PublishEvent(new NoTranporterTemplateAvailableEvent(transporter));
        }
示例#5
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);
        }
示例#6
0
 public void ActivateMolecule(IndividualMolecule molecule)
 {
     _transporter = molecule.DowncastTo <IndividualTransporter>();
     _view.HideWarning();
     _view.BindTo(_transporterExpressionDTOMapper.MapFrom(_transporter));
     _moleculePropertiesPresenter.Edit(molecule, SimulationSubject.DowncastTo <TSimulationSubject>());
 }
        protected override void Context()
        {
            base.Context();
            _transporter = new IndividualTransporter {
                TransportType = TransportType.Efflux, Name = "toto"
            };
            _transporterWithTemplate = new TransporterExpressionContainer {
                MembraneLocation = MembraneLocation.Apical
            }.WithName(_liver);
            _transporterWithoutTemplate = new TransporterExpressionContainer {
                MembraneLocation = MembraneLocation.Basolateral
            }.WithName("Kidney");
            _transporter.Add(_transporterWithTemplate);
            _transporter.Add(_transporterWithoutTemplate);

            _transporterContainerTemplate = new TransporterContainerTemplate {
                MembraneLocation = MembraneLocation.Apical, TransportType = TransportType.Influx
            };
            _defaultTemplate = new TransporterContainerTemplate {
                MembraneLocation = MembraneLocation.Basolateral, TransportType = TransportType.Influx
            };
            _allTransporterTemplates.Add(_transporterContainerTemplate);

            A.CallTo(() => _repository.HasTransporterTemplateFor(_species, _transporter.Name)).Returns(true);
            A.CallTo(() => _repository.TransportTypeFor(_species, _transporter.Name)).Returns(TransportType.Influx);
            A.CallTo(() => _repository.TransportersFor(_species, _liver, _transporter.Name)).Returns(_allTransporterTemplates);
            A.CallTo(() => _repository.TransportersFor(_species, _kidney, _transporter.Name)).Returns(new List <TransporterContainerTemplate>());
            A.CallTo(() => _repository.TransportersFor(_species, _kidney)).Returns(new List <TransporterContainerTemplate> {
                _defaultTemplate
            });
        }
示例#8
0
      protected override void Context()
      {
         base.Context();
         _transporter = new IndividualTransporter {TransportType = TransportType.Efflux, Name = "aa"};

         A.CallTo(() => _repository.HasTransporterTemplateFor(_species, _transporterName)).Returns(false);
         A.CallTo(() => _repository.TransportTypeFor(_species, _transporterName)).Returns(TransportType.Efflux);
      }
示例#9
0
        protected override Task Context()
        {
            _parameterMapper     = A.Fake <ParameterMapper>();
            _moleculeMapper      = A.Fake <MoleculeMapper>();
            _dimensionRepository = A.Fake <IDimensionRepository>();
            _individualFactory   = A.Fake <IIndividualFactory>();
            _originDataMapper    = A.Fake <OriginDataMapper>();

            sut = new IndividualMapper(_parameterMapper, _moleculeMapper, _originDataMapper, _individualFactory);

            _individual             = DomainHelperForSpecs.CreateIndividual();
            _individual.Name        = "Ind";
            _individual.Description = "Model Description";

            _parameterLiver  = _individual.EntityAt <IParameter>(Constants.ORGANISM, CoreConstants.Organ.Liver, "PLiver");
            _parameterKidney = _individual.EntityAt <IParameter>(Constants.ORGANISM, CoreConstants.Organ.Kidney, "PKidney");

            _parameterLiver.ValueDiffersFromDefault().ShouldBeFalse();
            _parameterKidney.ValueDiffersFromDefault().ShouldBeFalse();

            _parameterKidney.Value = 40;
            _parameterKidney.ValueDiffersFromDefault().ShouldBeTrue();

            _enzyme = new IndividualEnzyme
            {
                Name = "Enz",
            };
            _individual.AddMolecule(_enzyme);

            _transporter = new IndividualTransporter
            {
                Name = "Trans",
            };

            _individual.AddMolecule(_transporter);

            _enzymeSnapshot = new Molecule {
                Type = QuantityType.Enzyme
            };
            _transporterSnapshot = new Molecule {
                Type = QuantityType.Transporter
            };

            A.CallTo(() => _moleculeMapper.MapToSnapshot(_enzyme)).Returns(_enzymeSnapshot);
            A.CallTo(() => _moleculeMapper.MapToSnapshot(_transporter)).Returns(_transporterSnapshot);

            _originDataSnapshot = new OriginData();
            A.CallTo(() => _originDataMapper.MapToSnapshot(_individual.OriginData)).Returns(_originDataSnapshot);

            _localizedParameterKidney = new LocalizedParameter {
                Path = "Organism|Kidney|PKidney"
            };
            A.CallTo(() => _parameterMapper.LocalizedParametersFrom(A <IEnumerable <IParameter> > .That.Contains(_parameterKidney))).Returns(new[] { _localizedParameterKidney });

            return(_completed);
        }
示例#10
0
        public TransporterExpressionDTO MapFrom(IndividualTransporter transporter)
        {
            var transporterExpressionDTO = new TransporterExpressionDTO(transporter);

            foreach (var transporterExpressionContainer in transporter.GetChildren <ITransporterExpressionContainer>())
            {
                addContainerExpression(transporterExpressionDTO, transporter, transporterExpressionContainer);
            }
            return(transporterExpressionDTO);
        }
        public TransporterExpressionDTO MapFrom(IndividualTransporter transporter)
        {
            var transporterExpressionDTO = new TransporterExpressionDTO(transporter);

            foreach (var transporterExpressionContainer in transporter.AllExpressionsContainers())
            {
                addContainerExpression(transporterExpressionDTO, transporter, transporterExpressionContainer);
            }
            return(transporterExpressionDTO);
        }
 public SetTransportTypeCommand(IndividualTransporter individualTransporter, TransportType transportType, IExecutionContext context)
 {
     _expressionProfile     = context.BuildingBlockContaining(individualTransporter).DowncastTo <ExpressionProfile>();
     _individualTransporter = individualTransporter;
     _transportType         = transportType;
     BuildingBlockId        = _expressionProfile.Id;
     _transporterId         = _individualTransporter.Id;
     ObjectType             = PKSimConstants.ObjectTypes.Transporter;
     CommandType            = PKSimConstants.Command.CommandTypeEdit;
     context.UpdateBuildingBlockPropertiesInCommand(this, _expressionProfile);
 }
示例#13
0
        public SetTransportTypeInAllContainerCommand(IndividualTransporter individualTransporter, TransportType transportType, IExecutionContext context)
        {
            _individualTransporter = individualTransporter;
            _individual            = context.BuildingBlockContaining(individualTransporter).DowncastTo <Individual>();

            NewTransportType = transportType;
            OldTransportType = _individualTransporter.TransportType;
            ObjectType       = PKSimConstants.ObjectTypes.Transporter;
            CommandType      = PKSimConstants.Command.CommandTypeEdit;
            Description      = PKSimConstants.Command.SetTransportTypeCommandDescription(_individualTransporter.Name, OldTransportType.ToString(), NewTransportType.ToString());
            context.UpdateBuildingBlockPropertiesInCommand(this, _individual);
        }
        public SetTransportTypeInTransporterCommand(IndividualTransporter individualTransporter, TransportType transportType, IExecutionContext context)
        {
            var individual = context.BuildingBlockContaining(individualTransporter).DowncastTo <Individual>();

            _individualTransporter = individualTransporter;
            _transportType         = transportType;
            BuildingBlockId        = individual.Id;
            _transporterId         = _individualTransporter.Id;
            ObjectType             = PKSimConstants.ObjectTypes.Transporter;
            CommandType            = PKSimConstants.Command.CommandTypeEdit;
            context.UpdateBuildinBlockPropertiesInCommand(this, individual);
        }
        protected override void Context()
        {
            sut = new IndividualTransporter().WithName("T");
            _transpoterExpressionLiver = new TransporterExpressionContainer().WithName("Liver");
            _transpoterExpressionLiver.AddProcessName("P1");
            _transpoterExpressionKidney = new TransporterExpressionContainer().WithName("Kidney");
            _transpoterExpressionKidney.AddProcessName("P2");
            _transpoterExpressionBrain = new TransporterExpressionContainer().WithName("Brain");
            _transpoterExpressionBrain.AddProcessName("P1");

            sut.Add(_transpoterExpressionLiver);
            sut.Add(_transpoterExpressionKidney);
            sut.Add(_transpoterExpressionBrain);
        }
示例#16
0
        private void updateTransporterTagsFor(IndividualTransporter transporter, ITransportBuilder transporterBuilder, string simulationProcessName)
        {
            //if one organ was specified already, no need to create the list of not tags!
            var allOrgans    = transporter.AllOrgansWhereProcessTakesPlace(simulationProcessName).ToList();
            var allMatchTags = transporterBuilder.SourceCriteria.OfType <MatchTagCondition>()
                               .Select(x => x.Tag);

            if (allMatchTags.Intersect(allOrgans).Any())
            {
                return;
            }

            foreach (var organName in transporter.AllOrgansWhereProcessDoesNotTakePlace(simulationProcessName))
            {
                transporterBuilder.SourceCriteria.Add(new NotMatchTagCondition(organName));
            }
        }
示例#17
0
        public override void GlobalContext()
        {
            base.GlobalContext();
            _individual             = DomainFactoryForSpecs.CreateStandardIndividual();
            _moleculeExpressionTask = IoC.Resolve <IMoleculeExpressionTask <Individual> >();
            _ontogenyRepository     = IoC.Resolve <IOntogenyRepository>();

            _expressionProfileForEnzyme = DomainFactoryForSpecs.CreateExpressionProfile <IndividualEnzyme>();
            _moleculeExpressionTask.AddExpressionProfile(_individual, _expressionProfileForEnzyme);
            _individualEnzyme        = _individual.MoleculeByName <IndividualEnzyme>(_expressionProfileForEnzyme.MoleculeName);
            _expressionProfileEnzyme = _expressionProfileForEnzyme.Molecule.DowncastTo <IndividualEnzyme>();

            _expressionProfileForTransporter = DomainFactoryForSpecs.CreateExpressionProfile <IndividualTransporter>(moleculeName: "TRANS");
            _moleculeExpressionTask.AddExpressionProfile(_individual, _expressionProfileForTransporter);
            _individualTransporter        = _individual.MoleculeByName <IndividualTransporter>(_expressionProfileForTransporter.MoleculeName);
            _expressionProfileTransporter = _expressionProfileForTransporter.Molecule.DowncastTo <IndividualTransporter>();
        }
示例#18
0
        private IReadOnlyCollection <InducedProcess> allInducedProcessesFor(IndividualTransporter transporter, Individual individual)
        {
            var inducedProcessCache      = new Cache <string, InducedProcess>(x => x.Name, x => null);
            var allTransporterContainers = individual.AllMoleculeContainersFor <TransporterExpressionContainer>(transporter)
                                           .Where(x => x.TransportDirection != TransportDirectionId.None).ToList();

            //Global containers surrogate do not have a logical container associated
            var allOrganNames = new HashSet <string>(allTransporterContainers.Select(x => x.LogicalContainerName).Where(x => !string.IsNullOrEmpty(x)));

            foreach (var transporterContainer in allTransporterContainers)
            {
                //Logical containerName is empty for surrogate containers
                var logicalContainer = transporterContainer.LogicalContainerName;

                var allTransportTemplates = _transportTemplateRepository.All()
                                            .Where(x => x.TransportDirection == transporterContainer.TransportDirection);

                //a logical container is defined. We are dealing with a localized transporter
                if (!string.IsNullOrEmpty(logicalContainer))
                {
                    //For apical transport for Lumen => Mucosa, the compartment is the name of our mapping
                    allTransportTemplates = allTransportTemplates
                                            .Where(x => (x.SourceOrgan == logicalContainer || x.SourceCompartment == logicalContainer));
                }

                foreach (var transportTemplate in allTransportTemplates)
                {
                    var inducedProcess = inducedProcessCache[transportTemplate.ProcessName];
                    if (inducedProcess == null)
                    {
                        inducedProcess = new InducedProcess {
                            Name = transportTemplate.ProcessName
                        };
                        inducedProcess.AddOrgansToExclude(allOrganNames);
                        inducedProcessCache.Add(inducedProcess);
                    }

                    // For lumen transport. The source organ or target organ is in fact defined as a compartment
                    inducedProcess.AddSourceOrgan(transportTemplate.SourceOrgan.IsLumen() ? transportTemplate.SourceCompartment : transportTemplate.SourceOrgan);
                    inducedProcess.AddTargetOrgan(transportTemplate.TargetOrgan.IsLumen() ? transportTemplate.TargetCompartment : transportTemplate.TargetOrgan);
                }
            }

            return(inducedProcessCache);
        }
示例#19
0
        protected override void Context()
        {
            base.Context();
            _transporter       = new IndividualTransporter().WithName("TRANS");
            _simulationSubject = A.Fake <ISimulationSubject>();
            _simulationSubject.Species.Name = "Human";
            var liver     = new Container().WithName(CoreConstants.Organ.LIVER);
            var liverCell = new Container().WithName(CoreConstants.Compartment.INTRACELLULAR).WithParentContainer(liver);

            _transporterExpressionContainer = new TransporterExpressionContainer().WithParentContainer(liverCell);
            _expressionParameter            = DomainHelperForSpecs.ConstantParameterWithValue(0.5).WithName(CoreConstants.Parameters.REL_EXP);
            _transporterExpressionContainer.Add(_expressionParameter);
            _expressionParameterDTO = new TransporterExpressionParameterDTO();
            A.CallTo(() => _expressionParameterMapper.MapFrom(_expressionParameter)).Returns(_expressionParameterDTO);
            A.CallTo(() => _transporterContainerTemplateRepository.HasTransporterTemplateFor(_simulationSubject.Species.Name, _transporter.Name)).Returns(true);

            A.CallTo(() => _simulationSubject.AllMoleculeContainersFor <TransporterExpressionContainer>(_transporter)).Returns(new[] { _transporterExpressionContainer });
        }
示例#20
0
        protected override Task Context()
        {
            _parameterMapper = A.Fake <ParameterMapper>();
            _logger          = A.Fake <IOSPSuiteLogger>();

            sut = new ExpressionContainerMapper(_parameterMapper, _logger);

            _relativeExpressionParameter =
                DomainHelperForSpecs.ConstantParameterWithValue(0, isDefault: true).WithName(CoreConstants.Parameters.REL_EXP);
            _moleculeExpressionContainer = new MoleculeExpressionContainer().WithName("EXP");
            _moleculeExpressionContainer.Add(_relativeExpressionParameter);

            _transporterRelativeExpressionParameter =
                DomainHelperForSpecs.ConstantParameterWithValue(0, isDefault: true).WithName(CoreConstants.Parameters.REL_EXP);
            _transporterExpressionContainer = new TransporterExpressionContainer().WithName("TRANS");
            _transporterExpressionContainer.TransportDirection = TransportDirectionId.InfluxInterstitialToIntracellular;

            _bloodCellsExpressionContainer = new TransporterExpressionContainer().WithName(CoreConstants.Compartment.BLOOD_CELLS);
            _bloodCellsExpressionContainer.TransportDirection = TransportDirectionId.BiDirectionalBloodCellsPlasma;

            _transporterExpressionContainer.Add(_transporterRelativeExpressionParameter);

            _individual = new Individual {
                OriginData = new OriginData {
                    Species = new Species().WithName("Human")
                }
            };
            _expressionContainerMapperContext = new ExpressionContainerMapperContext(new SnapshotContext())
            {
            };

            _enzyme = new IndividualEnzyme {
                _moleculeExpressionContainer
            };
            _transporter = new IndividualTransporter {
                _transporterExpressionContainer, _bloodCellsExpressionContainer
            };
            return(_completed);
        }
示例#21
0
        public override void Execute(IExecutionContext context)
        {
            var transportContainerUpdater = context.Resolve <ITransportContainerUpdater>();

            Add(new SetTransportTypeInTransporterCommand(_individualTransporter, NewTransportType, context));

            //Check if a template is available for the given container. If yes, we're good to go and can create a change transporter type command
            //we need to retrieve the process name for the given MembraneTupe/Process Type combo
            foreach (var transporterContainer in _individualTransporter.AllExpressionsContainers())
            {
                var membraneLocationToUse = transportContainerUpdater.MembraneLocationToUse(transporterContainer, NewTransportType);

                //change transport type
                Add(new SetTransportTypeCommand(transporterContainer, OldTransportType, NewTransportType, membraneLocationToUse, context));
            }

            //now execute all commands
            base.Execute(context);

            //clear references
            _individualTransporter = null;
            _individual            = null;
        }
        protected override void Context()
        {
            _view                        = A.Fake <IIndividualTransporterExpressionsView>();
            _parameterTask               = A.Fake <IEditParameterPresenterTask>();
            _moleculeExpressionTask      = A.Fake <IMoleculeExpressionTask <Individual> >();
            _transporterMapper           = A.Fake <IIndividualTransporterToTransporterExpressionDTOMapper>();
            _moleculePropertiesPresenter = A.Fake <IIndividualMoleculePropertiesPresenter <Individual> >();
            _transporterExpressionParametersPresenter = A.Fake <ITransporterExpressionParametersPresenter>();
            sut = new IndividualTransporterExpressionsPresenter <Individual>(
                _view, _parameterTask, _moleculeExpressionTask, _transporterMapper, _moleculePropertiesPresenter,
                _transporterExpressionParametersPresenter);

            _commandCollector = new PKSimMacroCommand();
            sut.InitializeWith(_commandCollector);


            _transporter          = new IndividualTransporter();
            _simulationSubject    = new Individual();
            _transporterDTO       = new IndividualTransporterDTO(_transporter);
            sut.SimulationSubject = _simulationSubject;

            A.CallTo(() => _transporterMapper.MapFrom(_transporter, _simulationSubject)).Returns(_transporterDTO);
        }
        protected override Task Context()
        {
            _parameterMapper           = A.Fake <ParameterMapper>();
            _transportContainerUpdater = A.Fake <ITransportContainerUpdater>();
            _logger = A.Fake <ILogger>();

            sut = new ExpressionContainerMapper(_parameterMapper, _transportContainerUpdater, _logger);

            _relativeExpressionParameter = DomainHelperForSpecs.ConstantParameterWithValue(0, isDefault: true).WithName(CoreConstants.Parameters.REL_EXP);
            _moleculeExpressionContainer = new MoleculeExpressionContainer().WithName("EXP");
            _moleculeExpressionContainer.Add(_relativeExpressionParameter);

            _transporterRelativeExpressionParameter          = DomainHelperForSpecs.ConstantParameterWithValue(0, isDefault: true).WithName(CoreConstants.Parameters.REL_EXP);
            _transporterExpressionContainer                  = new TransporterExpressionContainer().WithName("TRANS");
            _transporterExpressionContainer.MembraneLocation = MembraneLocation.Apical;

            _transporterExpressionContainer.Add(_transporterRelativeExpressionParameter);

            _individual = new Individual {
                OriginData = new  Model.OriginData {
                    Species = new Species().WithName("Human")
                }
            };

            _expressionContainerMapperContext = new ExpressionContainerMapperContext
            {
                SimulationSubject = _individual
            };

            _enzyme = new IndividualEnzyme {
                _moleculeExpressionContainer
            };
            _transporter = new IndividualTransporter {
                _transporterExpressionContainer
            };
            return(_completed);
        }
 public override void RestoreExecutionData(IExecutionContext context)
 {
     base.RestoreExecutionData(context);
     _individualTransporter = context.Get <IndividualTransporter>(_transporterId);
 }
 protected override void ClearReferences()
 {
     _individualTransporter = null;
 }
示例#26
0
 public ICommand SetTransporterTypeFor(IndividualTransporter transporter, TransportType transportType)
 {
     return(new SetTransportTypeInAllContainerCommand(transporter, transportType, _executionContext).Run(_executionContext));
 }
        private void addContainerExpression(TransporterExpressionDTO proteinExpressionDTO, IndividualTransporter transporter, TransporterExpressionContainer transporterExpressionContainer)
        {
            var expressionDTO = new TransporterExpressionContainerDTO(transporterExpressionContainer)
            {
                MoleculeName = transporter.Name, ContainerName = transporterExpressionContainer.Name
            };

            _expressionContainerDTOUpdater.UpdateProperties(expressionDTO, transporterExpressionContainer);
            proteinExpressionDTO.AddProteinExpression(expressionDTO);
        }
示例#28
0
 public NoTranporterTemplateAvailableEvent(IndividualTransporter transporter)
 {
     Transporter = transporter;
 }
示例#29
0
 protected override async Task Because()
 {
     _newTransporter = await sut.MapToModel(_snapshot, _individual) as IndividualTransporter;
 }
示例#30
0
        protected override Task Context()
        {
            _parameterMapper                   = A.Fake <ParameterMapper>();
            _expressionContainerMapper         = A.Fake <ExpressionContainerMapper>();
            _executionContext                  = A.Fake <IExecutionContext>();
            _individualMoleculeFactoryResolver = A.Fake <IIndividualMoleculeFactoryResolver>();
            _ontogenyMapper = A.Fake <OntogenyMapper>();
            _ontogenyTask   = A.Fake <IOntogenyTask <Individual> >();
            _individualMoleculeParametersTask = A.Fake <IMoleculeParameterTask>();

            sut = new MoleculeMapper(_parameterMapper, _expressionContainerMapper,
                                     _ontogenyMapper, _individualMoleculeFactoryResolver, _executionContext, _ontogenyTask, _individualMoleculeParametersTask);

            _ontogeny = new DatabaseOntogeny
            {
                Name = "Ontogeny"
            };

            _enzyme = new IndividualEnzyme
            {
                Name        = "Enzyme",
                Description = "Help",
                Ontogeny    = _ontogeny,
            };

            _transporter = new IndividualTransporter
            {
                Name        = "Transporter",
                Description = "Help"
            };

            _otherProtein = new IndividualOtherProtein
            {
                Name        = "OtherProtein",
                Description = "Help"
            };

            _enzymeGlobalParameter         = DomainHelperForSpecs.ConstantParameterWithValue(5, isDefault: true).WithName(CoreConstants.Parameters.HALF_LIFE_LIVER);
            _enzymeGlobalParameterSnapshot = new Parameter();

            A.CallTo(() => _parameterMapper.MapToSnapshot(_enzymeGlobalParameter)).Returns(_enzymeGlobalParameterSnapshot);

            _expressionContainer1 = new MoleculeExpressionContainer {
                Name = "Exp Container1"
            };
            _expressionContainer2 = new MoleculeExpressionContainer {
                Name = "Exp Container2"
            };
            _enzyme.AddChildren(_expressionContainer1, _expressionContainer2, _enzymeGlobalParameter);

            _relativeExpressionParameter1     = DomainHelperForSpecs.ConstantParameterWithValue(0.5).WithName(CoreConstants.Parameters.REL_EXP);
            _relativeExpressionParameterNorm1 = DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.REL_EXP_NORM);
            _expressionContainer1.Add(_relativeExpressionParameter1);
            _expressionContainer1.Add(_relativeExpressionParameterNorm1);

            _relativeExpressionParameterNotSet     = DomainHelperForSpecs.ConstantParameterWithValue(0).WithName(CoreConstants.Parameters.REL_EXP);
            _relativeExpressionParameterNotSetNorm = DomainHelperForSpecs.ConstantParameterWithValue(0).WithName(CoreConstants.Parameters.REL_EXP_NORM);
            _expressionContainer2.Add(_relativeExpressionParameterNotSet);
            _expressionContainer2.Add(_relativeExpressionParameterNotSetNorm);

            _relativeExpressionContainerSnapshot1 = new ExpressionContainer();
            _relativeExpressionContainerSnapshot2 = new ExpressionContainer();

            A.CallTo(() => _expressionContainerMapper.MapToSnapshot(_expressionContainer1)).Returns(_relativeExpressionContainerSnapshot1);
            A.CallTo(() => _expressionContainerMapper.MapToSnapshot(_expressionContainer2)).Returns(_relativeExpressionContainerSnapshot2);

            _snapshotOntogeny = new Snapshots.Ontogeny();
            A.CallTo(() => _ontogenyMapper.MapToSnapshot(_ontogeny)).Returns(_snapshotOntogeny);
            _individual = new Individual();

            return(_completed);
        }