public void should_add_the_concentration_parameter_to_the_created_molecule_builder_as_a_local_parameter()
        {
            var param = _result.Parameter(CoreConstants.Parameters.CONCENTRATION);

            param.ShouldNotBeNull();
            param.BuildMode.ShouldBeEqualTo(ParameterBuildMode.Local);
        }
        public void should_override_the_parameters_define_as_formula()
        {
            var permParameter = _molecule.Parameter(CoreConstants.Parameters.PERMEABILITY);

            permParameter.IsFixedValue.ShouldBeFalse();
            permParameter.Formula.ShouldBeAnInstanceOf <ConstantFormula>();
            permParameter.Value.ShouldBeEqualTo(_alternativePerm2.Parameter(CoreConstants.Parameters.PERMEABILITY).Value);
        }
        public void should_let_the_parameter_defined_as_formula_untouched_but_not_editable()
        {
            var permParameter = _molecule.Parameter(CoreConstants.Parameters.PERMEABILITY);

            permParameter.IsFixedValue.ShouldBeFalse();
            permParameter.Formula.ShouldBeAnInstanceOf <ExplicitFormula>();
            permParameter.Editable.ShouldBeFalse();
        }
        private void updateAlternativeParameters(ParameterAlternative alternative, IMoleculeBuilder drug)
        {
            var allParameters = alternative.AllParameters().ToList();

            foreach (var alternativeParameter in allParameters)
            {
                //Parameter does not exist in drug?
                var drugParameter = drug.Parameter(alternativeParameter.Name);
                if (drugParameter == null)
                {
                    continue;
                }

                //parameter is a rate. parameter in molecule should be readonly
                if (!alternativeParameter.Formula.IsConstant())
                {
                    drugParameter.Editable = false;
                }

                //target parameter is a rate and source parmaeter is constant
                else if (!drugParameter.Formula.IsConstant())
                {
                    drugParameter.Formula = _objectBaseFactory.Create <ConstantFormula>().WithValue(alternativeParameter.Value);
                }

                _parameterSetUpdater.UpdateValue(alternativeParameter, drugParameter);

                //only update value description if the alternative contains one and one only parameter
                if (allParameters.Count == 1)
                {
                    drugParameter.ValueDescription = alternative.Description;
                }
            }
        }
Example #5
0
 private void removeGlobalExpressionsParameterFor(IMoleculeBuilder molecule)
 {
     CoreConstants.Parameters.AllGlobalRelExpParameters.Each(parameterName =>
     {
         var parameter = molecule.Parameter(parameterName);
         if (parameter != null)
         {
             molecule.RemoveChild(parameter);
         }
     });
 }
        private void addDrugParametersTo(IMoleculeBuilder molecule, IFormulaCache formulaCache)
        {
            var allExistingParameters = molecule.AllParameters().ToList();

            molecule.Name = CoreConstants.Molecule.Drug;
            _parameterContainerTask.AddMoleculeParametersTo(molecule, formulaCache);
            foreach (var parameter in molecule.AllParameters().Where(p => !allExistingParameters.Contains(p)))
            {
                parameter.BuildingBlockType       = PKSimBuildingBlockType.Simulation;
                parameter.Visible                 = false;
                parameter.CanBeVariedInPopulation = false;
                molecule.Add(parameter);
            }

            setDefaultParameterValues(molecule);

            //default value for floating in lumen should be 0
            molecule.Parameter(CoreConstants.Parameter.IS_FLOATING_IN_LUMEN).Value = 0;
        }
Example #7
0
        private void updateAlternativeParameters(ParameterAlternative alternative, IMoleculeBuilder drug, IFormulaCache formulaCache)
        {
            var allParameters = alternative.AllParameters().ToList();

            foreach (var alternativeParameter in allParameters)
            {
                //Parameter does not exist in drug?
                var drugParameter = drug.Parameter(alternativeParameter.Name);
                if (drugParameter == null)
                {
                    continue;
                }

                if (alternativeParameter.Formula.IsTable())
                {
                    var tableFormula = _cloner.Clone(alternativeParameter.Formula);
                    formulaCache.Add(tableFormula);
                    drugParameter.Formula = tableFormula;
                }

                //parameter is a rate. parameter in molecule should be readonly
                else if (!alternativeParameter.Formula.IsConstant())
                {
                    drugParameter.Editable = false;
                }

                //target parameter is a rate and source parameter is constant
                else if (!drugParameter.Formula.IsConstant())
                {
                    drugParameter.Formula = _objectBaseFactory.Create <ConstantFormula>().WithValue(alternativeParameter.Value);
                }

                _parameterSetUpdater.UpdateValue(alternativeParameter, drugParameter);

                //Default parameter Default and visible may not match database default and need to be set according to alternative parameter
                drugParameter.IsDefault = alternativeParameter.IsDefault;
                drugParameter.Visible   = alternativeParameter.Visible;
            }
        }
Example #8
0
 public void should_update_the_molecule_weight_of_all_concentration_columns_related_to_a_molecule_with_a_mol_weight_parameter()
 {
     _concentrationColumn.DataInfo.MolWeight.ShouldBeEqualTo(_drug.Parameter(AppConstants.Parameters.MOLECULAR_WEIGHT).Value);
     _fractionColumn.DataInfo.MolWeight.ShouldBeNull();
 }
 public void should_remove_the_global_relative_expression_paramters_that_do_not_make_sense_for_trnasporter()
 {
     CoreConstants.Parameters.AllGlobalRelExpParameters.Each(parmaterName => _result.Parameter(parmaterName).ShouldBeNull());
 }
 public void should_set_the_default_values_of_all_default_parameter_into_the_molecule_that_where_fixed_by_the_user()
 {
     _molecule.Parameter(Constants.Parameters.MOL_WEIGHT).Value.ShouldBeEqualTo(_compound.Parameter(Constants.Parameters.MOL_WEIGHT).Value);
 }