protected override async Task Context() { await base.Context(); _snapshot = await sut.MapToSnapshot(_enzymaticProcess); _templateProcess = new EnzymaticProcess(); _templateProcess.InternalName = _snapshot.InternalName; A.CallTo(() => _compoundProcessRepository.ProcessByName(_snapshot.InternalName)).Returns(_templateProcess); _cloneOfTemplate = new EnzymaticProcess(); _cloneOfTemplate.InternalName = _snapshot.InternalName; A.CallTo(() => _cloner.Clone((Model.CompoundProcess)_templateProcess)).Returns(_cloneOfTemplate); _snapshot.Description = null; _cloneOfTemplate.Description = "Description of template from database"; _snapshot.Molecule = "CYP3A4"; _snapshot.Metabolite = "Meta"; _snapshot.DataSource = "Lab"; _snapshotParameter = new Parameter().WithName("Km"); _snapshot.Parameters = new [] { _snapshotParameter }; _processParameter = DomainHelperForSpecs.ConstantParameterWithValue(5).WithName("Km"); _cloneOfTemplate.Add(_processParameter); }
protected override void Context() { base.Context(); _template1 = new EnzymaticProcess().WithName("Proc1"); _template1.InternalName = "Proc1"; _template1.MetaboliteName = "META"; _template2 = new EnzymaticProcess().WithName("Proc2"); _template2.InternalName = "Proc2"; _allProcessTemplates.AddRange(new[] { _template1, _template2 }); _process1DTO = new PartialProcessDTO(_template1) { MoleculeName = "Protein", DataSource = "Lab" }; _process2DTO = new PartialProcessDTO(_template2); A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template1, _compound)).Returns(_template1); A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template2, _compound)).Returns(_template2); A.CallTo(() => _processMapper.MapFrom(_template1)).Returns(_process1DTO); A.CallTo(() => _processMapper.MapFrom(_template2)).Returns(_process2DTO); A.CallTo(() => _partialProcessMapper.MapFrom(_template1, _compound)).Returns(_process1DTO); A.CallTo(() => _partialProcessMapper.MapFrom(_template2, _compound)).Returns(_process2DTO); sut.CreateProcess(_compound, _allProcessTemplates); A.CallTo(() => _view.BindTo(A <EnzymaticProcessDTO> ._)) .Invokes(x => _enzymaticPartialProcessDTO = x.GetArgument <EnzymaticProcessDTO>(0)); }
protected override void Because() { _enzymaticProcess = new EnzymaticProcess(); sut.CreateProcess(_compound, new List <CompoundProcess> { _enzymaticProcess }); }
public EnzymaticProcessDTO MapFrom(EnzymaticProcess compoundProcess) { var dto = new EnzymaticProcessDTO(compoundProcess); SetProperties(compoundProcess, dto); dto.Metabolite = compoundProcess.MetaboliteName; return(dto); }
protected override void Context() { base.Context(); _newMetabolite = "newMetabolite"; _enzymaticProcess = new EnzymaticProcess(); sut.InitializeWith(A.Fake <ICommandCollector>()); sut.Edit(_enzymaticProcess); }
protected override void Context() { base.Context(); _metabolite = "metabolite"; _process = new EnzymaticProcess { MetaboliteName = _metabolite }; }
protected override void Context() { _partialProc = new EnzymaticProcess() .WithName("Tralala") .WithId("Trululu"); _partialProc.MoleculeName = "E1"; _partialProc.DataSource = "DataSource"; sut = new PartialProcessToPartialProcessDTOMapper(); }
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); }
protected override void Context() { base.Context(); _enzymaticProcess = new EnzymaticProcess(); _dto = new EnzymaticProcessDTO(_enzymaticProcess) { Name = "myProcessDTO" }; A.CallTo(() => _enzymaticProcessToEnzymaticProcessDTOMapper.MapFrom(_enzymaticProcess)).Returns(_dto); }
protected EnzymaticProcessSelection ProcessSelectionFor(EnzymaticProcess process) { var templateCompound = process.ParentCompound; return(_simulation.CompoundPropertiesFor(templateCompound.Name) .Processes .MetabolizationSelection.AllPartialProcesses() .OfType <EnzymaticProcessSelection>() .Find(x => x.ProcessName == process.Name)); }
protected IMoleculeAmount MetaboliteAmountInLiverZoneCellFor(EnzymaticProcess process, string liverZone, string metaboliteName) { var enzymaticProcessSelection = ProcessSelectionFor(process); var liverPeriportalCell = _simulation.Model.Root.EntityAt <Container>(Constants.ORGANISM, CoreConstants.Organ.LIVER, liverZone, CoreConstants.Compartment.INTRACELLULAR); var dynamicMetaboliteName = enzymaticProcessSelection.ProductName(CoreConstants.Molecule.Metabolite); return(liverPeriportalCell.EntityAt <IMoleculeAmount>(metaboliteName ?? dynamicMetaboliteName)); }
public override void GlobalContext() { base.GlobalContext(); _metaboliteMetabolizationCYP3A4 = AddEnzymaticProcess(_metabolite, _cyp3A4); _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, new[] { _compound, _metabolite }, new[] { _protocol, null }).DowncastTo <IndividualSimulation>(); //Compound => Metabolite1 ProcessSelectionFor(_parentMetabolizationCYP3A4).MetaboliteName = _metabolite.Name; DomainFactoryForSpecs.AddModelToSimulation(_simulation); }
public ChangeEnzymaticProcessMetaboliteNameCommand(EnzymaticProcess process, string newMetabolite, IExecutionContext context) { _process = process; BuildingBlockId = context.BuildingBlockIdContaining(_process); _processId = process.Id; _newMetabolite = newMetabolite; CommandType = PKSimConstants.Command.CommandTypeEdit; Description = PKSimConstants.Command.SetMetaboliteForProcess(_newMetabolite, process.Name, process.MetaboliteName); ObjectType = PKSimConstants.ObjectTypes.MetabolizingEnzyme; context.UpdateBuildinBlockProperties(this, context.BuildingBlockContaining(_process)); }
protected override void Context() { _simulation = A.Fake <Simulation>(); _individual = new Individual(); _compound = new Compound().WithName("Comp"); A.CallTo(() => _simulation.Individual).Returns(_individual); A.CallTo(() => _simulation.Compounds).Returns(new [] { _compound }); sut = new PartialProcessRetriever(); _notSelectedPartialProcess = A.Fake <EnzymaticProcess>(); sut.NotSelectedPartialProcess = _notSelectedPartialProcess; }
protected override void Context() { _context = A.Fake <IExecutionContext>(); _newMetabolite = "newMetabolite"; _oldMetabolite = "oldMetabolite"; _process = new EnzymaticProcess() { MetaboliteName = _oldMetabolite }; sut = new ChangeEnzymaticProcessMetaboliteNameCommand(_process, _newMetabolite, _context); A.CallTo(() => _context.Get <EnzymaticProcess>(_process.Id)).Returns(_process); }
public override void GlobalContext() { base.GlobalContext(); _compound = DomainFactoryForSpecs.CreateStandardCompound().WithName("Parent"); _metabolite = DomainFactoryForSpecs.CreateStandardCompound().WithName("Metabolite"); _individual = DomainFactoryForSpecs.CreateStandardIndividual(); _protocol = DomainFactoryForSpecs.CreateStandardIVBolusProtocol(); _cyp3A4 = AddEnzymeTo(_individual, "CYP3A4"); _parentMetabolizationCYP3A4 = AddEnzymaticProcess(_compound, _cyp3A4); _cyp2D6 = AddEnzymeTo(_individual, "CYP2D6"); _parentMetabolizationCYP2D6 = AddEnzymaticProcess(_compound, _cyp2D6); }
protected override void Context() { base.Context(); _enzymaticProcess = new EnzymaticProcess { ParentContainer = new Compound { Name = "Parent" } }; A.CallTo(() => _buildingBlockRepository.All <Compound>()).Returns(new List <Compound> { _enzymaticProcess.ParentCompound, new Compound(), new Compound() }); A.CallTo(() => _view.UpdateAvailableCompounds(A <IEnumerable <string> > ._)) .Invokes(x => _allCompoundNames = x.GetArgument <IEnumerable <string> >(0).ToList()); sut.Edit(_enzymaticProcess); }
protected override void Context() { base.Context(); _pp1 = A.Fake <EnzymaticProcess>().WithName("pp1"); _pp1.MoleculeName = "enzyme1"; _pp2 = A.Fake <EnzymaticProcess>().WithName("pp2"); _pp2.MoleculeName = "enzyme1"; _pp3 = A.Fake <EnzymaticProcess>().WithName("pp3"); _pp3.MoleculeName = "enzyme3"; _pp4 = A.Fake <EnzymaticProcess>().WithName("pp4"); _pp4.MoleculeName = "enzyme4"; _pp5 = A.Fake <EnzymaticProcess>().WithName("pp5"); _pp5.MoleculeName = "enzyme5"; _unknowProteinName = "unknow"; _moleculeName = "TITI"; _compound.AddProcess(_pp1); _compound.AddProcess(_pp2); _compound.AddProcess(_pp3); _compound.AddProcess(_pp4); _compound.AddProcess(_pp5); _enzyme = A.Fake <IndividualEnzyme>().WithName(_pp3.MoleculeName); _anotherProtein = A.Fake <IndividualEnzyme>().WithName(_moleculeName); _notMappedProtein = A.Fake <IndividualEnzyme>().WithName("not mapped"); _individual.AddMolecule(_enzyme); _individual.AddMolecule(_anotherProtein); _individual.AddMolecule(_notMappedProtein); _availableProcesses = new List <ProcessSelection> { new ProcessSelection { ProcessName = _pp3.Name, MoleculeName = _notMappedProtein.Name, CompoundName = "DOES NOT EXIST" }, new ProcessSelection { ProcessName = _pp4.Name, MoleculeName = _moleculeName, CompoundName = _compound.Name }, new ProcessSelection { ProcessName = _pp5.Name, MoleculeName = _unknowProteinName, CompoundName = _compound.Name } }; }
public void should_be_able_to_return_the_reference_templates_for_a_compound_with_metabolism() { var firstCompoundTemplate = sut.AllTemplatesFor(TemplateType.Compound).First(); var compound = DomainFactoryForSpecs.CreateStandardCompound(); var enzymaticProcess = new EnzymaticProcess { MoleculeName = "CYP3A4", MetaboliteName = "Meta" }; compound.AddProcess(enzymaticProcess); var references = sut.AllReferenceTemplatesFor(firstCompoundTemplate, compound); references.Count.ShouldBeEqualTo(1); var reference = references[0]; reference.Url.ShouldBeEqualTo(firstCompoundTemplate.Url); reference.Name.ShouldBeEqualTo(enzymaticProcess.MetaboliteName); reference.Type.ShouldBeEqualTo(TemplateType.Compound); }
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(); _template1 = new EnzymaticProcess().WithName("Proc1"); _template1.InternalName = "Proc1"; _template2 = new EnzymaticProcess().WithName("Proc2"); _template2.InternalName = "Proc2"; _allProcessTemplates.AddRange(new[] { _template1, _template2 }); _process1DTO = new PartialProcessDTO(_template1); _process1DTO.MoleculeName = "Protein"; _process1DTO.DataSource = "Lab"; _process2DTO = new PartialProcessDTO(_template2); A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template1, _compound)).Returns(_template1); A.CallTo(() => _compoundProcessTask.CreateProcessFromTemplate <CompoundProcess>(_template2, _compound)).Returns(_template2); A.CallTo(() => _processMapper.MapFrom(_template1)).Returns(_process1DTO); A.CallTo(() => _processMapper.MapFrom(_template2)).Returns(_process2DTO); A.CallTo(() => _partialProcessMapper.MapFrom(_template1, _compound)).Returns(_process1DTO); A.CallTo(() => _partialProcessMapper.MapFrom(_template2, _compound)).Returns(_process2DTO); sut.CreateProcess(_compound, _allProcessTemplates); }
protected override void Context() { base.Context(); _process = new EnzymaticProcess().WithName("P1"); _process.InternalName = "internalNAme"; _drug = new MoleculeBuilder().WithName("drug"); _metabolite = new MoleculeBuilder().WithName("metabolite"); _enzymeName = "P1"; _formulaCache = new FormulaCache(); _kinetic = new ExplicitFormula().WithId("trala"); _kinetic.AddObjectPath(new FormulaUsablePath(new[] { "Organism", CoreConstants.KeyWords.Molecule })); _kinetic.AddObjectPath(new FormulaUsablePath(new[] { "Organism", CoreConstants.KeyWords.Protein })); _parameterFormula = new ExplicitFormula(); _parameterFormula.AddObjectPath(new FormulaUsablePath(new[] { "Liver", CoreConstants.KeyWords.Molecule })); var pkSimReaction = new PKSimReaction().WithName("template"); A.CallTo(() => _simulationActiveProcessRepository.ProcessFor <PKSimReaction>(_process.InternalName)).Returns(pkSimReaction); pkSimReaction.Formula = _kinetic; A.CallTo(() => _cloneManager.Clone(pkSimReaction)).Returns(pkSimReaction); }
protected override Task Context() { _parameterMapper = A.Fake <ParameterMapper>(); _representationInfoRepository = A.Fake <IRepresentationInfoRepository>(); _compoundProcessRepository = A.Fake <ICompoundProcessRepository>(); _cloner = A.Fake <ICloner>(); _speciesRepository = A.Fake <ISpeciesRepository>(); _compoundProcessTask = A.Fake <ICompoundProcessTask>(); _logger = A.Fake <IOSPSuiteLogger>(); sut = new CompoundProcessMapper(_parameterMapper, _representationInfoRepository, _compoundProcessRepository, _cloner, _speciesRepository, _compoundProcessTask, _logger); _enzymaticProcess = new EnzymaticProcess { Name = "Enzymatic Process", Description = "Process description", InternalName = "A", DataSource = "B", MetaboliteName = "Meta" }; //Same description as DB A.CallTo(() => _representationInfoRepository.DescriptionFor(RepresentationObjectType.PROCESS, _enzymaticProcess.InternalName)).Returns(_enzymaticProcess.Description); _enzymaticProcessWithSpecies = new EnzymaticProcessWithSpecies { Name = "Enzymatic process with species", Description = "toto", Species = new Species().WithName("Human"), InternalName = "C", DataSource = "D", }; A.CallTo(() => _representationInfoRepository.DescriptionFor(RepresentationObjectType.PROCESS, _enzymaticProcessWithSpecies.InternalName)).Returns("Process description"); return(Task.FromResult(true)); }
private static IPKSimCommand getChangeEnzymaticProcessMetaboliteCommand(EnzymaticProcess process, string newMetabolite, IExecutionContext executionContext) { return(new ChangeEnzymaticProcessMetaboliteNameCommand(process, newMetabolite, executionContext)); }
public IPKSimCommand SetMetaboliteForEnzymaticProcess(EnzymaticProcess process, string newMetabolite) { return(getChangeEnzymaticProcessMetaboliteCommand(process, newMetabolite, _executionContext).Run(_executionContext)); }
protected override void Context() { base.Context(); _process = new EnzymaticProcess(); _processNode = new ObjectWithIdAndNameNode <EnzymaticProcess>(_process); }
public override void RestoreExecutionData(IExecutionContext context) { base.RestoreExecutionData(context); _process = context.Get <EnzymaticProcess>(_processId); }
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); }
protected override void ClearReferences() { _process = null; }
protected override async Task Because() { _newEnzymaticProcess = await sut.MapToModel(_snapshot, new SnapshotContext()) as EnzymaticProcess; }