public MembraneLocation MembraneLocationToUse(ITransporterExpressionContainer transporterContainer, TransportType newTransportType) { if (!transporterContainer.HasPolarizedMembrane) { return(transporterContainer.MembraneLocation); } //Brain always plasma if (transporterContainer.IsNamed(CoreConstants.Organ.Brain)) { return(MembraneLocation.BloodBrainBarrier); } //intestine always apical if (transporterContainer.GroupName == CoreConstants.Groups.GI_MUCOSA) { return(MembraneLocation.Apical); } //pgp and efflux always apical if (newTransportType == TransportType.PgpLike || newTransportType == TransportType.Efflux) { return(MembraneLocation.Apical); } //not brain and intestine=>Influx is always basolateral if (newTransportType == TransportType.Influx) { return(MembraneLocation.Basolateral); } return(transporterContainer.MembraneLocation); }
protected override void Context() { base.Context(); _transporterContainer = A.Fake<ITransporterExpressionContainer>(); A.CallTo(() => _transporterContainer.Name).Returns(_liver); _species = "human"; A.CallTo(() => _repository.TransportersFor(_species, _liver)).Returns(_allTransporters); _membrane = MembraneLocation.Apical; _transportType = TransportType.Efflux; _transporterContainerTemplate = new TransporterContainerTemplate {MembraneLocation = _membrane, TransportType = _transportType}; _allTransporters.Add(_transporterContainerTemplate); }
public SetMembraneTypeCommand(ITransporterExpressionContainer transporterContainer, TransportType transportType, MembraneLocation newMembraneLocation, IExecutionContext context) { _transporterContainer = transporterContainer; _transportType = transportType; _transporterContainerId = _transporterContainer.Id; _newMembraneLocation = newMembraneLocation; _individual = context.BuildingBlockContaining(_transporterContainer).DowncastTo <Individual>(); BuildingBlockId = _individual.Id; _oldMembraneLocation = _transporterContainer.MembraneLocation; ObjectType = PKSimConstants.ObjectTypes.Transporter; CommandType = PKSimConstants.Command.CommandTypeEdit; context.UpdateBuildinBlockProperties(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); }
public SetTransportTypeCommand(ITransporterExpressionContainer transporterContainer, TransportType oldTransportType, TransportType newTransportType, MembraneLocation membraneLocationToUse, IExecutionContext context) { _transporterContainer = transporterContainer; _membraneLocationToUse = membraneLocationToUse; _transporterContainerId = _transporterContainer.Id; _individual = context.BuildingBlockContaining(transporterContainer).DowncastTo <Individual>(); BuildingBlockId = _individual.Id; _newTransportType = newTransportType; _oldTransportType = oldTransportType; ObjectType = PKSimConstants.ObjectTypes.Transporter; CommandType = PKSimConstants.Command.CommandTypeEdit; context.UpdateBuildinBlockProperties(this, _individual); Visible = false; }
public void UpdateTransporterFromTemplate(ITransporterExpressionContainer transporterContainer, string species, MembraneLocation membraneLocation, TransportType transportType) { //we need to retrieve the process name for the given MembraneTupe/Process Type combo var templateToUse = _transporterContainerTemplateRepository.TransportersFor(species, transporterContainer.Name) .Where(x => x.MembraneLocation == membraneLocation) .FirstOrDefault(x => x.TransportType == transportType); //That should never happen, otherwise we would have a transporter container with an unknown process if (templateToUse == null) { throw new PKSimException(PKSimConstants.Error.CouldNotFindTransporterFor(transporterContainer.Name, membraneLocation.ToString(), transportType.ToString())); } transporterContainer.UpdatePropertiesFrom(templateToUse); }
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}); }
public override void RestoreExecutionData(IExecutionContext context) { base.RestoreExecutionData(context); _individual = context.Get <Individual>(BuildingBlockId); _transporterContainer = context.Get <ITransporterExpressionContainer>(_transporterContainerId); }
protected override void ClearReferences() { _transporterContainer = null; _individual = null; }
private void addContainerExpression(TransporterExpressionDTO proteinExpressionDTO, IndividualTransporter transporter, ITransporterExpressionContainer transporterExpressionContainer) { var expressionDTO = new TransporterExpressionContainerDTO(transporterExpressionContainer) { MoleculeName = transporter.Name, ContainerName = transporterExpressionContainer.Name }; _expressionContainerDTOUpdater.UpdateProperties(expressionDTO, transporterExpressionContainer); proteinExpressionDTO.AddProteinExpression(expressionDTO); }
public ICommand SetMembraneLocationFor(ITransporterExpressionContainer transporterContainer, TransportType transportType, MembraneLocation membraneLocation) { return(new SetMembraneTypeCommand(transporterContainer, transportType, membraneLocation, _executionContext).Run(_executionContext)); }
public TransporterExpressionContainerDTO(ITransporterExpressionContainer transporterContainer) { _transporterContainer = transporterContainer; _transporterContainer.PropertyChanged += raisePropertyChange; }
public override void ClearReferences() { base.ClearReferences(); _transporterContainer.PropertyChanged -= raisePropertyChange; _transporterContainer = null; }
private IEnumerable <IContainer> allContainersForTransporter(Organism organism, IndividualTransporter transporter, IEnumerable <IContainer> allContainers, ITransporterExpressionContainer expressionContainer) { if (expressionContainer.IsSurrogate()) { return(allCompartmentsOfNames(allContainers, expressionContainer.Name)); } return(compartmentFor(organism, expressionContainer, expressionContainer.CompartmentName)); }