/// <summary> /// Creates a MoBi ReactionPartner by a given SBML Species Reference /// </summary> private IReactionPartnerBuilder CreateReactionPartner(SpeciesReference speciesReference, Model model) { var molecule = _sbmlInformation.GetMoleculeBySBMLId(speciesReference.getSpecies()); if (molecule == null) { return(null); } IReactionPartnerBuilder productBuilder = new ReactionPartnerBuilder { MoleculeName = molecule.Name, }; if (speciesReference.isSetStoichiometryMath()) { CreateStoichiometryErrorMsg(speciesReference.getSpecies()); } productBuilder.StoichiometricCoefficient = speciesReference.isSetStoichiometry() ? speciesReference.getStoichiometry() : SBMLConstants.SBML_STOICHIOMETRY_DEFAULT; var species = GetSpeciesById(speciesReference.getSpecies(), model); if (species == null) { return(productBuilder); } if (species.getConstant() && species.getBoundaryCondition() == false) { productBuilder.StoichiometricCoefficient = 0; } return(productBuilder); }
private void addReactionPartnerTo(PKSimReaction reaction, FlatReactionPartner flatReactionPartner) { if (flatReactionPartner.Direction.Equals(CoreConstants.ORM.PROCESS_MOLECULE_DIRECTION_MODIFIER)) { //---- not Educt/Product, just a modifier reaction.AddModifier(flatReactionPartner.Molecule); return; } //---- from now on, must be educt/product var reactionPartner = new ReactionPartnerBuilder() { MoleculeName = flatReactionPartner.Molecule, StoichiometricCoefficient = flatReactionPartner.StoichCoeff }; if (flatReactionPartner.Direction.Equals(CoreConstants.ORM.PROCESS_MOLECULE_DIRECTION_IN)) { reaction.AddEduct(reactionPartner); return; } if (flatReactionPartner.Direction.Equals(CoreConstants.ORM.PROCESS_MOLECULE_DIRECTION_OUT)) { reaction.AddProduct(reactionPartner); return; } //invalid direction (should never happen) throw new ArgumentOutOfRangeException(flatReactionPartner.Direction); }
protected override void Context() { _simulation = new ModelCoreSimulation(); var root = new Container(); root.Add(new EventGroup()); _simulation.Model = new Model(); _simulation.Model.Root = root; _simulation.BuildConfiguration = new BuildConfiguration(); var reactionBuildingBlock = new ReactionBuildingBlock(); var reactionAtoB = new ReactionBuilder(); var reactionBtoA = new ReactionBuilder(); var partnerA = new ReactionPartnerBuilder("A", 0); var partnerB = new ReactionPartnerBuilder("B", 0); //Making both reactions dependent on each other reactionAtoB.AddProduct(partnerA); reactionBtoA.AddProduct(partnerB); reactionAtoB.AddEduct(partnerB); reactionBtoA.AddEduct(partnerA); reactionBuildingBlock.Add(reactionAtoB); reactionBuildingBlock.Add(reactionBtoA); _simulation.BuildConfiguration.Reactions = reactionBuildingBlock; }
public void TestSerialization() { var x1 = new ReactionPartnerBuilder("H2O", 3.1); var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualReactionPartnerBuilder(x1, x2); }
/// <summary> /// Creates a reaction product with the default stoichiometry. /// </summary> private static IReactionPartnerBuilder CreateProduct(string molculeName) { IReactionPartnerBuilder productBuilder = new ReactionPartnerBuilder { MoleculeName = molculeName }; productBuilder.StoichiometricCoefficient = SBMLConstants.SBML_STOICHIOMETRY_DEFAULT; return(productBuilder); }
protected override void Context() { base.Context(); _reactionBuilder = new ReactionBuilder(); var reactionPartnerBuilder = new ReactionPartnerBuilder("A", 1); _reactionBuilder.AddProduct(reactionPartnerBuilder); _dto = new ReactionPartnerBuilderDTO(reactionPartnerBuilder); A.CallTo(() => _reactionProductsPresenter.Subject).Returns(_reactionBuilder); }
protected override void Context() { base.Context(); _reactionPartnerBuilder = new ReactionPartnerBuilder("moleculeName", 2.0); _reactionPartnerDTO = new ReactionPartnerBuilderDTO(_reactionPartnerBuilder); _reactionBuilderDTO.Educts.Add(_reactionPartnerDTO); _reactionBuilderDTO.ReactionBuilder.AddEduct(_reactionPartnerBuilder); _reactionBuildingBlock.DiagramModel = A.Fake <IDiagramModel>(); A.CallTo(() => _interactionTaskForReactionBuilder.SelectMoleculeNames(_reactionBuildingBlock, A <IEnumerable <string> > ._, A <string> ._, AppConstants.Captions.Educts)).Returns(new List <string> { "moleculeName" }); sut.Edit(_reactionBuilderDTO, _reactionBuildingBlock); }
protected override void Context() { _oldMoleculeName = "A"; _newMoleculeName = "B"; _reaction = new ReactionBuilder().WithId("R"); _reactionPartner = new ReactionPartnerBuilder(_oldMoleculeName, 3); _buildingBlock = A.Fake <IMoBiReactionBuildingBlock>().WithId("BB"); _context = A.Fake <IMoBiContext>(); A.CallTo(() => _context.Get <IReactionBuilder>(_reaction.Id)).Returns(_reaction); A.CallTo(() => _context.Get <IMoBiReactionBuildingBlock>(_buildingBlock.Id)).Returns(_buildingBlock); AddPartnerToReaction(); _diagramManager = A.Fake <IMoBiReactionDiagramManager>(); A.CallTo(() => _buildingBlock.DiagramManager).Returns(_diagramManager); sut = new EditReactionPartnerMoleculeNameCommand(_newMoleculeName, _reaction, _reactionPartner, _buildingBlock); }