Exemplo n.º 1
0
        private void fillReactions()
        {
            foreach (var flatProc in _flatProcessesRepository.All().Where(processIsNonTemplateReaction))
            {
                _allReactions.Add(_activeProcessMapper.MapFrom(flatProc).DowncastTo <PKSimReaction>());
            }

            _allReactions.Each(process => _parameterContainerTask.AddProcessBuilderParametersTo(process));
        }
        protected override void DoStart()
        {
            var query = _flatProcessesRepository.All().Where(processIsSimulationActiveProcess)
                        .MapAllUsing(_activeProcessMapper)
                        .Where(activeProcess => activeProcess != null);

            _allSimulationActiveProcesses.AddRange(query);

            _allSimulationActiveProcesses.Each(process => _parameterContainerTask.AddProcessBuilderParametersTo(process));
        }
        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);
        }
Exemplo n.º 4
0
        private void addInteractionParameters(Compound compound, IMoleculeBuilder drug, InteractionProperties interactionProperties)
        {
            foreach (var interactionProcess in compound.AllProcesses <InteractionProcess>())
            {
                if (!shouldGenerateInteractionContainer(interactionProperties, interactionProcess))
                {
                    continue;
                }

                var interactionContainer = _objectBaseFactory.Create <InteractionContainer>()
                                           .WithIcon(interactionProcess.Icon)
                                           .WithName(interactionProcess.InternalName);

                //only add global pamrameters to the intercation container
                _parameterContainerTask.AddProcessBuilderParametersTo(interactionContainer);
                _parameterSetUpdater.UpdateValuesByName(interactionProcess, interactionContainer);
                interactionContainer.Name = interactionProcess.Name;
                drug.AddInteractionContainer(interactionContainer);
            }
        }
Exemplo n.º 5
0
        public TransporterMoleculeContainer ActiveTransportFrom(CompoundProcess compoundProcess, IndividualTransporter transporter, IFormulaCache formulaCache)
        {
            var transporterMoleculeContainer = _objectBaseFactory.Create <TransporterMoleculeContainer>().WithName(compoundProcess.InternalName);

            transporterMoleculeContainer.Icon          = compoundProcess.Icon;
            transporterMoleculeContainer.TransportName = compoundProcess.Name;
            foreach (var inducedProcess in transporter.AllInducedProcesses())
            {
                var activeTransporterBuilder = activeTransportFrom(compoundProcess, inducedProcess, formulaCache);
                transporterMoleculeContainer.Icon      = activeTransporterBuilder.Icon;
                activeTransporterBuilder.TransportType = transporter.TransportType;
                transporterMoleculeContainer.AddActiveTransportRealization(activeTransporterBuilder);
                updateTransporterTagsFor(transporter, activeTransporterBuilder, inducedProcess);
            }

            _parameterContainerTask.AddProcessBuilderParametersTo(transporterMoleculeContainer);
            _parameterSetUpdater.UpdateValuesByName(compoundProcess.AllParameters(), transporterMoleculeContainer.Parameters);

            transporterMoleculeContainer.Name = transporter.Name;
            return(transporterMoleculeContainer);
        }