Exemple #1
0
        public IMoleculeBuilder GetMoleculeBySBMLId(string sbmlSpeciesId)
        {
            var moleculeInformation = MoleculeInformation.FirstOrDefault(info => info.SpeciesIds.Exists(s => s == sbmlSpeciesId));

            if (moleculeInformation == null)
            {
                return(null);
            }
            var molecule = moleculeInformation.GetMoleculeBuilder();

            return(molecule);
        }
Exemple #2
0
        protected override void Context()
        {
            base.Context();
            _sbmlModel       = new Model(3, 1);
            _sbmlInformation = new SBMLInformation();

            //one compartment reaction
            _reaction = _sbmlModel.createReaction();
            _reaction.setId("r1");

            //reaction partner
            var s1 = _sbmlModel.createSpecies();

            s1.setId("s1");
            s1.setCompartment("default");

            var s2 = _sbmlModel.createSpecies();

            s2.setId("s2");
            s2.setCompartment("default");

            var m  = new MoleculeInformation(s1);
            var m2 = new MoleculeInformation(s2);

            _sbmlInformation.MoleculeInformation.Add(m);
            _sbmlInformation.MoleculeInformation.Add(m2);

            //SRef
            var s1Ref = _reaction.createReactant();

            s1Ref.setSpecies("s1");
            s1Ref.setStoichiometry(1);

            var s2Ref = _reaction.createProduct();

            s2Ref.setSpecies("s2");
            s2Ref.setStoichiometry(2);
            _reaction.addProduct(s2Ref);

            //Modifier
            var mod = _reaction.createModifier();

            mod.setId("mod");
            mod.setName("mod");
            mod.setSpecies("s1");

            //Kinetic Law
            var kl = _reaction.createKineticLaw();

            kl.setId("kl");
            kl.setMath(libsbml.parseFormula("2*3"));
        }
Exemple #3
0
        /// <summary>
        ///     Creates a Molecule.
        /// </summary>
        private void CreateMolecule(Species species, string name, bool existant)
        {
            if (existant)
            {
                name = name + _counter;
                _counter++;
            }

            var mbuilder = _moleculeBuilderFactory.Create(MoleculeBuildingBlock.FormulaCache)
                           .WithName(name)
                           .WithDescription(SBMLConstants.SBML_NOTES + species.getNotesString() + species.getId());

            var molInfo = new MoleculeInformation(species, mbuilder);

            _sbmlInformation.MoleculeInformation.Add(molInfo);

            var container = GetContainerFromCompartment_(species.getCompartment());

            if (container != null)
            {
                molInfo.AddContainer(container);
            }
            MoleculeBuildingBlock.Add(mbuilder);
        }