From d2f832b4380019b5d389f163a9fd64914d0b9e10 Mon Sep 17 00:00:00 2001 From: kaitoii11 Date: Sat, 28 May 2016 23:38:25 +0900 Subject: [PATCH] added util methods --- src/org/sbml/wrapper/CompartmentWrapper.java | 7 +++ src/org/sbml/wrapper/ModelWrapper.java | 21 +++++++- src/org/sbml/wrapper/ReactionWrapper.java | 52 ++++++++++++++++--- src/org/sbml/wrapper/SpeciesAliasWrapper.java | 2 +- src/org/sbml/wrapper/SpeciesWrapper.java | 6 +-- src/sample/APITest.java | 11 +++- 6 files changed, 84 insertions(+), 15 deletions(-) diff --git a/src/org/sbml/wrapper/CompartmentWrapper.java b/src/org/sbml/wrapper/CompartmentWrapper.java index 8969a12..145acf6 100644 --- a/src/org/sbml/wrapper/CompartmentWrapper.java +++ b/src/org/sbml/wrapper/CompartmentWrapper.java @@ -36,4 +36,11 @@ public String getName(){ public void setName(String value){ annotation.getExtension().setName(value);; } + + public boolean isSetName(){ + if(annotation == null || annotation.getExtension().getName() == null) + return false; + + return true; + } } diff --git a/src/org/sbml/wrapper/ModelWrapper.java b/src/org/sbml/wrapper/ModelWrapper.java index 0eb7e13..d17be20 100644 --- a/src/org/sbml/wrapper/ModelWrapper.java +++ b/src/org/sbml/wrapper/ModelWrapper.java @@ -94,14 +94,31 @@ public ModelWrapper(Model model){ this.setListOfRNAs(annotation.getExtension().getListOfRNAs()); this.setModelDisplay(annotation.getExtension().getModelDisplay()); this.setModelVersion(annotation.getExtension().getModelVersion()); - this.cWrapperList = createCompartmentWrapperList(model.getListOfCompartments().getCompartment()); this.rWrapperList = createReactionWrapperList(model.getListOfReactions().getReaction()); this.sWrapperList = createSpeciesWrapperList(model.getListOfSpecies().getSpecies()); this.sAliasWrapperList = createSpeciesAliasWrapperList(annotation.getExtension().getListOfSpeciesAliases().getSpeciesAlias()); - } + /** + * + * @return + * short + * TODO + */ + public short getSizeX(){ + return annotation.getExtension().getModelDisplay().getSizeX(); + } + + /** + * + * @return + * short + * TODO + */ + public short getSizeY(){ + return annotation.getExtension().getModelDisplay().getSizeY(); + } /** * diff --git a/src/org/sbml/wrapper/ReactionWrapper.java b/src/org/sbml/wrapper/ReactionWrapper.java index 79fde24..36f4a00 100644 --- a/src/org/sbml/wrapper/ReactionWrapper.java +++ b/src/org/sbml/wrapper/ReactionWrapper.java @@ -1,8 +1,11 @@ package org.sbml.wrapper; +import java.util.ArrayList; import java.util.List; +import org.sbml._2001.ns.celldesigner.BaseProduct; import org.sbml._2001.ns.celldesigner.BaseProducts; +import org.sbml._2001.ns.celldesigner.BaseReactant; import org.sbml._2001.ns.celldesigner.BaseReactants; import org.sbml._2001.ns.celldesigner.ConnectScheme; import org.sbml._2001.ns.celldesigner.EditPoints; @@ -14,7 +17,9 @@ import org.sbml._2001.ns.celldesigner.Offset; import org.sbml._2001.ns.celldesigner.ProductLink; import org.sbml._2001.ns.celldesigner.ReactantLink; +import org.sbml.sbml.level2.version4.ModifierSpeciesReference; import org.sbml.sbml.level2.version4.Reaction; +import org.sbml.sbml.level2.version4.SpeciesReference; /** * @author Kaito Ii @@ -29,7 +34,10 @@ public class ReactionWrapper extends Reaction{ Reaction reaction; ModelWrapper modelWrapper; - + List reactantWrapperList; + List productWrapperList; + List modifierWrapperList; + public ReactionWrapper(Reaction reaction, ModelWrapper modelWrapper){ this.reaction = reaction; this.modelWrapper = modelWrapper; @@ -37,13 +45,17 @@ public ReactionWrapper(Reaction reaction, ModelWrapper modelWrapper){ this.fast = reaction.isFast(); this.id = reaction.getId(); this.kineticLaw = reaction.getKineticLaw(); -// this.listOfModifiers = reaction.getListOfModifiers(); -// this.listOfProducts = reaction.getListOfProducts(); -// this.listOfReactants = reaction.getListOfReactants(); + this.listOfModifiers = reaction.getListOfModifiers(); + this.listOfProducts = reaction.getListOfProducts(); + this.listOfReactants = reaction.getListOfReactants(); this.metaid = reaction.getMetaid(); this.name = reaction.getName(); this.notes = reaction.getNotes(); this.reversible = reaction.isReversible(); + + reactantWrapperList = createReactantWrapperList(listOfReactants.getSpeciesReference()); + productWrapperList = createProductWrapperList(listOfProducts.getSpeciesReference()); + //modifierWrapperList = createModifierWrapperList(listOfModifiers.getModifierSpeciesReference()); } public String getName() { @@ -80,8 +92,8 @@ public void setReaction(String value) { * BaseReactants * TODO */ - public BaseReactants getBaseReactants() { - return annotation.getExtension().getBaseReactants(); + public List getBaseReactants() { + return annotation.getExtension().getBaseReactants().getBaseReactant(); } /** @@ -100,8 +112,8 @@ public void setBaseReactants(BaseReactants value) { * BaseProducts * TODO */ - public BaseProducts getBaseProducts() { - return annotation.getExtension().getBaseProducts(); + public List getBaseProducts() { + return annotation.getExtension().getBaseProducts().getBaseProduct(); } /** @@ -313,4 +325,28 @@ public void addModification(Modification modification){ public void removeModification(Modification modification){ annotation.getExtension().getListOfModification().getModification().remove(modification); } + + public List createReactantWrapperList(List srList){ + List srwList = new ArrayList(srList.size()); + for(SpeciesReference sr : srList) + srwList.add(new SpeciesReferenceWrapper(sr, modelWrapper)); + + return srwList; + } + + public List createProductWrapperList(List srList){ + List srwList = new ArrayList(srList.size()); + for(SpeciesReference sr : srList) + srwList.add(new SpeciesReferenceWrapper(sr, modelWrapper)); + + return srwList; + } + + public List createModifierWrapperList(List msrList){ + List msrwList = new ArrayList(msrList.size()); + for(ModifierSpeciesReference msr : msrList) + msrwList.add(new ModifierSpeciesReferenceWrapper(msr, modelWrapper)); + + return msrwList; + } } diff --git a/src/org/sbml/wrapper/SpeciesAliasWrapper.java b/src/org/sbml/wrapper/SpeciesAliasWrapper.java index ecee9c6..55378f9 100644 --- a/src/org/sbml/wrapper/SpeciesAliasWrapper.java +++ b/src/org/sbml/wrapper/SpeciesAliasWrapper.java @@ -38,7 +38,7 @@ public SpeciesAliasWrapper(SpeciesAlias speciesAlias, ModelWrapper modelWrapper) this.compartmentAlias = modelWrapper.getCompartmentAliasById(speciesAlias.getCompartmentAlias()); this.complexSpeciesAlias = modelWrapper.getComplexSpeciesAliasById(speciesAlias.getComplexSpeciesAlias()); this.speciesWrapper = modelWrapper.getSpeciesWrapperById(speciesAlias.getSpecies()); - + this.view = speciesAlias.getView(); } /** diff --git a/src/org/sbml/wrapper/SpeciesWrapper.java b/src/org/sbml/wrapper/SpeciesWrapper.java index 1bc1c72..a77fa77 100644 --- a/src/org/sbml/wrapper/SpeciesWrapper.java +++ b/src/org/sbml/wrapper/SpeciesWrapper.java @@ -5,7 +5,6 @@ import org.sbml._2001.ns.celldesigner.Catalyzed; import org.sbml._2001.ns.celldesigner.ListOfCatalyzedReactions; import org.sbml._2001.ns.celldesigner.SpeciesIdentity; -import org.sbml.sbml.level2.version4.Compartment; import org.sbml.sbml.level2.version4.Species; /** @@ -18,7 +17,7 @@ public class SpeciesWrapper extends Species{ ModelWrapper modelWrapper; Species species; - Compartment compartment; + CompartmentWrapper compartmentWrapper; public SpeciesWrapper(Species species, ModelWrapper modelWrapper){ this.modelWrapper = modelWrapper; @@ -26,7 +25,6 @@ public SpeciesWrapper(Species species, ModelWrapper modelWrapper){ this.annotation = species.getAnnotation(); this.boundaryCondition = species.isBoundaryCondition(); this.charge = species.getCharge(); - //this.compartment = species.getCompartment(); this.constant = species.isConstant(); this.hasOnlySubstanceUnits = species.isHasOnlySubstanceUnits(); this.id = species.getId(); @@ -37,6 +35,8 @@ public SpeciesWrapper(Species species, ModelWrapper modelWrapper){ this.notes = species.getNotes(); this.spatialSizeUnits = species.getSpatialSizeUnits(); this.substanceUnits = species.getSubstanceUnits(); + + this.compartmentWrapper = modelWrapper.getCompartmentWrapperById(species.getCompartment()); } /** diff --git a/src/sample/APITest.java b/src/sample/APITest.java index e7a9bfc..07c8b6d 100644 --- a/src/sample/APITest.java +++ b/src/sample/APITest.java @@ -9,7 +9,9 @@ import javax.xml.bind.JAXBIntrospector; import javax.xml.bind.Unmarshaller; +import org.sbml._2001.ns.celldesigner.ConnectScheme; import org.sbml._2001.ns.celldesigner.SpeciesAlias; +import org.sbml.sbml.level2.version4.Reaction; import org.sbml.sbml.level2.version4.Sbml; import org.sbml.sbml.level2.version4.Species; @@ -53,7 +55,14 @@ public static void main(String[] args) { String str = s.getAnnotation().getExtension().getPositionToCompartment(); System.out.println(s.getId() + ":" + str); } - + + List rList = sbml.getModel().getListOfReactions().getReaction(); + for(Reaction r : rList){ + System.out.println(r.getId() + ":" + r.getAnnotation().getExtension().getReaction() + ", " + r.getAnnotation().getExtension().getName()); + ConnectScheme cs = r.getAnnotation().getExtension().getConnectScheme(); + System.out.println("connect policy " + cs.getConnectPolicy()); + } + } }