private TInteractionProcess createInteractionProcess <TInteractionProcess>(FlatProcess flatProcess) where TInteractionProcess : InteractionProcess { var interactionProcess = createProcessBaseOn <TInteractionProcess>(flatProcess); interactionProcess.InteractionType = mapInteractionTypeFrom(flatProcess); return(interactionProcess); }
public CompoundProcess MapFrom(FlatProcess flatProcess) { if (!flatProcess.IsTemplate) { throw new ArgumentException(PKSimConstants.Error.CompoundProcessDeclaredAsNotTemplate(flatProcess.Name)); } if (flatProcess.GroupName == CoreConstants.Groups.ENZYMATIC_STABILITY_INTRINSIC) { return(createProcessBaseOn <EnzymaticProcessWithSpecies>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.ENZYMATIC_STABILITY_PARTIAL) { return(createProcessBaseOn <EnzymaticProcess>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.SPECIFIC_BINDING) { return(createProcessBaseOn <SpecificBindingPartialProcess>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.ACTIVE_TRANSPORT_INTRINSIC) { return(createProcessBaseOn <TransportPartialProcessWithSpecies>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.ACTIVE_TRANSPORT) { return(createProcessBaseOn <TransportPartialProcess>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.IN_VITRO_PROCESSES_ENZYMATIC_STABILITY) { return(createProcessBaseOn <EnzymaticProcessWithSpecies>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.INHIBITION_PROCESSES) { return(createInteractionProcess <InhibitionProcess>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.INDUCTION_PROCESSES) { return(createInteractionProcess <InductionProcess>(flatProcess)); } if (flatProcess.GroupName == CoreConstants.Groups.IN_VITRO_PROCESSES_TOTAL_HEPATIC) { return(createSystemicProcess(flatProcess, SystemicProcessTypes.Hepatic)); } if (flatProcess.GroupName == CoreConstants.Groups.SYSTEMIC_PROCESSES) { return(createSystemicProcess(flatProcess, typeFrom(flatProcess))); } throw new ArgumentException($"Group '{flatProcess.GroupName}' unknown for compound"); }
private SystemicProcess createSystemicProcess(FlatProcess flatProcess, SystemicProcessType processType) { var systemicProcess = createProcessBaseOn <SystemicProcess>(flatProcess); systemicProcess.SystemicProcessType = processType; systemicProcess.Icon = processType.IconName; setDefaultSpeciesForProcess(systemicProcess); return(systemicProcess); }
private TProcess createProcessBaseOn <TProcess>(FlatProcess flatProcess) where TProcess : CompoundProcess { var newProcess = _entityBaseFactory.Create <TProcess>(); var repInfo = _representationInfoRepository.InfoFor(RepresentationObjectType.PROCESS, flatProcess.Name); newProcess.Name = flatProcess.Name; newProcess.InternalName = flatProcess.Name; newProcess.Description = repInfo.Description; newProcess.Icon = repInfo.IconName; setDefaultSpeciesForProcess(newProcess as ISpeciesDependentCompoundProcess); return(newProcess); }
public PKSimTransport MapFrom(FlatProcess flatProcess) { var transport = _entityBaseFactory.Create <PKSimTransport>() .WithName(flatProcess.Name) .WithDimension(_dimensionRepository.AmountPerTime); _parameterContainerTask.AddProcessBuilderParametersTo(transport); addDescriptorConditions(transport.SourceCriteria, ProcessTagType.Source, transport.Name); addDescriptorConditions(transport.TargetCriteria, ProcessTagType.Target, transport.Name); transport.CalculationMethod = flatProcess.CalculationMethod; transport.Rate = flatProcess.Rate; transport.Formula = _formulaFactory.RateFor(transport, new FormulaCache()); transport.CreateProcessRateParameter = flatProcess.CreateProcessRateParameter; return(transport); }
private IPKSimProcess createProcessFrom(FlatProcess flatProcess) { switch (flatProcess.ActionType) { case ProcessActionType.Reaction: var reaction = newReaction(); addReactionPartnersTo(reaction, flatProcess.Name); return(reaction); case ProcessActionType.Transport: return(_entityBaseFactory.Create <PKSimTransport>()); case ProcessActionType.Interaction: return(interactionProcessFor(flatProcess)); default: throw new ArgumentOutOfRangeException(flatProcess.ActionType.ToString()); } }
public IPKSimProcess MapFrom(FlatProcess flatProcess) { var activeProcess = createProcessFrom(flatProcess); if (activeProcess == null) { return(null); } activeProcess.Name = flatProcess.Name; activeProcess.CalculationMethod = flatProcess.CalculationMethod; activeProcess.Rate = flatProcess.Rate; activeProcess.Formula = _formulaFactory.RateFor(activeProcess.CalculationMethod, activeProcess.Rate, new FormulaCache()); var repInfo = _representationInfoRepository.InfoFor(RepresentationObjectType.PROCESS, activeProcess.Name); activeProcess.Icon = repInfo.IconName; updateTransporterDescriptors(activeProcess as PKSimTransport); activeProcess.CreateProcessRateParameter = flatProcess.CreateProcessRateParameter; activeProcess.Dimension = activeProcess.Formula.Dimension; return(activeProcess); }
private SystemicProcessType typeFrom(FlatProcess flatProcess) { if (flatProcess.ProcessType == CoreConstants.ProcessType.ELIMINATION_GFR) { return(SystemicProcessTypes.GFR); } if (flatProcess.ProcessType == CoreConstants.ProcessType.ELIMINATION) { return(SystemicProcessTypes.Renal); } if (flatProcess.ProcessType == CoreConstants.ProcessType.SECRETION) { return(SystemicProcessTypes.Biliary); } if (flatProcess.ProcessType == CoreConstants.ProcessType.METABOLIZATION) { return(SystemicProcessTypes.Hepatic); } throw new ArgumentException($"Systemic process type for process '{flatProcess.Name}' of type '{flatProcess.ProcessType}' unknown."); }
private bool processIsNonTemplateReaction(FlatProcess flatProcess) { return(!flatProcess.IsTemplate && flatProcess.ActionType == ProcessActionType.Reaction); }
private InteractionType mapInteractionTypeFrom(FlatProcess flatProcess) { return(EnumHelper.ParseValue <InteractionType>(flatProcess.ProcessType)); }
private bool processIsSimulationActiveProcess(FlatProcess process) { return(process.IsTemplate && CoreConstants.Groups.AllSimulationActiveProcesses.Contains(process.GroupName)); }
private IPKSimProcess interactionProcessFor(FlatProcess flatInteractionProcess) { var interactionType = EnumHelper.ParseValue <InteractionType>(flatInteractionProcess.ProcessType); return(interactionType.Is(InteractionType.ReactionInducer) ? newReaction() : null); }
private bool processIsApplication(FlatProcess process) { return(process.ProcessType == CoreConstants.ProcessType.APPLICATION); }
private bool processIsPassiveTransport(FlatProcess process) { return((process.ProcessType == CoreConstants.ProcessType.PASSIVE) && process.ActionType.Equals(ProcessActionType.Transport)); }