protected override void Context() { base.Context(); _process = A.Fake <SystemicProcess>(); _renameCommand = A.Fake <IPKSimCommand>(); A.CallTo(() => _compoundProcessTask.RenameDataSource(_process)).Returns(_renameCommand); }
protected override void Context() { base.Context(); var proc1 = A.Fake <EnzymaticProcess>().WithName("proc1"); var proc2 = A.Fake <EnzymaticProcess>().WithName("proc2"); _node1 = A.Fake <ITreeNode>(); A.CallTo(() => _node1.Id).Returns("1"); _node2 = A.Fake <ITreeNode>(); A.CallTo(() => _node2.Id).Returns("2"); _compound.Add(proc1); _compound.Add(proc2); _systemicProcess = new SystemicProcess { SystemicProcessType = SystemicProcessTypes.Hepatic }; _compound.AddProcess(_systemicProcess); A.CallTo(() => _partialProcessNodeMapper.MapFrom(proc1)).Returns(_node1); A.CallTo(() => _partialProcessNodeMapper.MapFrom(proc2)).Returns(_node2); //nodes not added yet to the tree A.CallTo(() => _view.TreeView.NodeById(_node1.Id)).Returns(null); A.CallTo(() => _view.TreeView.NodeById(_node2.Id)).Returns(null); _hepaticClearanceNode = _treeNodeFactory.CreateFor(SystemicProcessNodeType.HepaticClearance); A.CallTo(() => _view.TreeView.NodeById(_hepaticClearanceNode.Id)).Returns(_hepaticClearanceNode); }
public void UpdateProperties(SystemicProcess systemicProcess, SystemicProcessDTO systemicProcessDTO) { systemicProcess.Name = systemicProcessDTO.Name; systemicProcess.DataSource = systemicProcessDTO.DataSource; systemicProcess.Species = systemicProcessDTO.Species; systemicProcess.Description = systemicProcessDTO.Description; }
protected override Task Context() { sut = new ProcessMappingMapper(); _compound = new Compound { Name = "COMP", }; _enzymaticProcess = new EnzymaticProcess().WithName("MetaProcess"); _enzymaticProcessSelection = new EnzymaticProcessSelection { CompoundName = _compound.Name, MetaboliteName = "META", MoleculeName = "CYP", ProcessName = _enzymaticProcess.Name }; _specificBindingProcess = new SpecificBindingPartialProcess().WithName("BindingProcess"); _specificBindingPartialProcessSelection = new ProcessSelection { CompoundName = _compound.Name, MoleculeName = "BINDER", ProcessName = _specificBindingProcess.Name }; _transportSystemicProcess = new SystemicProcess { Name = "SystemicTransport", SystemicProcessType = SystemicProcessTypes.GFR }; _transportSystemicProcessSelection = new SystemicProcessSelection { CompoundName = _compound.Name, ProcessName = _transportSystemicProcess.Name, ProcessType = _transportSystemicProcess.SystemicProcessType }; _interactionProcess = new InductionProcess().WithName("InteractionProcess"); _interactionSelection = new InteractionSelection { CompoundName = _compound.Name, ProcessName = _interactionProcess.Name, MoleculeName = "INHIBITOR" }; _compound.AddProcess(_enzymaticProcess); _compound.AddProcess(_transportSystemicProcess); _compound.AddProcess(_interactionProcess); _compound.AddProcess(_specificBindingProcess); return(_completed); }
private void updateLipophilicityReferences(SystemicProcess systemicProcess, string parameterName) { var parameter = systemicProcess.Parameter(parameterName); if (parameter == null) { return; } foreach (var objectPath in parameter.Formula.ObjectPaths) { objectPath.Replace(ConverterConstants.Parameter.Lipophilicity, CoreConstants.Parameter.LIPOPHILICITY_EXPERIMENT); } }
public SystemicProcessDTO MapFrom(SystemicProcess systemicProcess, Compound compound) { var systemicProcessDTO = new SystemicProcessDTO(systemicProcess) { ContainerType = _objectTypeResolver.TypeFor(compound), Compound = compound, SystemicProcessType = systemicProcess.SystemicProcessType.DisplayName, DataSource = systemicProcess.DataSource, Species = systemicProcess.Species, Description = systemicProcess.Description }; systemicProcessDTO.AddUsedNames(compound.AllProcesses <CompoundProcess>().Select(x => x.Name)); return(systemicProcessDTO); }
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); }
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); }
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); }
protected override Task Context() { _alternativeMapper = A.Fake <AlternativeMapper>(); _parameterMapper = A.Fake <ParameterMapper>(); _calculationMethodCacheMapper = A.Fake <CalculationMethodCacheMapper>(); _processMapper = A.Fake <CompoundProcessMapper>(); _compoundFactory = A.Fake <ICompoundFactory>(); sut = new CompoundMapper(_parameterMapper, _alternativeMapper, _calculationMethodCacheMapper, _processMapper, _compoundFactory); _compound = new Model.Compound { Name = "Compound", Description = "Description" }; addPkAParameters(_compound, 0, 8, CompoundType.Base); addPkAParameters(_compound, 1, 4, CompoundType.Acid); addPkAParameters(_compound, 2, 7, CompoundType.Neutral); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_LIPOPHILICITY)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_FRACTION_UNBOUND)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_SOLUBILITY)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_INTESTINAL_PERMEABILITY)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_PERMEABILITY)); _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.IS_SMALL_MOLECULE)); _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue((int)PlasmaProteinBindingPartner.Glycoprotein).WithName(CoreConstants.Parameters.PLASMA_PROTEIN_BINDING_PARTNER)); _partialProcess = new EnzymaticProcess().WithName("EnzymaticProcess"); _systemicProcess = new SystemicProcess().WithName("SystemicProcess"); _compound.AddProcess(_partialProcess); _compound.AddProcess(_systemicProcess); _calculationMethodCacheSnapshot = new CalculationMethodCache(); A.CallTo(() => _calculationMethodCacheMapper.MapToSnapshot(_compound.CalculationMethodCache)).Returns(_calculationMethodCacheSnapshot); _snapshotProcess1 = new CompoundProcess(); _snapshotProcess2 = new CompoundProcess(); A.CallTo(() => _processMapper.MapToSnapshot(_partialProcess)).Returns(_snapshotProcess1); A.CallTo(() => _processMapper.MapToSnapshot(_systemicProcess)).Returns(_snapshotProcess2); return(_completed); }
protected override void Context() { base.Context(); _compound = new Compound(); var fuGroup = new ParameterAlternativeGroup().WithName(CoreConstants.Groups.COMPOUND_FRACTION_UNBOUND); _fuAlternative = new ParameterAlternative().WithName("MyFu"); _fuAlternative.Add(DomainHelperForSpecs.ConstantParameterWithValue(0.2).WithName(CoreConstants.Parameter.FractionUnbound)); _fuAlternative.IsDefault = true; fuGroup.AddAlternative(_fuAlternative); _compound.AddParameterAlternativeGroup(fuGroup); _template = new SystemicProcess(); _p1 = DomainHelperForSpecs.ConstantParameterWithValue(0.5).WithName(CoreConstants.Parameter.FRATION_UNBOUND_EXPERIMENT); _p2 = DomainHelperForSpecs.ConstantParameterWithValue(0.9).WithName("toto"); _template.Add(_p1); _template.Add(_p2); _clone = new SystemicProcess(); _clone.Add(DomainHelperForSpecs.ConstantParameterWithValue(0.5).WithName(CoreConstants.Parameter.FRATION_UNBOUND_EXPERIMENT)); A.CallTo(() => _executionContext.Clone(_template)).Returns(_clone); }
protected override void Context() { _compound = BatchToolFactoryForSpecs.Compound(); _compound.Name = "sim"; _compound.IsSmallMolecule = true; _partialProcess = new PartialProcess(); _partialProcess.MoleculeName = "CYP"; _partialProcess.InternalName = "Metabolization_firstOrder"; _partialProcess.DataSource = "Lab"; _partialProcess.ParameterValues.Add("P1", 5); _partialProcess.ParameterValues.Add("CLSpec", 3); _systemicProcess = new SystemicProcess(); _systemicProcess.InternalName = "PlasmaClearance"; _systemicProcess.DataSource = "Lab"; _systemicProcess.ParameterValues.Add("P4", 5); _systemicProcess.ParameterValues.Add("CL", 3); _compound.PartialProcesses.Add(_partialProcess); _compound.SystemicProcesses.Add(_systemicProcess); _settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; }
protected override Task Context() { _parameterMapper = A.Fake <ParameterMapper>(); _alternativeMapper = A.Fake <AlternativeMapper>(); _calculationMethodCacheMapper = A.Fake <CalculationMethodCacheMapper>(); _processMapper = A.Fake <CompoundProcessMapper>(); _compoundFactory = A.Fake <ICompoundFactory>(); _valueOriginMapper = A.Fake <ValueOriginMapper>(); sut = new CompoundMapper(_parameterMapper, _alternativeMapper, _calculationMethodCacheMapper, _processMapper, _valueOriginMapper, _compoundFactory); _compound = new Model.Compound { Name = "Compound", Description = "Description" }; _pkaValueOrigin = new ValueOrigin { Method = ValueOriginDeterminationMethods.InVitro, Description = "PKA" }; _snapshotValueOrigin = new Snapshots.ValueOrigin { Method = ValueOriginDeterminationMethodId.InVivo, Description = "PKA" }; addPkAParameters(_compound, 0, 8, CompoundType.Base); addPkAParameters(_compound, 1, 4, CompoundType.Acid); addPkAParameters(_compound, 2, 7, CompoundType.Neutral); _compoundIntestinalPermeabilityAlternativeGroup = createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_INTESTINAL_PERMEABILITY); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_LIPOPHILICITY)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_FRACTION_UNBOUND)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_SOLUBILITY)); _compound.AddParameterAlternativeGroup(createParameterAlternativeGroup(CoreConstants.Groups.COMPOUND_PERMEABILITY)); _compound.AddParameterAlternativeGroup(_compoundIntestinalPermeabilityAlternativeGroup); _compoundIntestinalPermeabilityAlternativeGroup.DefaultAlternative.IsDefault = true; //Calculated alternative will not be the default alternative for intestinal perm _calculatedAlternative = new ParameterAlternative { Name = PKSimConstants.UI.CalculatedAlernative, IsDefault = false }; _compoundIntestinalPermeabilityAlternativeGroup.AddAlternative(_calculatedAlternative); //Mapping of a calculated alternative returns null A.CallTo(() => _alternativeMapper.MapToSnapshot(_calculatedAlternative)).Returns(Task.FromResult <Alternative>(null)); _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue(1).WithName(CoreConstants.Parameters.IS_SMALL_MOLECULE)); _compound.Add(DomainHelperForSpecs.ConstantParameterWithValue((int)PlasmaProteinBindingPartner.Glycoprotein).WithName(CoreConstants.Parameters.PLASMA_PROTEIN_BINDING_PARTNER)); _partialProcess = new EnzymaticProcess().WithName("EnzymaticProcess"); _systemicProcess = new SystemicProcess().WithName("SystemicProcess"); _compound.AddProcess(_partialProcess); _compound.AddProcess(_systemicProcess); _calculationMethodCacheSnapshot = new CalculationMethodCache(); A.CallTo(() => _calculationMethodCacheMapper.MapToSnapshot(_compound.CalculationMethodCache)).Returns(_calculationMethodCacheSnapshot); _snapshotProcess1 = new CompoundProcess(); _snapshotProcess2 = new CompoundProcess(); A.CallTo(() => _processMapper.MapToSnapshot(_partialProcess)).Returns(_snapshotProcess1); A.CallTo(() => _processMapper.MapToSnapshot(_systemicProcess)).Returns(_snapshotProcess2); _molweightParameter = DomainHelperForSpecs.ConstantParameterWithValue(400).WithName(Constants.Parameters.MOL_WEIGHT); _molweightParameter.ValueOrigin.Method = ValueOriginDeterminationMethods.InVivo; //Do not update F value origin to ensure that it's being synchronized when mapping from snapshot _halogenFParameter = DomainHelperForSpecs.ConstantParameterWithValue(5).WithName(Constants.Parameters.F); _compound.Add(_molweightParameter); _compound.Add(_halogenFParameter); return(_completed); }
public ITreeNode CreateFor(SystemicProcess systemicProcess) => new CompoundProcessNode(systemicProcess);
private void addSystemicProcessToView(SystemicProcess systemicProcess) { var node = addSystemicProcessToTree(systemicProcess, _view.NodeByType(_systemicProcessToRootNodeTypeMapper.MapFrom(systemicProcess.SystemicProcessType))); _view.AddNode(node); }
private ITreeNode addSystemicProcessToTree(SystemicProcess systemicProcess, ITreeNode systemicProcessContainerNode) { return(_treeNodeFactory.CreateFor(systemicProcess).Under(systemicProcessContainerNode)); }
protected override Task Context() { _calculationMethodCacheMapper = A.Fake <CalculationMethodCacheMapper>(); _processMappingMapper = A.Fake <ProcessMappingMapper>(); _logger = A.Fake <ILogger>(); _project = new PKSimProject(); _calculationMethodSnapshot = new CalculationMethodCache(); sut = new CompoundPropertiesMapper(_calculationMethodCacheMapper, _processMappingMapper, _logger); _compoundGroupSelectionOneAlternative = new CompoundGroupSelection { AlternativeName = "ALT1", GroupName = "ALTERNATIVE_GROUP_1" }; _compoundGroupSelectionTwoAlternatives = new CompoundGroupSelection { AlternativeName = "ALT2", GroupName = "ALTERNATIVE_GROUP_2" }; _compound = new Compound { Name = "COMP", }; _protocol = new SimpleProtocol { Name = "PROTOCOL" }; _parameterAlternativeGroupWithOneAlternative = new ParameterAlternativeGroup { Name = _compoundGroupSelectionOneAlternative.GroupName }; _parameterAlternativeGroupWithTwoAlternatives = new ParameterAlternativeGroup { Name = _compoundGroupSelectionTwoAlternatives.GroupName }; _parameterAlternativeGroupWithTwoAlternatives.AddAlternative(new ParameterAlternative { Name = "ALT1" }); _parameterAlternativeGroupWithTwoAlternatives.AddAlternative(new ParameterAlternative { Name = "ALT2" }); _compound.AddParameterAlternativeGroup(_parameterAlternativeGroupWithOneAlternative); _compound.AddParameterAlternativeGroup(_parameterAlternativeGroupWithTwoAlternatives); _compoundProperties = new Model.CompoundProperties(); _compoundProperties.AddCompoundGroupSelection(_compoundGroupSelectionOneAlternative); _compoundProperties.AddCompoundGroupSelection(_compoundGroupSelectionTwoAlternatives); _compoundProperties.Compound = _compound; _enzymaticProcess = new EnzymaticProcess { Name = "EnzymaticProcess" }; _anotherEnzymaticProcess = new EnzymaticProcess { Name = "AnotherEnzymaticProcess", MoleculeName = "CYP3A4" }; _specificBindingProcess = new SpecificBindingPartialProcess { Name = "SpecificBinding" }; _gfrTransportProcess = new SystemicProcess { Name = "Transport", SystemicProcessType = SystemicProcessTypes.GFR }; _hepaticEnzymaticProcess = new SystemicProcess { Name = "Plasma Clearance", SystemicProcessType = SystemicProcessTypes.Hepatic }; _compound.AddProcess(_enzymaticProcess); _compound.AddProcess(_specificBindingProcess); _compound.AddProcess(_gfrTransportProcess); _compound.AddProcess(_hepaticEnzymaticProcess); _enzymaticPartialProcessSelection = new EnzymaticProcessSelection { ProcessName = _enzymaticProcess.Name }; _noEnzymaticSystemicProcessSelection = new SystemicProcessSelection { ProcessType = SystemicProcessTypes.Hepatic }; _specificBindingPartialProcessSelection = new ProcessSelection { ProcessName = _specificBindingProcess.Name }; _transportSystemicProcessSelection = new SystemicProcessSelection { ProcessName = _gfrTransportProcess.Name, ProcessType = _gfrTransportProcess.SystemicProcessType, }; _noEnzymaticPartialProcessSelection = new EnzymaticProcessSelection { MoleculeName = _anotherEnzymaticProcess.MoleculeName }; _compoundProperties.Processes.MetabolizationSelection.AddPartialProcessSelection(_enzymaticPartialProcessSelection); _compoundProperties.Processes.MetabolizationSelection.AddPartialProcessSelection(_noEnzymaticPartialProcessSelection); _compoundProperties.Processes.MetabolizationSelection.AddSystemicProcessSelection(_noEnzymaticSystemicProcessSelection); _compoundProperties.Processes.SpecificBindingSelection.AddPartialProcessSelection(_specificBindingPartialProcessSelection); _compoundProperties.Processes.TransportAndExcretionSelection.AddSystemicProcessSelection(_transportSystemicProcessSelection); _snapshotProcess1 = new CompoundProcessSelection { Name = _enzymaticPartialProcessSelection.ProcessName }; _snapshotProcess2 = new CompoundProcessSelection { Name = _specificBindingPartialProcessSelection.ProcessName }; _snapshotProcess3 = new CompoundProcessSelection { Name = _transportSystemicProcessSelection.ProcessName }; _snapshotProcess4 = new CompoundProcessSelection { SystemicProcessType = _noEnzymaticSystemicProcessSelection.ProcessType.SystemicProcessTypeId.ToString() }; _snapshotProcess5 = new CompoundProcessSelection { MoleculeName = _noEnzymaticPartialProcessSelection.MoleculeName }; _formulation = new Formulation { Id = "123456" }; _compoundProperties.ProtocolProperties.Protocol = _protocol; _compoundProperties.ProtocolProperties.AddFormulationMapping(new FormulationMapping { FormulationKey = "F1", TemplateFormulationId = _formulation.Id }); _project.AddBuildingBlock(_formulation); A.CallTo(() => _calculationMethodCacheMapper.MapToSnapshot(_compoundProperties.CalculationMethodCache)).Returns(_calculationMethodSnapshot); A.CallTo(() => _processMappingMapper.MapToSnapshot(_enzymaticPartialProcessSelection)).Returns(_snapshotProcess1); A.CallTo(() => _processMappingMapper.MapToSnapshot(_specificBindingPartialProcessSelection)).Returns(_snapshotProcess2); A.CallTo(() => _processMappingMapper.MapToSnapshot(_transportSystemicProcessSelection)).Returns(_snapshotProcess3); A.CallTo(() => _processMappingMapper.MapToSnapshot(_noEnzymaticSystemicProcessSelection)).Returns(_snapshotProcess4); A.CallTo(() => _processMappingMapper.MapToSnapshot(_noEnzymaticPartialProcessSelection)).Returns(_snapshotProcess5); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotProcess1, _enzymaticProcess)).Returns(_enzymaticPartialProcessSelection); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotProcess2, _specificBindingProcess)).Returns(_specificBindingPartialProcessSelection); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotProcess3, _gfrTransportProcess)).Returns(_transportSystemicProcessSelection); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotProcess4, A <NotSelectedSystemicProcess> ._)).Returns(_noEnzymaticSystemicProcessSelection); A.CallTo(() => _processMappingMapper.MapToModel(_snapshotProcess5, A <EnzymaticProcess> ._)).Returns(_noEnzymaticPartialProcessSelection); return(_completed); }
public ITreeNode CreateFor(SystemicProcess systemicProcess) { return(new CompoundProcessNode(systemicProcess)); }