Beispiel #1
0
        public void BiasingParametersLocaleInfoConstructor()
        {
            var localeInfo = new BiasingParameters.LocaleInfo();

            Assert.AreEqual(string.Empty, localeInfo.Name);
            Assert.AreEqual(0, localeInfo.ReactionCount);
            Assert.IsEmpty(localeInfo.Reactions);
        }
Beispiel #2
0
        public void BiasingParametersLocaleInfoName()
        {
            const string name       = "test";
            var          localeInfo = new BiasingParameters.LocaleInfo {
                Name = name
            };

            Assert.AreEqual(name, localeInfo.Name);
        }
Beispiel #3
0
        public void Initialize()
        {
            CheckParameters();
            _rareEventValue = model.Parameters.First(p => p.Name == _reValName).Value;
            _rareEventTest  = new EqualTo(_reExpression, new ConstantValue(_rareEventValue));
            SetRareEventType();

            if (_biasingParametersFlag)
            {
                for (int i = 0; i < _reactions.NumReactions; i++)
                {
                    _gamma.Add(new double[_gammaSize]);
                    _propensityCutoff.Add(new double[_gammaSize - 1]);
                }

                _biasingParameters.RareEvent.ExpressionLocale = "global";
                _biasingParameters.RareEvent.ExpressionName   = _reExpressionName;

                foreach (var locale in modelInfo.Locales)
                {
                    var newLocaleInfo = new BiasingParameters.LocaleInfo {
                        Name = locale.Name
                    };
                    var        newReactionInfo = newLocaleInfo.Reactions;
                    LocaleInfo testLocale      = locale;
                    var        reactions       = modelInfo.Reactions.Where(r => r.Locale == testLocale);
                    newReactionInfo.AddRange(reactions.Select(reaction => new BiasingParameters.ReactionInfo {
                        Name = reaction.Name
                    }));
                    _biasingParameters.Locales.Add(newLocaleInfo);
                }
            }
            else
            {
                for (int i = 0; i < _reactions.NumReactions; i++)
                {
                    var localeIndex   = LocaleIndex(_reactions.Reactions[i]);
                    var reactionIndex = ReactionIndex(_reactions.Reactions[i], localeIndex);
                    var tempRareEvent = _biasingParameters.Locales[localeIndex].Reactions[reactionIndex].RareEvents[_biasingParameters.RareEvent.IntermediateRareEventCount - 1];
                    _gamma.Add(tempRareEvent.Gammas);
                    _propensityCutoff.Add(tempRareEvent.Thresholds);
                }
            }
        }
Beispiel #4
0
        public void BiasingParametersLocaleInfoReactions()
        {
            var localeInfo = new BiasingParameters.LocaleInfo {
                Name = "bar"
            };
            var rareEventInfo = new BiasingParameters.RareEventInfo {
                BinCount = 42
            };

            rareEventInfo.Gammas[0]     = Math.E;
            rareEventInfo.Thresholds[1] = Math.PI;
            var reactionInfo = new BiasingParameters.ReactionInfo {
                Name = "foo"
            };

            reactionInfo.RareEvents.Add(rareEventInfo);
            localeInfo.Reactions.Add(reactionInfo);
            Assert.AreEqual(1, localeInfo.ReactionCount);
            Assert.IsNotEmpty(localeInfo.Reactions);
            Assert.AreEqual(reactionInfo, localeInfo.Reactions[0]);
        }