Esempio n. 1
0
 private static void validateZoneValues(IndividualMolecule molecule)
 {
     CoreConstants.Compartment.LiverZones.Each(z =>
     {
         var expressionContainer = molecule.ExpressionContainer(z);
         expressionContainer.OrganPath.PathAsString.ShouldBeEqualTo(new[] { Constants.ORGANISM, CoreConstants.Organ.Liver, z }.ToPathString());
         expressionContainer.RelativeExpression.ShouldBeEqualTo(10);
         expressionContainer.RelativeExpressionNorm.ShouldBeEqualTo(1);
         expressionContainer.ContainerName = z;
     });
 }
Esempio n. 2
0
        private void updateOntogeny(IndividualMolecule molecule)
        {
            var liver = molecule.ExpressionContainer(CoreConstants.Organ.Liver);

            if (liver == null)
            {
                return;
            }

            var ontogenyFactorLiver = liver.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);

            if (ontogenyFactorLiver != null)
            {
                molecule.Add(ontogenyFactorLiver);
            }

            IParameter ontogenyFactorDuodenum = null;
            var        duodenum = molecule.ExpressionContainer(CoreConstants.Compartment.Duodenum);

            if (duodenum != null)
            {
                ontogenyFactorDuodenum = duodenum.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);
            }

            //remove old ontogeny factor parameter in container
            foreach (var expressionContainer in molecule.AllExpressionsContainers())
            {
                var ontogenyFactor = expressionContainer.Parameter(CoreConstants.Parameters.ONTOGENY_FACTOR);
                if (ontogenyFactor != null)
                {
                    expressionContainer.RemoveChild(ontogenyFactor);
                }
            }

            if (ontogenyFactorDuodenum != null)
            {
                ontogenyFactorDuodenum.Name = CoreConstants.Parameters.ONTOGENY_FACTOR_GI;
                molecule.Add(ontogenyFactorDuodenum);
            }
        }
Esempio n. 3
0
        private void updateLiverMoleculeExpression(IndividualMolecule molecule)
        {
            var liverContainer = molecule.ExpressionContainer(CoreConstants.Organ.Liver);

            if (liverContainer == null)
            {
                return;
            }

            LIVER_ZONES.Each(z =>
            {
                var zoneContainer = _cloner.Clone(liverContainer).WithName(z);
                zoneContainer.OrganPath.Add(z);
                zoneContainer.ContainerName = z;
                molecule.Add(zoneContainer);
            });

            molecule.RemoveChild(liverContainer);
        }