diff --git a/CHANGELOG b/CHANGELOG index 619737659da8ef4cd3c21a798cbbf784ec44b50d..dadb7279143d82cfb84765018ce6256269aeee10 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,7 @@ minerva (19.0.0~alpha.0) stable; urgency=medium * Backward incompatible: custom annotation validation on project upload removed (#2101) * Improvement: new API (#1594) + * Improvement: allow to download generated ZIP (#2233) * Small improvement: layers have images (#2156) * Small improvement: when exporting to SBML provide annotation as identifiers.org uri (#2202) @@ -23,6 +24,7 @@ minerva (19.0.0~alpha.0) stable; urgency=medium * Bug fix: when removing project the layer texts/rectangles/ovals were not removed * Bug fix: index.html has been cached but should not (#2210) + * Bug fix: export to SBGN-ML could generate invalid notes node for the file -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 18 Sep 2024 13:00:00 +0200 diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java index 9df84096a223608d427ade3d813d1f81972c91c0..ab44805c4f56d44a82e9b083a89561abf543346c 100644 --- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java +++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java @@ -1,24 +1,22 @@ package lcsb.mapviewer.cdplugin.copypaste; -import java.util.HashSet; -import java.util.Set; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamRelationType; import lcsb.mapviewer.model.map.MiriamType; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.HashSet; +import java.util.Set; /** * This abstract class defines common function for {@link CopyAction} and * {@link PasteAction}. - * + * * @author Piotr Gawron - * */ public class CopyPasteAbstractAction { /** @@ -35,9 +33,8 @@ public class CopyPasteAbstractAction { /** * Serializes {@link MiriamData} into string that will be stored into system * clipboard. - * - * @param md - * object to serialize + * + * @param md object to serialize * @return string representation of {@link MiriamData} */ protected String serialize(final MiriamData md) { @@ -48,9 +45,8 @@ public class CopyPasteAbstractAction { /** * Deserialize {@link MiriamData} from string creted by * {@link #serialize(MiriamData)} method. - * - * @param string - * string representation of {@link MiriamData} + * + * @param string string representation of {@link MiriamData} * @return {@link MiriamData} obtained from input string */ protected MiriamData deserialize(final String string) { @@ -77,14 +73,11 @@ public class CopyPasteAbstractAction { /** * Returns serialized string of annotations and notes. - * - * @param annotationString - * xml string representing annotations in CellDesigner - * @param notesString - * flat notes String + * + * @param annotationString xml string representing annotations in CellDesigner + * @param notesString flat notes String * @return serialized string - * @throws InvalidXmlSchemaException - * thrown when xmlString is invalid + * @throws InvalidXmlSchemaException thrown when xmlString is invalid */ protected String getCopyString(final String annotationString, final String notesString) throws InvalidXmlSchemaException { XmlAnnotationParser xap = new XmlAnnotationParser(); @@ -100,10 +93,8 @@ public class CopyPasteAbstractAction { /** * Deserialize string created by {@link #getCopyString(String, String)} * method. Used to create {@link MiriamData} set and notes from clipboard. - * - * @param value - * string for deserialization - * + * + * @param value string for deserialization * @return {@link Pair} of {@link MiriamData} set and notes string */ protected Pair<Set<MiriamData>, String> getAnnotationDataFromClipboardString(final String value) { @@ -112,7 +103,7 @@ public class CopyPasteAbstractAction { } String[] rows = value.split("\n"); - StringBuilder sb = new StringBuilder(""); + StringBuilder sb = new StringBuilder(); boolean miriam = true; diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java index 7d0ba23e86e11f8ebf654512c007c39b769ee27c..332181c519a78009a04f6e6a02fefbe472ab08a1 100644 --- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java +++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java @@ -1,25 +1,23 @@ package lcsb.mapviewer.cdplugin.copypaste; -import java.util.Set; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import jp.sbi.celldesigner.plugin.PluginListOf; import jp.sbi.celldesigner.plugin.PluginReaction; import jp.sbi.celldesigner.plugin.PluginSBase; import jp.sbi.celldesigner.plugin.PluginSpecies; import jp.sbi.celldesigner.plugin.PluginSpeciesAlias; import lcsb.mapviewer.common.Pair; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.Set; /** * CD Plugin action responsible for translating annotation stored in notes to * xml format stored in annotations. - * + * * @author Piotr Gawron - * */ public class PasteAction extends CopyPasteAbstractAction { /** @@ -30,11 +28,9 @@ public class PasteAction extends CopyPasteAbstractAction { /** * Method that perform annotation of a CellDesigner species listed in * speciesList. - * - * @param plug - * - a plugin object - * @param speciesList - * - list of species to annotate + * + * @param plug - a plugin object + * @param speciesList - list of species to annotate */ public void performAnnotation(final CopyPastePlugin plug, final PluginListOf speciesList) { XmlAnnotationParser xap = new XmlAnnotationParser(); diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnectorImpl.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnectorImpl.java index fcf345ef25ea6ea9c898b2fe16b20de7fd018877..39cb26152ee23c5b4fd1e8cf06c68a428bc5dd30 100644 --- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnectorImpl.java +++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnectorImpl.java @@ -4,9 +4,9 @@ import lcsb.mapviewer.annotation.cache.CachableInterface; import lcsb.mapviewer.annotation.cache.QueryCacheInterface; import lcsb.mapviewer.annotation.cache.SourceNotAvailable; import lcsb.mapviewer.common.exception.InvalidArgumentException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamType; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.http.HttpStatus; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java index 445af6b389d760cc97dfa5b80d83a966fe130ee9..5eb873865a98980b9ec6b4f492bcd09ff834a727 100644 --- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java +++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java @@ -48,7 +48,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testGoUri() throws Exception { + public void testGoUri() { assertNotEquals(1, MiriamType.GO.getUris().size()); } @@ -60,7 +60,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testGetUrl() throws Exception { + public void testGetUrl() { MiriamData md = TaxonomyBackend.HUMAN_TAXONOMY; String url = miriamConnector.getUrlString(md); @@ -68,30 +68,30 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test(expected = InvalidArgumentException.class) - public void testGetUrlForInvalidMiriam() throws Exception { + public void testGetUrlForInvalidMiriam() { miriamConnector.getUrlString(new MiriamData()); } @SuppressWarnings("deprecation") @Test(expected = InvalidArgumentException.class) - public void testGetUrlForInvalidMiriam2() throws Exception { + public void testGetUrlForInvalidMiriam2() { miriamConnector.getUrlString(new MiriamData(MiriamType.UNKNOWN, "")); } @Test - public void testGetUrlForInvalidMiriam3() throws Exception { + public void testGetUrlForInvalidMiriam3() { String url = miriamConnector.getUrlString(new MiriamData(MiriamType.ENTREZ, "abc")); assertNull(url); } @Test - public void testIsValidIdentifier() throws Exception { + public void testIsValidIdentifier() { assertTrue(miriamConnector.isValidIdentifier(MiriamType.ENTREZ.getCommonName() + ":" + "1234")); - assertFalse(miriamConnector.isValidIdentifier("blablabla")); + assertFalse(miriamConnector.isValidIdentifier("blah")); } @Test - public void testResolveUrl() throws Exception { + public void testResolveUrl() { for (final MiriamType mt : MiriamType.values()) { boolean deprecated = false; try { @@ -100,6 +100,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { deprecated = true; } } catch (final NoSuchFieldException | SecurityException e) { + logger.error(e, e); } if (!deprecated) { @@ -109,7 +110,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testGetUrlForDoi() throws Exception { + public void testGetUrlForDoi() { // exclude first cached value MiriamData md = new MiriamData(MiriamType.DOI, "10.1038/npjsba.2016.20"); @@ -118,7 +119,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testMiriamDataToUri() throws Exception { + public void testMiriamDataToUri() { assertNotNull(miriamConnector.miriamDataToUri(TaxonomyBackend.HUMAN_TAXONOMY)); } @@ -128,7 +129,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { when(mockDownloader.getFromNetwork(anyString(), anyString(), nullable(String.class))) .thenThrow(new IOException()); ReflectionTestUtils.setField(miriamConnector, "webPageDownloader", mockDownloader); - miriamConnector.refreshCacheQuery("http://google.pl/"); + miriamConnector.refreshCacheQuery("https://google.pl/"); } @Test(expected = InvalidArgumentException.class) @@ -142,7 +143,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testCheckValidyOfUnknownMiriamType() throws Exception { + public void testCheckValidityOfUnknownMiriamType() { // user connector without cache @SuppressWarnings("deprecation") boolean value = miriamConnector.isValidMiriamType(MiriamType.UNKNOWN); @@ -155,7 +156,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions { } @Test - public void testGetUrlWithNewLine() throws Exception { + public void testGetUrlWithNewLine() { MiriamData md = new MiriamData(MiriamType.HGNC_SYMBOL, "test\name"); String url = miriamConnector.getUrlString(md); diff --git a/commons/src/main/java/lcsb/mapviewer/common/Comparator.java b/commons/src/main/java/lcsb/mapviewer/common/Comparator.java index b096d920c8e7605a246ae94b07dc2476656d7268..e908c2846bb1cf95bfe3c2ccd7e0b1939f81329c 100644 --- a/commons/src/main/java/lcsb/mapviewer/common/Comparator.java +++ b/commons/src/main/java/lcsb/mapviewer/common/Comparator.java @@ -1,21 +1,18 @@ package lcsb.mapviewer.common; -import java.util.ArrayList; -import java.util.List; - +import lcsb.mapviewer.common.exception.NotImplementedException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import lcsb.mapviewer.common.exception.NotImplementedException; +import java.util.ArrayList; +import java.util.List; public abstract class Comparator<T extends Object> implements java.util.Comparator<T> { - /** - * Default class logger. - */ - private static Logger logger = LogManager.getLogger(); - private Class<T> comparatorClazz; - private boolean exactClassMatch; - private List<Comparator<? extends T>> subClassComparatorList = new ArrayList<>(); + protected static Logger logger = LogManager.getLogger(); + + private final Class<T> comparatorClazz; + private final boolean exactClassMatch; + private final List<Comparator<? extends T>> subClassComparatorList = new ArrayList<>(); protected Comparator(final Class<T> clazz) { this(clazz, false); @@ -26,7 +23,7 @@ public abstract class Comparator<T extends Object> implements java.util.Comparat this.exactClassMatch = exactClassMatch; } - @SuppressWarnings({ "rawtypes", "unchecked" }) + @SuppressWarnings({"rawtypes", "unchecked"}) @Override public final int compare(final T arg0, final T arg1) { if (arg0 == null) { @@ -68,7 +65,7 @@ public abstract class Comparator<T extends Object> implements java.util.Comparat return null; } - @SuppressWarnings({ "rawtypes", "unchecked" }) + @SuppressWarnings({"rawtypes", "unchecked"}) private int compareParents(final T arg0, final T arg1) { Comparator parentComparator = getParentComparator(); while (parentComparator != null) { diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java index 1f178fbfcba7f136d27714a3c4b215b3800db79b..f237a1a15d4d738fc0956e1a508b459119cfb419 100644 --- a/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java +++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java @@ -1,22 +1,21 @@ package lcsb.mapviewer.common.comparator; -import java.util.Comparator; -import java.util.Set; - import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.Comparator; +import java.util.Set; + /** * Comparator used for comparing sets of strings. - * + * * @author Piotr Gawron - * */ public class SetComparator<T> implements Comparator<Set<T>> { /** * Default class logger. */ - private Logger logger = LogManager.getLogger(); + private final Logger logger = LogManager.getLogger(); private Comparator<T> objectComparator; @@ -41,6 +40,7 @@ public class SetComparator<T> implements Comparator<Set<T>> { for (final T objectInList0 : arg0) { if (objectComparator.compare(objectInList0, objectInList1) == 0) { found = true; + break; } } if (!found) { @@ -54,11 +54,11 @@ public class SetComparator<T> implements Comparator<Set<T>> { for (final T objectInList1 : arg1) { if (objectComparator.compare(objectInList0, objectInList1) == 0) { found = true; + break; } } if (!found) { - new Exception().printStackTrace(); - logger.debug("Cannot find object " + objectInList0 + " in set: " + arg1); + logger.debug("Cannot find object {} in set: {}", objectInList0, arg1); return 1; } } diff --git a/converter-CellDesigner/pom.xml b/converter-CellDesigner/pom.xml index 5a0a9c557ede768a9cef891c3184b0f93c179118..4327db604ea35a7039064dd0f65ad81edea825ce 100644 --- a/converter-CellDesigner/pom.xml +++ b/converter-CellDesigner/pom.xml @@ -1,86 +1,92 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>lcsb.mapviewer</groupId> - <artifactId>parent</artifactId> - <version>19.0.0~alpha.0</version> - </parent> - <artifactId>converter-CellDesigner</artifactId> - <name>CellDesigner converter</name> - <description>CellDesigner converter for model</description> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>lcsb.mapviewer</groupId> + <artifactId>parent</artifactId> + <version>19.0.0~alpha.0</version> + </parent> + <artifactId>converter-CellDesigner</artifactId> + <name>CellDesigner converter</name> + <description>CellDesigner converter for model</description> - <dependencies> + <dependencies> - <!-- dependency from the MapViewer model --> - <dependency> - <groupId>lcsb.mapviewer</groupId> - <artifactId>model</artifactId> - <version>19.0.0~alpha.0</version> - </dependency> + <!-- dependency from the MapViewer model --> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>model</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> - <dependency> - <groupId>lcsb.mapviewer</groupId> - <artifactId>converter</artifactId> - <version>19.0.0~alpha.0</version> - </dependency> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>model-command</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> - <!-- Log4J2 --> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> - <version>${log4j2.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>${log4j2.version}</version> - </dependency> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>converter</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> - <!-- mockito used for testing --> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>${mockito.version}</version> - <scope>test</scope> - </dependency> + <!-- Log4J2 --> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>${log4j2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>${log4j2.version}</version> + </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> + <!-- mockito used for testing --> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> - <!-- Utils used for connection via http for SBML validation --> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>${apache.httpcomponents.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpmime</artifactId> - <version>${apache.httpcomponents.version}</version> - <scope>compile</scope> - </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + <scope>test</scope> + </dependency> - <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - <version>${springframework.version}</version> - </dependency> + <!-- Utils used for connection via http for SBML validation --> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>${apache.httpcomponents.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpmime</artifactId> + <version>${apache.httpcomponents.version}</version> + <scope>compile</scope> + </dependency> - <!-- spring module used for testing --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <version>${springframework.version}</version> - </dependency> + <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + <version>${springframework.version}</version> + </dependency> - </dependencies> + <!-- spring module used for testing --> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-test</artifactId> + <version>${springframework.version}</version> + </dependency> + + </dependencies> </project> \ No newline at end of file diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java index 545ba73da2660a8636cd896dcd46a06c12b603f6..6f6a521c4dca37c62dde398460987229211a6947 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java @@ -8,10 +8,7 @@ import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.Converter; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.ZIndexPopulator; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.alias.AliasCollectionXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.compartment.CompartmentCollectionXmlParser; import lcsb.mapviewer.converter.model.celldesigner.function.FunctionCollectionXmlParser; import lcsb.mapviewer.converter.model.celldesigner.parameter.ParameterCollectionXmlParser; @@ -41,6 +38,9 @@ import lcsb.mapviewer.model.map.species.Protein; import lcsb.mapviewer.model.map.species.Rna; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.modelutils.map.LogFormatter; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import lcsb.mapviewer.utils.ZIndexPopulator; import org.apache.commons.io.FilenameUtils; import org.apache.commons.text.StringEscapeUtils; import org.apache.logging.log4j.LogManager; @@ -406,7 +406,7 @@ public class CellDesignerXmlParser extends Converter { private void processModelRdfNode(final Model model, final Node node) throws InvalidXmlSchemaException { final XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); model.addMiriamData(xmlAnnotationParser.parseRdfNode(node, null)); model.addAuthors(xmlAnnotationParser.getAuthorsFromRdf(node)); model.setCreationDate(xmlAnnotationParser.getCreateDateFromRdf(node)); @@ -734,12 +734,12 @@ public class CellDesignerXmlParser extends Converter { result.append(speciesCollectionXmlParser.geneCollectionToXmlString(genes)); result.append(speciesCollectionXmlParser.rnaCollectionToXmlString(rnas)); result.append(speciesCollectionXmlParser.antisenseRnaCollectionToXmlString(antisenseRnas)); - result.append(layerParser.layerCollectionToXml(model.getLayers())); + result.append(layerParser.layerCollectionToXml(model.getLayers(), model.getCompartments())); result.append("</celldesigner:extension>\n"); final XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); result.append(xmlAnnotationParser.dataSetToXmlString(model.getMiriamData(), model.getAuthors(), model.getCreationDate(), model.getModificationDates(), model.getIdModel())); result.append("</annotation>\n"); diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CommonXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CommonXmlParser.java index 0eef92bcf220686a13c3f3815768ff28140e45cc..a10c2acd55c3478b5e87a96fd4de1061f9292f10 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CommonXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CommonXmlParser.java @@ -1,56 +1,34 @@ package lcsb.mapviewer.converter.model.celldesigner; -import java.awt.Color; -import java.awt.geom.Dimension2D; -import java.awt.geom.Point2D; -import java.io.ByteArrayInputStream; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - +import lcsb.mapviewer.common.XmlParser; +import lcsb.mapviewer.common.exception.InvalidStateException; +import lcsb.mapviewer.common.geometry.DoubleDimension; +import lcsb.mapviewer.converter.model.celldesigner.structure.fields.SingleLine; +import lcsb.mapviewer.converter.model.celldesigner.structure.fields.View; import org.apache.commons.lang3.StringUtils; import org.w3c.dom.Node; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; -import lcsb.mapviewer.common.XmlParser; -import lcsb.mapviewer.common.exception.InvalidStateException; -import lcsb.mapviewer.common.geometry.DoubleDimension; -import lcsb.mapviewer.converter.model.celldesigner.structure.fields.SingleLine; -import lcsb.mapviewer.converter.model.celldesigner.structure.fields.View; -import lcsb.mapviewer.model.map.MiriamRelationType; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import java.awt.Color; +import java.awt.geom.Dimension2D; +import java.awt.geom.Point2D; +import java.io.ByteArrayInputStream; /** * Class with parsers for common CellDesigner objects. - * + * * @author Piotr Gawron - * */ public class CommonXmlParser { - public static final Set<MiriamRelationType> RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER; - - static { - Set<MiriamRelationType> types = new HashSet<>(); - types.addAll(Arrays.asList(MiriamRelationType.values())); - types.remove(MiriamRelationType.BQ_MODEL_IS_DERIVED_FROM); - types.remove(MiriamRelationType.BQ_BIOL_HAS_PROPERTY); - types.remove(MiriamRelationType.BQ_BIOL_IS_PROPERTY_OF); - types.remove(MiriamRelationType.BQ_MODEL_IS_INSTANCE_OF); - types.remove(MiriamRelationType.BQ_MODEL_HAS_INSTANCE); - types.remove(MiriamRelationType.BQ_BIOL_HAS_TAXON); - RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER = Collections.unmodifiableSet(types); - } - - private DocumentBuilderFactory dbFactory; - private DocumentBuilder documentBuilder; + private final DocumentBuilderFactory dbFactory; + private final DocumentBuilder documentBuilder; public CommonXmlParser() { try { @@ -59,7 +37,6 @@ public class CommonXmlParser { documentBuilder.setErrorHandler(new ErrorHandler() { @Override public void warning(final SAXParseException e) throws SAXException { - ; } @Override @@ -80,9 +57,8 @@ public class CommonXmlParser { /** * Parse xml representation of position into Poin2D object. - * - * @param node - * xml node to parse + * + * @param node xml node to parse * @return Point2D object */ public Point2D getPosition(final Node node) { @@ -94,9 +70,8 @@ public class CommonXmlParser { /** * Parse xml representation of dimension. - * - * @param node - * xml node to parse + * + * @param node xml node to parse * @return dimension (with width and height fields) */ public Dimension2D getDimension(final Node node) { @@ -108,9 +83,8 @@ public class CommonXmlParser { /** * Parse xml representation of CellDesigner SingleLine. - * - * @param node - * xml node to parse + * + * @param node xml node to parse * @return single line object (with width field) */ public SingleLine getSingleLine(final Node node) { @@ -121,9 +95,8 @@ public class CommonXmlParser { /** * Parse xml representation of CellDesigner color. - * - * @param node - * xml node to parse + * + * @param node xml node to parse * @return Color value stored in xml */ public Color getColor(final Node node) { @@ -137,9 +110,8 @@ public class CommonXmlParser { /** * Parse xml representation of CellDesigner view. - * - * @param node - * xml node to parse + * + * @param node xml node to parse * @return view parsed from xml * @see View */ diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java index 59a5aaf0a588b7adc470a1c4d5be1e085fb27f55..f6b0188e76a0db963f316887da82ea2c6891edc2 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java @@ -1,20 +1,25 @@ package lcsb.mapviewer.converter.model.celldesigner; +import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.common.geometry.ColorParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; +import lcsb.mapviewer.converter.ComplexZipConverter; import lcsb.mapviewer.model.graphics.ArrowType; import lcsb.mapviewer.model.graphics.LineType; import lcsb.mapviewer.model.graphics.PolylineData; +import lcsb.mapviewer.model.map.compartment.Compartment; +import lcsb.mapviewer.model.map.compartment.PathwayCompartment; import lcsb.mapviewer.model.map.layout.BlockDiagram; import lcsb.mapviewer.model.map.layout.ElementGroup; import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; import lcsb.mapviewer.model.map.layout.graphics.LayerOval; import lcsb.mapviewer.model.map.layout.graphics.LayerRect; import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.utils.RestAnnotationParser; import org.apache.commons.lang3.math.NumberUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -23,9 +28,12 @@ import org.w3c.dom.NodeList; import java.awt.Color; import java.awt.geom.Point2D; +import java.io.File; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * Parser used for parsing CellDesigner xml to get {@link Layer} object. @@ -78,7 +86,7 @@ public class LayerXmlParser { * @param layers collection of layers * @return xml node representing layers collection */ - public String layerCollectionToXml(final Collection<Layer> layers) { + public String layerCollectionToXml(final Collection<Layer> layers, final Collection<Compartment> compartments) { for (final Layer layer : layers) { if (NumberUtils.isParsable(layer.getLayerId())) { problematicIdCounter = Math.max(problematicIdCounter, Integer.parseInt(layer.getLayerId())); @@ -86,8 +94,25 @@ public class LayerXmlParser { } StringBuilder result = new StringBuilder(); result.append("<celldesigner:listOfLayers>"); + boolean compartmentsAdded = false; + Set<PathwayCompartment> pathways = new HashSet<>(); + for (Compartment compartment : compartments) { + if (compartment instanceof PathwayCompartment) { + pathways.add((PathwayCompartment) compartment); + } + } for (final Layer layer : layers) { - result.append(layerToXml(layer)); + if (layer.getName().equals(CreateHierarchyCommand.PATHWAY_LAYER_NAME)) { + compartmentsAdded = true; + result.append(layerToXml(layer, pathways)); + } else { + result.append(layerToXml(layer, new HashSet<>())); + } + } + if (!compartmentsAdded && pathways.size() > 0) { + Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); + result.append(layerToXml(layer, pathways)); } result.append("</celldesigner:listOfLayers>\n"); return result.toString(); @@ -272,21 +297,27 @@ public class LayerXmlParser { * @param layer object to be transformed into xml * @return CellDesigner xml representation for the layer */ - String layerToXml(final Layer layer) { + String layerToXml(final Layer layer, final Set<PathwayCompartment> pathways) { StringBuilder result = new StringBuilder(); String id = layer.getLayerId(); if (!NumberUtils.isParsable(id)) { id = (problematicIdCounter++) + ""; } - result.append("<celldesigner:layer id =\"" + id + "\" "); - result.append(" name =\"" + XmlParser.escapeXml(layer.getName()) + "\" "); - result.append(" locked =\"" + layer.isLocked() + "\" "); - result.append(" visible =\"" + layer.isVisible() + "\">\n"); + result.append("<celldesigner:layer id =\"").append(id).append("\" "); + result.append(" name =\"").append(XmlParser.escapeXml(layer.getName())).append("\" "); + result.append(" locked =\"").append(layer.isLocked()).append("\" "); + result.append(" visible =\"").append(layer.isVisible()).append("\">\n"); result.append("<celldesigner:listOfTexts>\n"); for (final LayerText layerText : layer.getTexts()) { result.append(layerTextToXml(layerText)); } + for (final LayerImage layerImage : layer.getImages()) { + result.append(layerImageToXml(layerImage)); + } + for (final PathwayCompartment pathway : pathways) { + result.append(pathwayToXml(pathway)); + } result.append("</celldesigner:listOfTexts>\n"); result.append("<celldesigner:listOfSquares>\n"); @@ -553,4 +584,54 @@ public class LayerXmlParser { return result.toString(); } + String layerImageToXml(final LayerImage layer) { + StringBuilder result = new StringBuilder(); + result.append("<celldesigner:layerSpeciesAlias>"); + result.append("<celldesigner:layerNotes>\n"); + String notes = ""; + if (layer.getGlyph() != null) { + notes += "\n" + ComplexZipConverter.GLYPH_PREFIX + "glyphs/" + new File(layer.getGlyph().getFile().getOriginalFileName()).getName(); + } + result.append(notes); + result.append("\n</celldesigner:layerNotes>"); + result.append("<celldesigner:paint color=\"" + XmlParser.colorToString(Color.BLACK) + "\"/>"); + result.append("<celldesigner:bounds x=\"" + layer.getX() + "\" "); + result.append(" y=\"" + layer.getY() + "\" "); + result.append(" w=\"" + layer.getWidth() + "\" "); + result.append(" h=\"" + layer.getHeight() + "\"/>"); + result.append("<celldesigner:font size=\"" + ((int) LayerText.DEFAULT_LAYER_FONT_SIZE) + "\"/>"); + result.append("</celldesigner:layerSpeciesAlias>\n"); + return result.toString(); + } + + String pathwayToXml(final PathwayCompartment pathway) { + StringBuilder result = new StringBuilder(); + result.append("<celldesigner:layerSpeciesAlias>"); + result.append("<celldesigner:layerNotes>\n"); + String notes = pathway.getName(); + if (notes == null) { + notes = ""; + } + if (commonParser.getNotesXmlContent(pathway.getNotes()) != null) { + notes += "\n" + commonParser.getNotesXmlContent(pathway.getNotes()); + } + if (pathway.getFillColor() != null && !pathway.getFillColor().equals(Color.WHITE)) { + notes += "\nBackgroundColor:" + new ColorParser().colorToHtml(pathway.getFillColor()); + } + if (!pathway.getBorderColor().equals(Color.LIGHT_GRAY)) { + notes += "\nBorderColor:" + new ColorParser().colorToHtml(pathway.getBorderColor()); + } + result.append(notes); + result.append("\n</celldesigner:layerNotes>"); + result.append("<celldesigner:paint color=\"" + XmlParser.colorToString(pathway.getFontColor()) + "\"/>"); + result.append("<celldesigner:bounds x=\"" + pathway.getX() + "\" "); + result.append(" y=\"" + pathway.getY() + "\" "); + result.append(" w=\"" + pathway.getWidth() + "\" "); + result.append(" h=\"" + pathway.getHeight() + "\"/>"); + result.append("<celldesigner:font size=\"" + pathway.getFontSize().intValue() + "\"/>"); + result.append("</celldesigner:layerSpeciesAlias>\n"); + return result.toString(); + } + + } diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java index f5804daed339ff43d3f609ab7613fe5ec2b5179b..1d3414215079be80c51b6869aefebf912ca88e01 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java @@ -1,31 +1,29 @@ package lcsb.mapviewer.converter.model.celldesigner.alias; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.PathwayCompartment; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.RestAnnotationParser; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; /** * This class contains function to parse CellDesigner xml nodes containing * collection of aliases. It also contains functionality to do reverse operation * - transform set of aliases into xml node. - * + * * @author Piotr Gawron - * */ public class AliasCollectionXmlParser { @@ -33,7 +31,7 @@ public class AliasCollectionXmlParser { * Default class logger. */ @SuppressWarnings("unused") - private Logger logger = LogManager.getLogger(); + private final Logger logger = LogManager.getLogger(); /** * Single SpeciesAlias parser for CellDesigner node. @@ -53,19 +51,17 @@ public class AliasCollectionXmlParser { /** * Annotation parser. */ - private RestAnnotationParser rap = new RestAnnotationParser(); + private final RestAnnotationParser rap = new RestAnnotationParser(); /** - * Default parser. As an parameter model object for which parsing is done is + * Default parser. As a parameter model object for which parsing is done is * required. This is due to the fact that CellDesigner model is very tangled and * very often data are distributed in many different places and in other places * they are missing... - * - * @param model - * map model for which parsing is performed - * @param elements - * collection of {@link CellDesignerElement cell designer elements} - * parsed from xml + * + * @param model map model for which parsing is performed + * @param elements collection of {@link CellDesignerElement cell designer elements} + * parsed from xml */ public AliasCollectionXmlParser(final CellDesignerElementCollection elements, final Model model) { speciesAliasParser = new SpeciesAliasXmlParser(elements, model); @@ -76,12 +72,10 @@ public class AliasCollectionXmlParser { /** * Parses xml node containing list of species aliases into collection of * SpeciesAlias. - * - * @param aliasListNode - * xml node to be parsed + * + * @param aliasListNode xml node to be parsed * @return collection of SpeciesAlias obtained from xml node - * @throws InvalidXmlSchemaException - * thrown when there is a problem with xml + * @throws InvalidXmlSchemaException thrown when there is a problem with xml */ public List<Species> parseXmlSpeciesAliasCollection(final Node aliasListNode) throws InvalidXmlSchemaException { List<Species> result = new ArrayList<Species>(); @@ -104,9 +98,8 @@ public class AliasCollectionXmlParser { /** * Creates xml string representing collection of SpeciesAlias. - * - * @param collection - * collection of SpeciesAlias + * + * @param collection collection of SpeciesAlias * @return xml string representing collection of SpeciesAlias */ public String speciesAliasCollectionToXmlString(final Collection<Species> collection) { @@ -121,12 +114,10 @@ public class AliasCollectionXmlParser { /** * Parses xml node containing list of complex aliases into collection of * ComplexAlias. - * - * @param aliasListNode - * xml node to be parsed + * + * @param aliasListNode xml node to be parsed * @return collection of ComplexAlias obtained from xml node - * @throws InvalidXmlSchemaException - * thrown when xmlString is invalid + * @throws InvalidXmlSchemaException thrown when xmlString is invalid */ public List<Complex> parseXmlComplexAliasCollection(final Node aliasListNode) throws InvalidXmlSchemaException { List<Complex> result = new ArrayList<Complex>(); @@ -151,9 +142,8 @@ public class AliasCollectionXmlParser { /** * Creates xml string representing collection of ComplexAlias. - * - * @param collection - * collection of ComplexAlias + * + * @param collection collection of ComplexAlias * @return xml string representing collection of ComplexAlias */ public String complexAliasCollectionToXmlString(final Collection<Complex> collection) { @@ -168,12 +158,10 @@ public class AliasCollectionXmlParser { /** * Parses xml node containing list of compartment aliases into collection of * CompartmentAlias. - * - * @param aliasListNode - * xml node to be parsed + * + * @param aliasListNode xml node to be parsed * @return collection of CompartmentAlias obtained from xml node - * @throws InvalidXmlSchemaException - * thrown when xmlString is invalid + * @throws InvalidXmlSchemaException thrown when xmlString is invalid */ public List<Compartment> parseXmlCompartmentAliasCollection(final Node aliasListNode) throws InvalidXmlSchemaException { List<Compartment> result = new ArrayList<>(); @@ -197,9 +185,8 @@ public class AliasCollectionXmlParser { /** * Assing compartment parents for list of compartments. - * - * @param compartments - * compartments that are looking for parents + * + * @param compartments compartments that are looking for parents */ private void assignParents(final List<Compartment> compartments) { Compartment nullParent = new Compartment("null"); @@ -225,9 +212,8 @@ public class AliasCollectionXmlParser { /** * Creates xml string representing collection of CompartmentAlias. - * - * @param collection - * collection of CompartmentAlias + * + * @param collection collection of CompartmentAlias * @return xml string representing collection of CompartmentAlias */ public String compartmentAliasCollectionToXmlString(final Collection<Compartment> collection) { diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java index 826126c06146feffa985ea54aaf44c6df21823f2..64ae60ab255f61b51cde8a2324c5fbbd29c8edb7 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java @@ -1,15 +1,9 @@ package lcsb.mapviewer.converter.model.celldesigner.compartment; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.species.AbstractElementXmlParser; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerCompartment; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; @@ -17,41 +11,43 @@ import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.PathwayCompartment; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; /** * Parser of CellDesginer xml nodes for compartment elements. - * + * * @author Piotr Gawron - * */ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerCompartment, Compartment> { /** * Parser used to retrieve Miriam data for the element. */ - private XmlAnnotationParser xmlAnnotationParser; + private final XmlAnnotationParser xmlAnnotationParser; /** * Collection of {@link CellDesignerElement cell designer elements} parsed * from xml. */ - private CellDesignerElementCollection elements; + private final CellDesignerElementCollection elements; /** * Xml parser used for processing notes into structured data. */ - private RestAnnotationParser rap = new RestAnnotationParser(); + private final RestAnnotationParser rap = new RestAnnotationParser(); /** * Default constructor. - * - * @param elements - * collection of {@link CellDesignerElement cell designer elements} - * parsed from xml + * + * @param elements collection of {@link CellDesignerElement cell designer elements} + * parsed from xml */ public CompartmentXmlParser(final CellDesignerElementCollection elements) { this.elements = elements; - xmlAnnotationParser = new XmlAnnotationParser(CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + xmlAnnotationParser = new XmlAnnotationParser(lcsb.mapviewer.utils.RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); } @Override @@ -83,7 +79,7 @@ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerC @Override public String toXml(final Compartment compartment) { - StringBuilder sb = new StringBuilder(""); + StringBuilder sb = new StringBuilder(); sb.append("<compartment "); sb.append("metaid=\"" + elements.getElementId(compartment) + "\" "); sb.append("id=\"" + elements.getElementId(compartment) + "\" "); @@ -125,12 +121,9 @@ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerC /** * Process annotation part of the xml node. * - * @param compartment - * object that we create - * @param xmlNode - * annotation xml node - * @throws InvalidXmlSchemaException - * thrown when there is a problem with xml + * @param compartment object that we create + * @param xmlNode annotation xml node + * @throws InvalidXmlSchemaException thrown when there is a problem with xml */ private void parseAnnotationNode(final CellDesignerCompartment compartment, final Node xmlNode) throws InvalidXmlSchemaException { NodeList annotationNodes = xmlNode.getChildNodes(); @@ -156,12 +149,9 @@ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerC /** * Process extension part of the xml node. * - * @param compartment - * object that we create - * @param xmlNode - * annotation xml node - * @throws InvalidXmlSchemaException - * thrown when xmlNode is invalid + * @param compartment object that we create + * @param xmlNode annotation xml node + * @throws InvalidXmlSchemaException thrown when xmlNode is invalid */ private void parseExtensionNode(final CellDesignerCompartment compartment, final Node xmlNode) throws InvalidXmlSchemaException { NodeList annotationNodes = xmlNode.getChildNodes(); diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java index 3cd4a8e5263ddbe456f74a65c06ee41f3a853368..c144284b07413796ecaf99673c8c3663486f94e1 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java @@ -1,22 +1,19 @@ package lcsb.mapviewer.converter.model.celldesigner.reaction; +import lcsb.mapviewer.commands.layout.ModifierType; +import lcsb.mapviewer.commands.layout.ReactionData; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidStateException; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.geometry.CellDesignerAliasConverter; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerPointTransformation; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.PolylineDataFactory; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.ConnectScheme; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.LineProperties; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType; import lcsb.mapviewer.converter.model.celldesigner.types.ModifierTypeUtils; import lcsb.mapviewer.converter.model.celldesigner.types.OperatorType; import lcsb.mapviewer.converter.model.celldesigner.types.OperatorTypeUtils; @@ -49,6 +46,8 @@ import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.modelutils.map.ElementUtils; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.w3c.dom.Node; @@ -81,60 +80,60 @@ public class ReactionFromXml { * Product lines in cell designer starts in the 3/5 of the center line. */ private static final double PRODUCT_START_RATIO = 0.6; - private CellDesignerElementCollection elements; + private final CellDesignerElementCollection elements; /** * Stores information about {@link CellDesignerAnchor} for a node. */ - private Map<ReactionNode, CellDesignerAnchor> anchorsByNodes = new HashMap<>(); + private final Map<ReactionNode, CellDesignerAnchor> anchorsByNodes = new HashMap<>(); /** * Stores information about operator type that should be used for a modifier * node. */ - private Map<ReactionNode, String> typeByModifier = new HashMap<>(); + private final Map<ReactionNode, String> typeByModifier = new HashMap<>(); /** * Stores information to which point on the central rectangle modifier should * be connected. */ - private Map<ReactionNode, String> lineTypeByModifier = new HashMap<>(); + private final Map<ReactionNode, String> lineTypeByModifier = new HashMap<>(); /** * Stores information about list of points that create line describing * modifier. */ - private Map<ReactionNode, List<Point2D>> pointsByModifier = new HashMap<>(); + private final Map<ReactionNode, List<Point2D>> pointsByModifier = new HashMap<>(); /** * Stores information about list of points that create line describing * modifier. */ - private Map<ReactionNode, LineProperties> linePropertiesByModifier = new HashMap<>(); + private final Map<ReactionNode, LineProperties> linePropertiesByModifier = new HashMap<>(); /** * Helps to determine if the key Modifier should be treats as part of * NodeOperator (value in the map). */ - private Map<Modifier, Modifier> modifierParentOperator = new HashMap<>(); + private final Map<Modifier, Modifier> modifierParentOperator = new HashMap<>(); /** * Identifies central line segment in {@link TwoProductReactionInterface} and * {@link TwoReactantReactionInterface} reactions. */ - private Map<ReactionNode, Integer> indexByComplexReaction = new HashMap<>(); + private final Map<ReactionNode, Integer> indexByComplexReaction = new HashMap<>(); /** * Default class logger. */ - private Logger logger = LogManager.getLogger(); + private final Logger logger = LogManager.getLogger(); /** * Xml parser used for processing notes into structured data. */ - private RestAnnotationParser rap = new RestAnnotationParser(); + private final RestAnnotationParser rap = new RestAnnotationParser(); /** * Helper object used for manipulation on the point coordinates in * CellDesigner format. */ - private CellDesignerPointTransformation pointTransformation = new CellDesignerPointTransformation(); + private final CellDesignerPointTransformation pointTransformation = new CellDesignerPointTransformation(); /** * Should SBGN standard be used. */ - private boolean sbgn; + private final boolean sbgn; - private boolean oldCellDesignerVersion; + private final boolean oldCellDesignerVersion; /** * Default constructor. @@ -217,7 +216,7 @@ public class ReactionFromXml { // with reversible flag (even though it cannot be reversible) if (result.isReversible()) { logger.warn( - new ElementUtils().getElementTag(result) + "Reacion was marked as reversible but it cannot be reversible"); + new ElementUtils().getElementTag(result) + "Reacion was marked as reversible but it cannot be reversible"); result.setReversible(false); } } @@ -328,7 +327,7 @@ public class ReactionFromXml { * @throws InvalidXmlSchemaException thrown when annotationNode is invalid xml */ private Reaction parseReactionAnnotation(final Node annotationNode, final Reaction reaction, final Model model) - throws ReactionParserException { + throws ReactionParserException { Reaction result = reaction; NodeList nodes = annotationNode.getChildNodes(); if (oldCellDesignerVersion) { @@ -342,9 +341,9 @@ public class ReactionFromXml { } else if (node.getNodeName().equalsIgnoreCase("rdf:RDF")) { try { XmlAnnotationParser xmlParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); result.addMiriamData(xmlParser.parseRdfNode(node, new LogMarker(ProjectLogEntryType.PARSING_ISSUE, - result.getClass().getSimpleName(), result.getElementId(), model.getName()))); + result.getClass().getSimpleName(), result.getElementId(), model.getName()))); } catch (final InvalidXmlSchemaException e) { throw new ReactionParserException("Problem with parsing RDF", result, e); } @@ -394,7 +393,7 @@ public class ReactionFromXml { result.addReactant(parseBaseReactant(reactantNode, model)); } else { throw new ReactionParserException( - "Unknown element of celldesigner:baseReactants: " + node.getNodeName(), result); + "Unknown element of celldesigner:baseReactants: " + node.getNodeName(), result); } } } @@ -407,7 +406,7 @@ public class ReactionFromXml { result.addProduct(parseBaseProduct(model, reactantNode)); } else { throw new ReactionParserException( - "Unknown element of celldesigner:baseProducts: " + node.getNodeName(), result); + "Unknown element of celldesigner:baseProducts: " + node.getNodeName(), result); } } } @@ -429,7 +428,7 @@ public class ReactionFromXml { gateMembers = nodeReaction; } else { throw new ReactionParserException( - "Unknown element of reaction/celldesigner:extension: " + nodeReaction.getNodeName(), result); + "Unknown element of reaction/celldesigner:extension: " + nodeReaction.getNodeName(), result); } } } @@ -456,7 +455,7 @@ public class ReactionFromXml { createOperatorsForTwoProductReaction(result); } else { throw new ReactionParserException( - "Problem with parsing lines. Unknown reaction: " + type + "; " + result.getClass().getName(), result); + "Problem with parsing lines. Unknown reaction: " + type + "; " + result.getClass().getName(), result); } for (final AbstractNode reactionNode : result.getNodes()) { @@ -503,7 +502,7 @@ public class ReactionFromXml { if (result.isReversible()) { for (final Reactant reactant : result.getReactants()) { reactant.getLine().getBeginAtd() - .setArrowType(result.getProducts().get(0).getLine().getEndAtd().getArrowType()); + .setArrowType(result.getProducts().get(0).getLine().getEndAtd().getArrowType()); } } @@ -559,7 +558,7 @@ public class ReactionFromXml { * schema */ private EditPoints gateMembersToPoints(final Reaction reaction, final Node gateMembers) - throws InvalidXmlSchemaException, ReactionParserException { + throws InvalidXmlSchemaException, ReactionParserException { Node lastMember = null; EditPoints result = new EditPoints(); for (int i = 0; i < gateMembers.getChildNodes().getLength(); i++) { @@ -622,9 +621,9 @@ public class ReactionFromXml { ModifierTypeUtils modifierTypeUtils = new ModifierTypeUtils(); Point2D p = modifierTypeUtils.getAnchorPointOnReactionRect(modifier.getReaction(), - lineTypeByModifier.get(modifier)); + lineTypeByModifier.get(modifier)); PolylineData line = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, p, - pointsByModifier.get(modifier)); + pointsByModifier.get(modifier)); startPoint = converter.getAnchorPointCoordinates(element, anchorsByNodes.get(modifier), line); line.setStartPoint(startPoint); @@ -690,14 +689,14 @@ public class ReactionFromXml { reactant.setLine(reactant.getLine().reverse()); reactant.getLine().addLine(p2, p); - reactant.getLine().trimEnd(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); - operator.getLine().trimEnd(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); + reactant.getLine().trimEnd(ReactionData.RECT_SIZE / 2 - 1); + operator.getLine().trimEnd(ReactionData.RECT_SIZE / 2 - 1); result.addNode(operator); PolylineData centerLine = new PolylineData( - pointTransformation.copyPoint(reactant.getLine().getEndPoint()), - pointTransformation.copyPoint(operator.getLine().getEndPoint())); + pointTransformation.copyPoint(reactant.getLine().getEndPoint()), + pointTransformation.copyPoint(operator.getLine().getEndPoint())); centerLine.setType(reactant.getLine().getType()); result.setLine(centerLine); @@ -711,7 +710,7 @@ public class ReactionFromXml { private void createOperators(final Reaction result) { // central line points Point2D p1 = result.getReactants().get(0).getLine().getLines() - .get(result.getReactants().get(0).getLine().getLines().size() - 1).getP1(); + .get(result.getReactants().get(0).getLine().getLines().size() - 1).getP1(); Point2D p2 = result.getProducts().get(0).getLine().getLines().get(0).getP2(); Point2D tmp = result.getProducts().get(0).getLine().getStartPoint(); Point2D productSplitOperatorBeginPoint = new Point2D.Double(tmp.getX(), tmp.getY()); @@ -743,7 +742,7 @@ public class ReactionFromXml { double dy = p2.getY() - p1.getY(); Point2D reactantAndOperatorBeginPoint = new Point2D.Double(p1.getX() + dx * REACTANT_END_RATIO, - p1.getY() + dy * REACTANT_END_RATIO); + p1.getY() + dy * REACTANT_END_RATIO); PolylineData ld = new PolylineData(reactantAndOperatorBeginPoint, reactantAndOperatorEndPoint); @@ -787,7 +786,7 @@ public class ReactionFromXml { } Point2D productSplitOperatorEndPoint = new Point2D.Double(p1.getX() + dx * PRODUCT_START_RATIO, - p1.getY() + dy * PRODUCT_START_RATIO); + p1.getY() + dy * PRODUCT_START_RATIO); ld = new PolylineData(productSplitOperatorEndPoint, productSplitOperatorBeginPoint); @@ -812,7 +811,7 @@ public class ReactionFromXml { if (!toExclude.contains(product)) { // outputOperator.addOutput(product); product.getLine().setStartPoint(productSplitOperatorEndPoint.getX(), - productSplitOperatorEndPoint.getY()); + productSplitOperatorEndPoint.getY()); } } if (lineType != null) { @@ -890,7 +889,7 @@ public class ReactionFromXml { andOperator.getLine().addLine(product.getLine().getLines().get(i)); } andOperator.getLine().setEndPoint(p); - andOperator.getLine().trimEnd(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); + andOperator.getLine().trimEnd(ReactionData.RECT_SIZE / 2 - 1); p = new Point2D.Double((p2.getX() + p1.getX()) / 2, (p2.getY() + p1.getY()) / 2); @@ -898,14 +897,14 @@ public class ReactionFromXml { product.getLine().removeLine(0); } product.getLine().setStartPoint(p); - product.getLine().trimBegin(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); + product.getLine().trimBegin(ReactionData.RECT_SIZE / 2 - 1); product.getLine().getEndAtd().setArrowType(ArrowType.FULL); result.addNode(andOperator); PolylineData centerLine = new PolylineData(pointTransformation.copyPoint(andOperator.getLine().getEndPoint()), - pointTransformation.copyPoint(product.getLine().getStartPoint())); + pointTransformation.copyPoint(product.getLine().getStartPoint())); centerLine.setType(product.getLine().getType()); result.setLine(centerLine); @@ -939,7 +938,7 @@ public class ReactionFromXml { types += string + ", "; } throw new ReactionParserException( - "Couldn't find type of BOOLEAN_LOGIC_GATE. Unknown types identified: " + types, result); + "Couldn't find type of BOOLEAN_LOGIC_GATE. Unknown types identified: " + types, result); } operator.addInputs(andOperator.getInputs()); @@ -947,18 +946,18 @@ public class ReactionFromXml { // operator line Point2D secondPoint = pointTransformation.getPointOnLine(product.getLine().getLines().get(0).getP1(), - product.getLine().getLines().get(0).getP2(), 0.4); + product.getLine().getLines().get(0).getP2(), 0.4); Point2D thirdPoint = pointTransformation.getPointOnLine(product.getLine().getLines().get(0).getP1(), - product.getLine().getLines().get(0).getP2(), 0.6); + product.getLine().getLines().get(0).getP2(), 0.6); PolylineData line = new PolylineData(pointTransformation.copyPoint( - product.getLine().getStartPoint()), - pointTransformation.copyPoint(secondPoint)); + product.getLine().getStartPoint()), + pointTransformation.copyPoint(secondPoint)); line.setType(product.getLine().getType()); operator.setLine(line); // center line PolylineData centerLine = new PolylineData(pointTransformation.copyPoint(secondPoint), - pointTransformation.copyPoint(thirdPoint)); + pointTransformation.copyPoint(thirdPoint)); centerLine.setType(product.getLine().getType()); result.setLine(centerLine); @@ -1022,7 +1021,7 @@ public class ReactionFromXml { Point2D p3 = product2Converter.getPointCoordinates(product2.getElement(), anchorsByNodes.get(product2)); Point2D centerPoint = pointTransformation.getCoordinatesInNormalBase(product1.getElement().getCenter(), - product2.getElement().getCenter(), reactant.getElement().getCenter(), p); + product2.getElement().getCenter(), reactant.getElement().getCenter(), p); int startId0 = 0; int num0 = points.getLineStartingPoints().get(0); @@ -1041,15 +1040,15 @@ public class ReactionFromXml { PolylineData reactantLine = PolylineDataFactory.createPolylineDataFromEditPoints(centerPoint, p1, linePoints1); p1 = product2Converter.getAnchorPointCoordinates(product2.getElement(), anchorsByNodes.get(product2), - product2Line.reverse()); + product2Line.reverse()); product2Line.setEndPoint(p1); p1 = product1Converter.getAnchorPointCoordinates(product1.getElement(), anchorsByNodes.get(product1), - product1Line.reverse()); + product1Line.reverse()); product1Line.setEndPoint(p1); p1 = reactantConverter.getAnchorPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant), - reactantLine.reverse()); + reactantLine.reverse()); reactantLine.setEndPoint(p1); product2Line.getEndAtd().setArrowType(ArrowType.FULL); @@ -1071,7 +1070,7 @@ public class ReactionFromXml { * @throws ReactionParserException thrown when data for reaction is invalid */ private void createLinesForTwoReactantReaction(final Reaction reaction, final EditPoints points) - throws ReactionParserException { + throws ReactionParserException { ReactionLineData rld = null; if (!(reaction instanceof HeterodimerAssociationReaction)) { rld = ReactionLineData.getByReactionType(reaction.getClass()); @@ -1129,7 +1128,7 @@ public class ReactionFromXml { } p1 = reactantConverter.getAnchorPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant), - reactantLine.reverse()); + reactantLine.reverse()); reactantLine.setEndPoint(p1); reactantLine = reactantLine.reverse(); @@ -1138,9 +1137,9 @@ public class ReactionFromXml { int productEndId = productStartId + points.getLineStartingPoints().get(reaction.getReactants().size()); List<Point2D> linePoints3 = new ArrayList<>(points.getPoints().subList(productStartId, productEndId)); PolylineData productLine = PolylineDataFactory.createPolylineDataFromEditPoints(centerPoint, - productConverter.getPointCoordinates(product.getElement(), anchorsByNodes.get(product)), linePoints3); + productConverter.getPointCoordinates(product.getElement(), anchorsByNodes.get(product)), linePoints3); Point2D p1 = productConverter.getAnchorPointCoordinates(product.getElement(), anchorsByNodes.get(product), - productLine.reverse()); + productLine.reverse()); productLine.setEndPoint(p1); if (rld != null) { productLine.setType(rld.getLineType()); @@ -1171,7 +1170,7 @@ public class ReactionFromXml { Point2D startPoint = reactantConverter.getPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant)); PolylineData ld = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, endPoint, - editPoints.getPoints()); + editPoints.getPoints()); // first place where the index of rectangle is kept Integer index = editPoints.getReactionCenterLineIndex(); @@ -1194,7 +1193,7 @@ public class ReactionFromXml { } startPoint = reactantConverter.getAnchorPointCoordinates(reactant.getElement(), anchorsByNodes.get(reactant), ld); endPoint = productConverter.getAnchorPointCoordinates(product.getElement(), anchorsByNodes.get(product), - ld.reverse()); + ld.reverse()); ld.setStartPoint(startPoint); ld.setEndPoint(endPoint); @@ -1211,11 +1210,11 @@ public class ReactionFromXml { Point2D p2 = ld.getLines().get(ld.getLines().size() - index - 1).getP2(); Point2D p = new Point2D.Double((p2.getX() + p1.getX()) / 2, (p2.getY() + p1.getY()) / 2); reactantLine.setEndPoint(p); - reactantLine.trimEnd(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); + reactantLine.trimEnd(ReactionData.RECT_SIZE / 2 - 1); p = new Point2D.Double((p2.getX() + p1.getX()) / 2, (p2.getY() + p1.getY()) / 2); productLine.setStartPoint(p); - productLine.trimBegin(ReactionCellDesignerConverter.RECT_SIZE / 2 - 1); + productLine.trimBegin(ReactionData.RECT_SIZE / 2 - 1); productLine.getEndAtd().setArrowType(ArrowType.FULL); @@ -1229,7 +1228,7 @@ public class ReactionFromXml { productLine.trimEnd(rld.getProductLineTrim()); PolylineData reactionLine = new PolylineData(pointTransformation.copyPoint(reactantLine.getEndPoint()), - pointTransformation.copyPoint(productLine.getStartPoint())); + pointTransformation.copyPoint(productLine.getStartPoint())); reactionLine.setType(reactantLine.getType()); reaction.setLine(reactionLine); } @@ -1294,7 +1293,7 @@ public class ReactionFromXml { Point2D point = new Point2D.Double(posX, posY); if (!pointTransformation.isValidPoint(point)) { throw new InvalidArgumentException( - "Invalid point parsed from input string: " + string + ". Result point: " + point); + "Invalid point parsed from input string: " + string + ". Result point: " + point); } points2.add(point); } @@ -1323,7 +1322,7 @@ public class ReactionFromXml { result.addReactant(newReactant); } else { throw new ReactionParserException( - "Unknown element of celldesigner:listOfReactantLinks: " + node.getNodeName(), result); + "Unknown element of celldesigner:listOfReactantLinks: " + node.getNodeName(), result); } } } @@ -1366,7 +1365,7 @@ public class ReactionFromXml { points = parseEditPoints(node); } else { throw new ReactionParserException("Unknown element of celldesigner:reactantLink: " + node.getNodeName(), - reaction); + reaction); } } } @@ -1402,7 +1401,7 @@ public class ReactionFromXml { // central line points Point2D p1 = reaction.getReactants().get(0).getLine().getLines() - .get(reaction.getReactants().get(0).getLine().getLines().size() - 1).getP1(); + .get(reaction.getReactants().get(0).getLine().getLines().size() - 1).getP1(); Point2D p2 = reaction.getProducts().get(0).getLine().getLines().get(0).getP2(); Set<AbstractNode> toExclude = new HashSet<AbstractNode>(); @@ -1446,7 +1445,7 @@ public class ReactionFromXml { result.addProduct(link); } else { throw new ReactionParserException("Unknown element of celldesigner:listOfProductLinks: " + node.getNodeName(), - result); + result); } } } @@ -1490,7 +1489,7 @@ public class ReactionFromXml { points = parseEditPoints(node); } else { throw new ReactionParserException("Unknown element of celldesigner:reactantLink: " + node.getNodeName(), - reaction); + reaction); } } } @@ -1547,7 +1546,7 @@ public class ReactionFromXml { parseModificationReaction(result, node, model); } else { throw new ReactionParserException("Unknown element of celldesigner:listOfModification: " + node.getNodeName(), - result); + result); } } } @@ -1593,7 +1592,7 @@ public class ReactionFromXml { ModifierType modifierType = modifierTypeUtils.getModifierTypeForStringType(type); if (modifierType == null) { String errorInfo = "[" + reaction.getClass().getSimpleName() + "\t" + reaction.getIdReaction() - + "]\tUnknown modifier type: " + type; + + "]\tUnknown modifier type: " + type; if (ReactionLineData.getByCellDesignerString(type) != null) { errorInfo += ".\tThis type can be applied to reaction type only, not modifier."; } @@ -1630,7 +1629,7 @@ public class ReactionFromXml { } } else { throw new ReactionParserException("Unknown element of celldesigner:listOfModification: " + node.getNodeName(), - reaction); + reaction); } } @@ -1666,7 +1665,7 @@ public class ReactionFromXml { startPoint = reactantConverter.getPointCoordinates(param.getElement(), anchorsByNodes.get(param)); PolylineData polyline = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, endPoint, - pointsByModifier.get(param)); + pointsByModifier.get(param)); startPoint = reactantConverter.getAnchorPointCoordinates(param.getElement(), anchorsByNodes.get(param), polyline); polyline.setStartPoint(startPoint); @@ -1723,7 +1722,7 @@ public class ReactionFromXml { result.setLineDirections(getlineDirectionMapForReactions(reactantNode)); } else { throw new InvalidXmlSchemaException( - "Unknown element of celldesigner:connectScheme: " + nodeReaction.getNodeName()); + "Unknown element of celldesigner:connectScheme: " + nodeReaction.getNodeName()); } } } @@ -1750,7 +1749,7 @@ public class ReactionFromXml { result.put(index, value); } else { throw new InvalidXmlSchemaException( - "Unknown element of reaction/celldesigner:baseReactant: " + node.getNodeName()); + "Unknown element of reaction/celldesigner:baseReactant: " + node.getNodeName()); } } } @@ -1781,7 +1780,7 @@ public class ReactionFromXml { anchorsByNodes.put(reactant, CellDesignerAnchor.valueOf(XmlParser.getNodeAttr("position", node))); } else { throw new InvalidXmlSchemaException( - "Unknown element of reaction/celldesigner:baseReactant: " + node.getNodeName()); + "Unknown element of reaction/celldesigner:baseReactant: " + node.getNodeName()); } } } @@ -1812,7 +1811,7 @@ public class ReactionFromXml { anchorsByNodes.put(product, CellDesignerAnchor.valueOf(XmlParser.getNodeAttr("position", node))); } else { throw new InvalidXmlSchemaException( - "Unknown element of reaction/celldesigner:baseProduct: " + node.getNodeName()); + "Unknown element of reaction/celldesigner:baseProduct: " + node.getNodeName()); } } } diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java index 7e7311cbadb7eddf565d240108f7660f3365cc6c..f51028bd81c02857009bc0302226e719ac5d9208 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java @@ -1,32 +1,16 @@ package lcsb.mapviewer.converter.model.celldesigner.reaction; -import java.awt.geom.Line2D; -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - +import lcsb.mapviewer.commands.layout.ModifierType; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidArgumentException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; import lcsb.mapviewer.converter.model.celldesigner.geometry.CellDesignerAliasConverter; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerLineTransformation; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerPointTransformation; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.PolylineDataFactory; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType; import lcsb.mapviewer.converter.model.celldesigner.types.ModifierTypeUtils; import lcsb.mapviewer.converter.model.celldesigner.types.OperatorType; import lcsb.mapviewer.converter.model.celldesigner.types.OperatorTypeUtils; @@ -47,60 +31,70 @@ import lcsb.mapviewer.model.map.reaction.type.TwoReactantReactionInterface; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.modelutils.map.ElementUtils; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.awt.geom.Line2D; +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * This is a part of {@link ReactionXmlParser} class functionality that allows * to export reaction into CellDesigner xml node. - * + * * @author Piotr Gawron - * */ public class ReactionToXml { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Helper object used for manipulation on the point coordinates in * CellDesigner format. */ - private CellDesignerPointTransformation pointTransformation = new CellDesignerPointTransformation(); + private final CellDesignerPointTransformation pointTransformation = new CellDesignerPointTransformation(); /** * Helper object used for manipulation on the line structures in CellDesigner * format. */ - private CellDesignerLineTransformation lineTransformation = new CellDesignerLineTransformation(); + private final CellDesignerLineTransformation lineTransformation = new CellDesignerLineTransformation(); /** * Collection of {@link CellDesignerElement cell designer elements} parsed * from xml. */ - private CellDesignerElementCollection elements; + private final CellDesignerElementCollection elements; /** * Helps in providing human readable identifiers of elements for logging. */ - private ElementUtils eu = new ElementUtils(); - - private int metaIdCounter = 0; - + private final ElementUtils eu = new ElementUtils(); /** * Defines if SBGN standard should be used. */ - private boolean sbgn; + private final boolean sbgn; + private int metaIdCounter = 0; /** * Default constructor. Model is required because some nodes require access to * other parts of the model. - * - * @param sbgn - * Should the converter use SBGN standard - * @param elements - * collection of {@link CellDesignerElement cell designer elements} - * parsed from xml + * + * @param sbgn Should the converter use SBGN standard + * @param elements collection of {@link CellDesignerElement cell designer elements} + * parsed from xml */ public ReactionToXml(final CellDesignerElementCollection elements, final boolean sbgn) { this.elements = elements; @@ -109,9 +103,8 @@ public class ReactionToXml { /** * Transform reaction into CellDesigner xml representation. - * - * @param reaction - * reaction to transform + * + * @param reaction reaction to transform * @return xml representation of reaction */ public String toXml(final Reaction reaction) throws InconsistentModelException { @@ -160,9 +153,8 @@ public class ReactionToXml { /** * Returns xml node with list of modification. - * - * @param reaction - * reaction for which list is generated + * + * @param reaction reaction for which list is generated * @return xml node with list of modification */ private String getListOfModificationsXmlStringForReaction(final Reaction reaction) throws InconsistentModelException { @@ -202,9 +194,8 @@ public class ReactionToXml { /** * Returns SBML node with list of modifications. - * - * @param reaction - * reaction for which list is generated + * + * @param reaction reaction for which list is generated * @return SBML node with list of modifications */ private String getSbmlListOfModificationsXmlStringForReaction(final Reaction reaction) { @@ -222,9 +213,8 @@ public class ReactionToXml { /** * Creates modifierSpeciesReference SBML node for given modifier. - * - * @param modifier - * modifier to be transformed + * + * @param modifier modifier to be transformed * @return modifierSpeciesReference SBML node for given modifier */ private String getModifierReferenceXmlString(final Modifier modifier) { @@ -258,9 +248,8 @@ public class ReactionToXml { /** * Creates xml node for given modifier operator. - * - * @param modifierOperator - * modifier operator to be transformed + * + * @param modifierOperator modifier operator to be transformed * @return xml node for given modifier operator */ private String getModifierXmlString(final NodeOperator modifierOperator) { @@ -306,7 +295,7 @@ public class ReactionToXml { sb.append("\""); sb.append(">\n"); - PolylineData[] lines = new PolylineData[] { modifierOperator.getLine() }; + PolylineData[] lines = new PolylineData[]{modifierOperator.getLine()}; sb.append(getConnectSchemeXmlStringForLines(lines)); sb.append(getLineXmlStringForLines(modifierOperator.getLine())); @@ -317,11 +306,9 @@ public class ReactionToXml { /** * Creates xml node for given modifier. - * - * @param modifier - * modifier to be transformed - * @param gate - * operator to which modifier is connected (if any) + * + * @param modifier modifier to be transformed + * @param gate operator to which modifier is connected (if any) * @return xml node for given modifier */ private String getModifierXmlString(final Modifier modifier, final NodeOperator gate) throws InconsistentModelException { @@ -367,7 +354,7 @@ public class ReactionToXml { } sb.append(">\n"); - PolylineData[] lines = new PolylineData[] { modifier.getLine() }; + PolylineData[] lines = new PolylineData[]{modifier.getLine()}; sb.append(getConnectSchemeXmlStringForLines(lines)); sb.append(getLinkTargetXmlString(modifier)); @@ -378,37 +365,34 @@ public class ReactionToXml { } private String getLineXmlStringForLines(final PolylineData line) { - StringBuilder sb = new StringBuilder(); - sb.append("<celldesigner:line "); - sb.append("width=\"" + line.getWidth() + "\" "); - sb.append("color=\"" + XmlParser.colorToString(line.getColor()) + "\" "); - sb.append("type=\"Straight\" "); - sb.append("/>\n"); - return sb.toString(); + String sb = "<celldesigner:line " + + "width=\"" + line.getWidth() + "\" " + + "color=\"" + XmlParser.colorToString(line.getColor()) + "\" " + + "type=\"Straight\" " + + "/>\n"; + return sb; } /** * Gets target link string for given modifier. - * - * @param modifier - * modifier to be transformed + * + * @param modifier modifier to be transformed * @return anchor xml node representing modifier connection to reaction */ private String getLinkTargetXmlString(final ReactionNode modifier) { - StringBuilder sb = new StringBuilder(); - sb.append("<celldesigner:linkTarget species=\"" + elements.getElementId(modifier.getElement()) + "\" alias=\"" - + modifier.getElement().getElementId() + "\">\n"); - sb.append(getAnchorXml(modifier.getElement(), modifier.getLine().getStartPoint())); - sb.append("</celldesigner:linkTarget>\n"); + String sb = "<celldesigner:linkTarget species=\"" + + elements.getElementId(modifier.getElement()) + "\" alias=\"" + + modifier.getElement().getElementId() + "\">\n" + + getAnchorXml(modifier.getElement(), modifier.getLine().getStartPoint()) + + "</celldesigner:linkTarget>\n"; - return sb.toString(); + return sb; } /** * Creates SBML node for list of products. - * - * @param reaction - * reaction from which products are taken + * + * @param reaction reaction from which products are taken * @return SBML node representing list of products */ private String getListOfProductsXmlStringForReaction(final Reaction reaction) { @@ -449,9 +433,8 @@ public class ReactionToXml { /** * Creates sbml node for list of reactants. - * - * @param reaction - * reaction from which products are taken + * + * @param reaction reaction from which products are taken * @return sbml node representing list of reactants */ private String getListOfReactantsXmlStringForReaction(final Reaction reaction) { @@ -490,34 +473,31 @@ public class ReactionToXml { /** * Creates annotation xml node for reaction. - * - * @param reaction - * reaction to be processed + * + * @param reaction reaction to be processed * @return xml node representing annotation part */ private String getAnnotationXmlStringForReaction(final Reaction reaction) throws InconsistentModelException { String reactionClassString = getCellDesignerReactionTypeString(reaction); - StringBuilder sb = new StringBuilder(); - sb.append("<annotation>\n"); - sb.append("<celldesigner:extension>\n"); - sb.append("<celldesigner:reactionType>" + reactionClassString + "</celldesigner:reactionType>\n"); - sb.append(getBaseReactantsXmlStringForReaction(reaction)); - sb.append(getBaseProductsXmlStringForReaction(reaction)); - sb.append(getListOfReactantLinksXmlStringForReaction(reaction)); - sb.append(getListOfProductLinksXmlStringForReaction(reaction)); - sb.append(getConnectSchemeXmlStringForReaction(reaction)); - sb.append(getEditPointsXmlStringForReaction(reaction)); - sb.append(getListOfModificationsXmlStringForReaction(reaction)); - sb.append(getListOfGateMembersXmlStringForReaction(reaction)); - - sb.append(getLineXmlStringForLines(reaction.getLine())); XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); - sb.append("</celldesigner:extension>\n"); - sb.append(xmlAnnotationParser.dataSetToXmlString(reaction.getMiriamData(), reaction.getIdReaction())); - sb.append("</annotation>\n"); - return sb.toString(); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + String sb = "<annotation>\n" + + "<celldesigner:extension>\n" + + "<celldesigner:reactionType>" + reactionClassString + "</celldesigner:reactionType>\n" + + getBaseReactantsXmlStringForReaction(reaction) + + getBaseProductsXmlStringForReaction(reaction) + + getListOfReactantLinksXmlStringForReaction(reaction) + + getListOfProductLinksXmlStringForReaction(reaction) + + getConnectSchemeXmlStringForReaction(reaction) + + getEditPointsXmlStringForReaction(reaction) + + getListOfModificationsXmlStringForReaction(reaction) + + getListOfGateMembersXmlStringForReaction(reaction) + + getLineXmlStringForLines(reaction.getLine()) + + "</celldesigner:extension>\n" + + xmlAnnotationParser.dataSetToXmlString(reaction.getMiriamData(), reaction.getIdReaction()) + + "</annotation>\n"; + return sb; } String getCellDesignerReactionTypeString(final Reaction reaction) { @@ -564,9 +544,8 @@ public class ReactionToXml { /** * Returns xml node with a list of gate members for reaction. For now only * {@link TwoReactantReactionInterface} is supported. - * - * @param reaction - * reaction for which the xml will be returned + * + * @param reaction reaction for which the xml will be returned * @return xml string with list of gate members for reaction */ private StringBuilder getListOfGateMembersXmlStringForReaction(final Reaction reaction) { @@ -645,9 +624,8 @@ public class ReactionToXml { /** * Creates xml node (listOfProductLinks) with list of products. - * - * @param reaction - * reaction for which list of products is created + * + * @param reaction reaction for which list of products is created * @return xml node (listOfProductLinks) with list of products */ private String getListOfProductLinksXmlStringForReaction(final Reaction reaction) { @@ -666,9 +644,8 @@ public class ReactionToXml { /** * Creates xml node (listOfReactantLinks) with list of reactants. - * - * @param reaction - * reaction for which list of reactants is created + * + * @param reaction reaction for which list of reactants is created * @return xml node (listOfReactantLinks) with list of reactants */ private String getListOfReactantLinksXmlStringForReaction(final Reaction reaction) { @@ -689,63 +666,54 @@ public class ReactionToXml { /** * Creates rectantLink xml node for reactant. - * - * @param reactant - * reactant to be transformed + * + * @param reactant reactant to be transformed * @return xml node describing reactantLink */ private String getReactantLinkXmlString(final Reactant reactant) { Element alias = reactant.getElement(); - StringBuilder sb = new StringBuilder(); - sb.append("<celldesigner:reactantLink "); - sb.append("reactant=\"" + elements.getElementId(alias) + "\" "); - sb.append("alias=\"" + alias.getElementId() + "\" "); - // targetLineIndex is missing (maybe it's unimportant :)) - sb.append(">\n"); - - sb.append(getAnchorXml(alias, reactant.getLine().getStartPoint())); - sb.append(getConnectSchemeXmlStringForLines(new PolylineData[] { reactant.getLine() })); - sb.append(getEditPointsXmlStringForLine(new PolylineData[] { reactant.getLine() }, 0)); - sb.append(getLineXmlStringForLines(reactant.getLine())); - sb.append("</celldesigner:reactantLink>\n"); - return sb.toString(); + String sb = "<celldesigner:reactantLink " + + "reactant=\"" + elements.getElementId(alias) + "\" " + + "alias=\"" + alias.getElementId() + "\" " + // targetLineIndex is missing (maybe it's unimportant :)) + + ">\n" + + getAnchorXml(alias, reactant.getLine().getStartPoint()) + + getConnectSchemeXmlStringForLines(new PolylineData[]{reactant.getLine()}) + + getEditPointsXmlStringForLine(new PolylineData[]{reactant.getLine()}, 0) + + getLineXmlStringForLines(reactant.getLine()) + + "</celldesigner:reactantLink>\n"; + return sb; } /** * Creates productLink xml node for product. - * - * @param product - * product to be transformed + * + * @param product product to be transformed * @return xml node describing productLink */ private String getProductLinkXmlString(final Product product) { Element alias = product.getElement(); - PolylineData[] lines = new PolylineData[] { getLineBeforeTrimming(product) }; - - StringBuilder sb = new StringBuilder(); - sb.append("<celldesigner:productLink "); - sb.append("product=\"" + elements.getElementId(alias) + "\" "); - sb.append("alias=\"" + alias.getElementId() + "\" "); - // targetLineIndex is missing (maybe it's unimportant :)) - sb.append(">\n"); - - sb.append(getAnchorXml(alias, getLineBeforeTrimming(product).getEndPoint())); - - sb.append(getConnectSchemeXmlStringForLines(lines)); - - sb.append(getEditPointsXmlStringForLine(lines, 0)); - sb.append(getLineXmlStringForLines(product.getLine())); - sb.append("</celldesigner:productLink>\n"); - return sb.toString(); + PolylineData[] lines = new PolylineData[]{getLineBeforeTrimming(product)}; + + String sb = "<celldesigner:productLink " + + "product=\"" + elements.getElementId(alias) + "\" " + + "alias=\"" + alias.getElementId() + "\" " + // targetLineIndex is missing (maybe it's unimportant :)) + + ">\n" + + getAnchorXml(alias, getLineBeforeTrimming(product).getEndPoint()) + + getConnectSchemeXmlStringForLines(lines) + + getEditPointsXmlStringForLine(lines, 0) + + getLineXmlStringForLines(product.getLine()) + + "</celldesigner:productLink>\n"; + return sb; } /** * Creates valid xml node with connectScheme for the set of lines. - * - * @param lines - * list of lines to be included in connectScheme. As far as I - * remember only one or three lines could be provided. + * + * @param lines list of lines to be included in connectScheme. As far as I + * remember only one or three lines could be provided. * @return xml node with connectScheme */ String getConnectSchemeXmlStringForLines(final PolylineData[] lines) { @@ -774,13 +742,11 @@ public class ReactionToXml { * Creates * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} * structure representing lines in CellDesigner. - * - * @param lines - * lines to be transformed into single - * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} - * structure - * @param centerIndex - * where the central line is positioned + * + * @param lines lines to be transformed into single + * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} + * structure + * @param centerIndex where the central line is positioned * @return xml node */ private String getEditPointsXmlStringForLine(final PolylineData[] lines, final Integer centerIndex) { @@ -791,15 +757,12 @@ public class ReactionToXml { * Creates * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} * structure representing lines in CellDesigner. - * - * @param lines - * lines to be transformed into single - * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} - * structure - * @param centerPoint - * central point when list of lines is greater than 1 - * @param centerIndex - * where the central line is positioned + * + * @param lines lines to be transformed into single + * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} + * structure + * @param centerPoint central point when list of lines is greater than 1 + * @param centerIndex where the central line is positioned * @return xml node */ private String getEditPointsXmlStringForLine(final PolylineData[] lines, final Point2D centerPoint, final Integer centerIndex) { @@ -851,12 +814,9 @@ public class ReactionToXml { * Returns xml node representing * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} * structure. - * - * @param reaction - * reaction for which xml node is generated - * @return xml node representing - * {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} - * structure + * + * @param reaction reaction for which xml node is generated + * @return xml node representing {@link lcsb.mapviewer.converter.model.celldesigner.structure.fields.EditPoints} structure */ String getEditPointsXmlStringForReaction(final Reaction reaction) { if (getCellDesignerReactionTypeString(reaction).equals("BOOLEAN_LOGIC_GATE")) { @@ -896,6 +856,7 @@ public class ReactionToXml { for (final AbstractNode node : operator.getOutputs()) { if (!(node instanceof Product)) { process = false; + break; } } if (process) { @@ -920,7 +881,7 @@ public class ReactionToXml { Point2D centerPoint = pointTransformation.getCoordinatesInCellDesignerBase(pointA, pointB, pointC, pointO); - return getEditPointsXmlStringForLine(new PolylineData[] { line1.reverse(), line2, line3 }, centerPoint, index); + return getEditPointsXmlStringForLine(new PolylineData[]{line1.reverse(), line2, line3}, centerPoint, index); } private String getEditPointsXmlStringForTwoReactantReaction(final Reaction reaction) { @@ -935,6 +896,7 @@ public class ReactionToXml { for (final AbstractNode node : operator.getInputs()) { if (!(node instanceof Reactant)) { process = false; + break; } } if (process) { @@ -970,7 +932,7 @@ public class ReactionToXml { Point2D centerPoint = pointTransformation.getCoordinatesInCellDesignerBase(pointA, pointB, pointC, pointO); return getEditPointsXmlStringForLine( - new PolylineData[] { line1.reverse(), line2.reverse(), line3.reverse().reverse() }, centerPoint, + new PolylineData[]{line1.reverse(), line2.reverse(), line3.reverse().reverse()}, centerPoint, line3.getLines().size() - product.getLine().getLines().size()); } @@ -978,7 +940,7 @@ public class ReactionToXml { Reactant r = reaction.getReactants().get(0); Point2D centerPoint = r.getLine().getEndPoint(); return getEditPointsXmlStringForLine( - new PolylineData[] { reaction.getProducts().get(0).getLine() }, centerPoint, + new PolylineData[]{reaction.getProducts().get(0).getLine()}, centerPoint, 0); } @@ -1012,7 +974,7 @@ public class ReactionToXml { PolylineData pd = new PolylineData(points); pd.setStartPoint(getAnchorPoint(reactant.getElement(), reactant.getLine().getStartPoint())); pd.setEndPoint(getAnchorPoint(product.getElement(), productLine.getEndPoint())); - return getEditPointsXmlStringForLine(new PolylineData[] { pd }, centerPosition); + return getEditPointsXmlStringForLine(new PolylineData[]{pd}, centerPosition); } private Point2D getAnchorPoint(final Element element, final Point2D originalPoint) { @@ -1024,9 +986,8 @@ public class ReactionToXml { /** * Creates valid xml node with connectScheme for the reaction. - * - * @param reaction - * reaction for which the connectSchema is going to be created + * + * @param reaction reaction for which the connectSchema is going to be created * @return xml node with connectScheme */ String getConnectSchemeXmlStringForReaction(final Reaction reaction) { @@ -1086,9 +1047,8 @@ public class ReactionToXml { /** * Returns xml node with list of base products. - * - * @param reaction - * reaction for which the node is created + * + * @param reaction reaction for which the node is created * @return xml node with list of base products */ private String getBaseProductsXmlStringForReaction(final Reaction reaction) { @@ -1116,9 +1076,8 @@ public class ReactionToXml { /** * Returns xml node with list of base reactants. - * - * @param reaction - * reaction for which the node is created + * + * @param reaction reaction for which the node is created * @return xml node with list of base reactants */ private String getBaseReactantsXmlStringForReaction(final Reaction reaction) { @@ -1150,12 +1109,10 @@ public class ReactionToXml { /** * Returns xml node that describes anchor point. - * - * @param alias - * alias on which we are looking for anchor - * @param point - * point on the alias that should be aligned to the closest anchor - * point + * + * @param alias alias on which we are looking for anchor + * @param point point on the alias that should be aligned to the closest anchor + * point * @return xml node with anchor point */ private String getAnchorXml(final Element alias, final Point2D point) { diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java index 0ca1fe6f736a47c20bd4478da6c9ad7d1ebdae99..afd8025635db0f2e16ab4c89eeae20a7a1bbd3a9 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java @@ -1,32 +1,28 @@ package lcsb.mapviewer.converter.model.celldesigner.species; -import java.util.ArrayList; -import java.util.List; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerParserException; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.utils.RestAnnotationParser; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import java.util.ArrayList; +import java.util.List; /** * Abstract class with the interface to parse element in CellDesigner file. - * + * + * @param <T> type of the CellDesigner object to parse + * @param <S> type of the model object to be obtained * @author Piotr Gawron - * - * @param <T> - * type of the CellDesigner object to parse - * @param <S> - * type of the model object to be obtained */ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>, S extends Element> { @@ -36,13 +32,13 @@ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>, * List of special strings in CellDesigner that should be translated into some * UTF characters. */ - private List<Pair<String, String>> encodedStrings = new ArrayList<>(); + private final List<Pair<String, String>> encodedStrings = new ArrayList<>(); /** * Parser of the notes that allows to extract additional structured data for * the object. */ - private RestAnnotationParser rap = new RestAnnotationParser(); + private final RestAnnotationParser rap = new RestAnnotationParser(); /** * Default constructor. @@ -110,29 +106,21 @@ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>, * Returns a {@link Pair} containing CellDesigner identifier in * {@link Pair#getLeft()} and element in {@link Pair#getRight()}. * - * @param node - * xml node be parsed - * @return {@link Pair} containing CellDesigner identifier in - * {@link Pair#getLeft()} and element parsed from xml node in - * {@link Pair#getRight()}. - * @throws InvalidXmlSchemaException - * thrown when xml is invalid + * @param node xml node be parsed + * @return {@link Pair} containing CellDesigner identifier in {@link Pair#getLeft()} and element parsed from xml node in {@link Pair#getRight()}. + * @throws InvalidXmlSchemaException thrown when xml is invalid */ public abstract Pair<String, T> parseXmlElement(final Node node) throws InvalidXmlSchemaException, CellDesignerParserException; /** - * Parses CellDEsigner xml node that is given as a plain text into element. + * Parses CellDesigner xml node that is given as a plain text into element. * Returns a {@link Pair} containing CellDesigner identifier in * {@link Pair#getLeft()} and element in {@link Pair#getRight()}. - * - * @param xmlString - * node to parse - * @return {@link Pair} containing CellDesigner identifier in - * {@link Pair#getLeft()} and element parsed from xml node in - * {@link Pair#getRight()}. - * @throws InvalidXmlSchemaException - * thrown when xmlString is invalid + * + * @param xmlString node to parse + * @return {@link Pair} containing CellDesigner identifier in {@link Pair#getLeft()} and element parsed from xml node in {@link Pair#getRight()}. + * @throws InvalidXmlSchemaException thrown when xmlString is invalid */ public Pair<String, T> parseXmlElement(final String xmlString) throws InvalidXmlSchemaException, CellDesignerParserException { @@ -143,22 +131,19 @@ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>, /** * Method transforms element into CellDesigner xml string. - * - * @param element - * object to be transformed + * + * @param element object to be transformed * @return CellDesigner xml string representing element - * @throws InconsistentModelException - * thrown when xml cannot be generated because structure of objects - * is invalid + * @throws InconsistentModelException thrown when xml cannot be generated because structure of objects + * is invalid */ public abstract String toXml(S element) throws InconsistentModelException; /** * This method decodes CellDesigner string with all known CellDesigner special * tokens. - * - * @param name - * string to be decoded + * + * @param name string to be decoded * @return decoded string */ protected String decodeName(final String name) { @@ -171,9 +156,8 @@ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>, /** * This method encodes {@link String} using CellDesigner special tokens. - * - * @param name - * string to be decoded + * + * @param name string to be decoded * @return decoded string */ protected String encodeName(final String name) { diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java index 7ee2005cbe94302f2790577c68fbfd5d00aa0cba..4c1da26a41ce8bee754ab09b10d2216cb7899b36 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java @@ -4,10 +4,7 @@ import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.common.exception.NotImplementedException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerAntisenseRna; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerGene; @@ -23,6 +20,8 @@ import lcsb.mapviewer.model.map.species.Gene; import lcsb.mapviewer.model.map.species.Protein; import lcsb.mapviewer.model.map.species.Rna; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.w3c.dom.Node; @@ -128,7 +127,7 @@ public class SpeciesCollectionXmlParser { rnaParser = new RnaXmlParser(elements); geneParser = new GeneXmlParser(elements); antisenseRnaParser = new AntisenseRnaXmlParser(elements); - xap = new XmlAnnotationParser(CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + xap = new XmlAnnotationParser(lcsb.mapviewer.utils.RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); } /** diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java index 6edd9a584bec1e01505d29e118f4943f3b4d953a..77d3d0a6e5a35866896f2921fa16fa5be8304da0 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java @@ -6,10 +6,7 @@ import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.common.exception.NotImplementedException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerAntisenseRna; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerCompartment; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerComplexSpecies; @@ -37,6 +34,8 @@ import lcsb.mapviewer.model.map.species.Rna; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.ModificationState; import lcsb.mapviewer.model.map.species.field.PositionToCompartment; +import lcsb.mapviewer.utils.RestAnnotationParser; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -234,7 +233,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec if (rdfNode != null) { final XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); species.addMiriamData(xmlAnnotationParser.parseRdfNode(rdfNode, new LogMarker(ProjectLogEntryType.PARSING_ISSUE, species.getClass().getSimpleName(), species.getElementId(), ""))); } @@ -325,7 +324,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec builder.append("</celldesigner:extension>\n"); final XmlAnnotationParser xmlAnnotationParser = new XmlAnnotationParser( - CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + RestAnnotationParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); builder.append(xmlAnnotationParser.dataSetToXmlString(species.getMiriamData(), elements.getElementId(species))); builder.append("</annotation>\n"); diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java index d6a906b736987999c73cb3c42e66422c4de62422..21059567562f7f82932a4031607d576e1220d8b2 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java +++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java @@ -1,15 +1,10 @@ package lcsb.mapviewer.converter.model.celldesigner.types; -import java.awt.geom.Line2D; -import java.awt.geom.Point2D; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - +import lcsb.mapviewer.commands.layout.ModifierType; +import lcsb.mapviewer.commands.layout.ReactionData; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidStateException; import lcsb.mapviewer.common.geometry.PointTransformation; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; import lcsb.mapviewer.model.graphics.PolylineData; @@ -19,26 +14,29 @@ import lcsb.mapviewer.model.map.reaction.NodeOperator; import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.awt.geom.Line2D; +import java.awt.geom.Point2D; /** * Util class that helps in transformation of CellDesigner modifiers into * {@link Modifier} object in our model. - * + * * @author Piotr Gawron - * */ public class ModifierTypeUtils { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Returns {@link ModifierType} that reference to the clazz. - * - * @param clazz - * class type for which result is returned + * + * @param clazz class type for which result is returned * @return {@link ModifierType} that reference to the clazz */ public ModifierType getModifierTypeForClazz(final Class<? extends Modifier> clazz) { @@ -53,9 +51,8 @@ public class ModifierTypeUtils { /** * Returns {@link ModifierType} that reference to the CellDesigner string * 'type'. - * - * @param type - * CellDesigner string defining modifier type + * + * @param type CellDesigner string defining modifier type * @return {@link ModifierType} that reference to the CellDesigner 'type' */ public ModifierType getModifierTypeForStringType(final String type) { @@ -69,11 +66,9 @@ public class ModifierTypeUtils { /** * Creates {@link Modifier} for the CellDesigner type. - * - * @param type - * CellDesigner type of the modifier - * @param alias - * alias to which modifier point to + * + * @param type CellDesigner type of the modifier + * @param alias alias to which modifier point to * @return {@link Modifier} for the CellDesigner type */ public Modifier createModifierForStringType(final String type, final Species alias) { @@ -91,9 +86,8 @@ public class ModifierTypeUtils { /** * Returns CellDesigner string used for modifier creation. - * - * @param modifier - * modifier for which CellDesigner string is looked for + * + * @param modifier modifier for which CellDesigner string is looked for * @return CellDesigner string used for modifier creation */ public String getStringTypeByModifier(final Modifier modifier) { @@ -108,9 +102,8 @@ public class ModifierTypeUtils { * Returns string that identfies TargetLine index for the modifier. TargetLine * index is a CellDesigner String that identifies to which point on the * rectangle in the center line modifier line is connected. - * - * @param modifier - * modifier for target line + * + * @param modifier modifier for target line * @return string that identfies TargetLine index for the modifier */ public String getTargetLineIndexByModifier(final Modifier modifier) { @@ -130,9 +123,8 @@ public class ModifierTypeUtils { * Returns string that identfies TargetLine index for the modifier operator. * TargetLine index is a CellDesigner String that identifies to which point on * the rectangle in the center line modifier line is connected. - * - * @param modifier - * modifier operator for target line + * + * @param modifier modifier operator for target line * @return string that identfies TargetLine index for the modifier */ public String getTargetLineIndexByModifier(final NodeOperator modifier) { @@ -157,21 +149,17 @@ public class ModifierTypeUtils { * Returns string that identfies TargetLine index for the modifier line * connected to reaction (target line index is explained here: * {@link #getTargetLineIndexByModifier(Modifier)}). - * - * - * @param modType - * type of modifier for the line - * @param reaction - * reaction on which target line index is looked for - * @param originalLine - * line that connects modifier to the reaction + * + * @param modType type of modifier for the line + * @param reaction reaction on which target line index is looked for + * @param originalLine line that connects modifier to the reaction * @return string that identifies TargetLine index for modifier line */ private String getTragteLineIndex(final ModifierType modType, final Reaction reaction, final PolylineData originalLine) { PolylineData line = new PolylineData(originalLine); line.trimEnd(-modType.getTrimLength()); - String[] possibleValues = new String[] { "0,2", "0,3", "0,4", "0,5", "0,6", "0,7" }; + String[] possibleValues = new String[]{"0,2", "0,3", "0,4", "0,5", "0,6", "0,7"}; Point2D closestPoint = new Point2D.Double(Double.MAX_VALUE, Double.MAX_VALUE); Point2D checkedPoint = line.getEndPoint(); String result = "0,0"; @@ -189,11 +177,9 @@ public class ModifierTypeUtils { * This method get anchor point on the reaction line (the center point of this * line is given as a parameter). The anchor point depends on the line and * lineConnectionType associated with the modification. - * - * @param reaction - * reaction on which we are looking for a point - * @param lineConnectionType - * point of connection to the reaction center rectangle + * + * @param reaction reaction on which we are looking for a point + * @param lineConnectionType point of connection to the reaction center rectangle * @return coordinates of point on the center rectangle */ public Point2D getAnchorPointOnReactionRect(final Reaction reaction, final String lineConnectionType) { @@ -212,34 +198,34 @@ public class ModifierTypeUtils { if (spr.length > 1) { id = spr[1]; if (id.equals("2")) { - y -= ReactionCellDesignerConverter.RECT_SIZE / 2; + y -= ReactionData.RECT_SIZE / 2; } else if (id.equals("3")) { - y += ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; } else if (id.equals("4")) { - y -= ReactionCellDesignerConverter.RECT_SIZE / 2; - x -= ReactionCellDesignerConverter.RECT_SIZE / 2; + y -= ReactionData.RECT_SIZE / 2; + x -= ReactionData.RECT_SIZE / 2; } else if (id.equals("5")) { - y -= ReactionCellDesignerConverter.RECT_SIZE / 2; - x += ReactionCellDesignerConverter.RECT_SIZE / 2; + y -= ReactionData.RECT_SIZE / 2; + x += ReactionData.RECT_SIZE / 2; } else if (id.equals("6")) { - y += ReactionCellDesignerConverter.RECT_SIZE / 2; - x -= ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; + x -= ReactionData.RECT_SIZE / 2; } else if (id.equals("7")) { - y += ReactionCellDesignerConverter.RECT_SIZE / 2; - x += ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; + x += ReactionData.RECT_SIZE / 2; } else if (id.equals("0")) { // this is only workaround... - y += ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; } else if (id.equals("1")) { // this is only workaround... - y += ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; } else { throw new InvalidArgumentException("Unknown targetLineIndex: " + id); } } else { logger.warn(new LogMarker(ProjectLogEntryType.PARSING_ISSUE, reaction), "Invalid targetLineIndex: " + id); - y += ReactionCellDesignerConverter.RECT_SIZE / 2; + y += ReactionData.RECT_SIZE / 2; } Point2D p = new Point2D.Double(x, y); PointTransformation pointTransformation = new PointTransformation(); @@ -249,9 +235,8 @@ public class ModifierTypeUtils { /** * Update line parameters to make it look like a proper modifier. - * - * @param modifier - * modifier for which line will be modified + * + * @param modifier modifier for which line will be modified */ public void updateLineEndPoint(final Modifier modifier) { ModifierType modType = getModifierTypeForClazz(modifier.getClass()); @@ -265,9 +250,8 @@ public class ModifierTypeUtils { /** * Updates line parameters of modifier operator to make it look like a proper * modifier. - * - * @param operator - * modifier operator for which line will be modified + * + * @param operator modifier operator for which line will be modified */ @SuppressWarnings("unchecked") public void updateLineEndPoint(final NodeOperator operator) { @@ -286,11 +270,9 @@ public class ModifierTypeUtils { /** * Updates line parameters to make it look like a proper modifier. - * - * @param modType - * type of modifier - * @param line - * line to update + * + * @param modType type of modifier + * @param line line to update */ private void updateLineByType(final ModifierType modType, final PolylineData line) { line.setEndAtd(modType.getAtd().copy()); @@ -300,9 +282,8 @@ public class ModifierTypeUtils { /** * Returns type of the modifier in modifier operator. - * - * @param modifierOperator - * opertor for which type will be returned + * + * @param modifierOperator opertor for which type will be returned * @return type of the modifier in modifier operator */ public ModifierType getModifierTypeForOperator(final NodeOperator modifierOperator) { diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java index 615388da0952036d46207f63def095e6c9c4fa9a..9140a5181ff06fca6499996af7b6cd119ee9042a 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java @@ -1,11 +1,14 @@ package lcsb.mapviewer.converter.model.celldesigner; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; +import lcsb.mapviewer.common.geometry.ColorParser; import lcsb.mapviewer.common.tests.TestUtils; import lcsb.mapviewer.common.tests.UnitTestFailedWatcher; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerSpecies; +import lcsb.mapviewer.model.Project; +import lcsb.mapviewer.model.cache.UploadedFileEntry; import lcsb.mapviewer.model.graphics.HorizontalAlign; import lcsb.mapviewer.model.graphics.VerticalAlign; import lcsb.mapviewer.model.map.Drawable; @@ -13,16 +16,20 @@ import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.compartment.BottomSquareCompartment; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.LeftSquareCompartment; +import lcsb.mapviewer.model.map.compartment.PathwayCompartment; import lcsb.mapviewer.model.map.compartment.RightSquareCompartment; import lcsb.mapviewer.model.map.compartment.SquareCompartment; import lcsb.mapviewer.model.map.compartment.TopSquareCompartment; import lcsb.mapviewer.model.map.kinetics.SbmlFunction; import lcsb.mapviewer.model.map.kinetics.SbmlParameter; import lcsb.mapviewer.model.map.kinetics.SbmlUnit; +import lcsb.mapviewer.model.map.layout.graphics.Glyph; import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelComparator; +import lcsb.mapviewer.model.map.model.ModelData; import lcsb.mapviewer.model.map.model.ModelFullIndexed; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Gene; @@ -34,9 +41,13 @@ import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.BindingRegion; import lcsb.mapviewer.model.map.species.field.Residue; import lcsb.mapviewer.model.map.species.field.StructuralState; +import lcsb.mapviewer.model.overlay.DataOverlay; +import lcsb.mapviewer.model.overlay.DataOverlayEntry; +import lcsb.mapviewer.model.overlay.GenericDataOverlayEntry; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Rule; +import org.mockito.internal.util.collections.Sets; import java.awt.Canvas; import java.awt.Color; @@ -44,9 +55,13 @@ import java.awt.Font; import java.awt.FontMetrics; import java.awt.geom.Point2D; import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; import static org.junit.Assert.assertEquals; @@ -90,19 +105,29 @@ public abstract class CellDesignerTestFunctions extends TestUtils { final InputStream is = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8)); final Model model2 = parser.createModel(new ConverterParams().inputStream(is, model.getName()).sizeAutoAdjust(false)); - for (final Drawable bioEntity : model2.getDrawables()) { - bioEntity.setZ(null); - } + clearModelFromZ(model2); + clearModelFromZ(model); + return model2; + } + + protected void clearModelFromZ(final Model model) { for (final Drawable bioEntity : model.getDrawables()) { bioEntity.setZ(null); + if (bioEntity instanceof Element) { + ((Element) bioEntity).setVisibilityLevel(0); + } } - return model2; + } + + protected void clearModelFromZ(final ModelData modelData) { + clearModelFromZ(modelData.getModel()); } private static int idCounter = 0; protected static GenericProtein createProtein() { final GenericProtein protein = new GenericProtein("id" + (idCounter++)); + protein.setName(faker.science().element()); protein.setActivity(true); protein.setFontSize(4); protein.setStateLabel("xxx"); @@ -145,6 +170,20 @@ public abstract class CellDesignerTestFunctions extends TestUtils { return compartment; } + protected PathwayCompartment createPathway() { + final PathwayCompartment pathwayCompartment = new PathwayCompartment("art0"); + pathwayCompartment.setName(faker.science().element()); + assignCoordinates(13, 14, 100, 120, pathwayCompartment); + pathwayCompartment.setNameVerticalAlign(VerticalAlign.TOP); + pathwayCompartment.setNameHorizontalAlign(HorizontalAlign.LEFT); + pathwayCompartment.setNameX(pathwayCompartment.getX() + 10); + pathwayCompartment.setNameY(pathwayCompartment.getY() + 10); + pathwayCompartment.setNameWidth(pathwayCompartment.getWidth() - 20); + pathwayCompartment.setNameHeight(pathwayCompartment.getHeight() - 20); + + return pathwayCompartment; + } + protected static LayerText createText() { final LayerText layerText = new LayerText(); layerText.setX(256.0); @@ -152,11 +191,22 @@ public abstract class CellDesignerTestFunctions extends TestUtils { layerText.setWidth(233.0); layerText.setHeight(188.0); layerText.setZ(0); - layerText.setNotes("asd as"); - layerText.setColor(Color.BLACK); + layerText.setNotes(faker.lorem().paragraph()); + layerText.setColor(new ColorParser().parse(faker.color().hex())); return layerText; } + protected LayerImage createImage() throws IOException { + final LayerImage image = new LayerImage(); + image.setX(256.0); + image.setY(79.0); + image.setWidth(233.0); + image.setHeight(188.0); + image.setZ(0); + image.setGlyph(createGlyph()); + return image; + } + protected static SbmlFunction createFunction() throws InvalidXmlSchemaException { SbmlFunction fun = new SbmlFunction("fun_id" + (idCounter++)); fun.setDefinition("<math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n" @@ -245,6 +295,7 @@ public abstract class CellDesignerTestFunctions extends TestUtils { protected static Model createEmptyModel() { final Model model = new ModelFullIndexed(null); + model.setName(faker.witcher().monster()); model.setIdModel("as"); model.setWidth(100); model.setHeight(100); @@ -283,4 +334,55 @@ public abstract class CellDesignerTestFunctions extends TestUtils { result.setZ(faker.number().numberBetween(1, 100)); return result; } + + protected Project createProject() { + Project project = new Project(); + project.setProjectId(faker.numerify("P########")); + return project; + } + + protected Glyph createGlyph() throws IOException { + Glyph glyph = new Glyph(); + glyph.setFile(createFile("testFiles/glyphs/uni.png")); + + return glyph; + } + + private UploadedFileEntry createFile(final String filePath) throws IOException { + UploadedFileEntry uploadedFileEntry = new UploadedFileEntry(); + byte[] byteArray = Files.readAllBytes(Paths.get(filePath)); + uploadedFileEntry.setFileContent(byteArray); + uploadedFileEntry.setOriginalFileName("glyphs/" + new File(filePath).getName()); + uploadedFileEntry.setLength(byteArray.length); + uploadedFileEntry.setLocalPath(null); + return uploadedFileEntry; + + } + + protected DataOverlay createDataOverlay() { + DataOverlay dataOverlay = new DataOverlay(); + dataOverlay.setPublic(faker.bool().bool()); + dataOverlay.setName(faker.name().fullName()); + dataOverlay.setDescription(faker.lorem().sentence()); + return dataOverlay; + } + + protected DataOverlayEntry createDataOverlayEntry() { + DataOverlayEntry entry = new GenericDataOverlayEntry(); + entry.setName(faker.text().text(4).toUpperCase()); + entry.setDescription(faker.lorem().sentence()); + entry.setModelName(faker.witcher().monster()); + entry.setCompartments(Sets.newSet(faker.witcher().potion(), faker.witcher().potion())); + entry.setElementId(faker.witcher().sign()); + entry.setLineWidth(faker.number().randomDouble(2, 1, 3)); + if (Math.random() < 0.5) { + entry.setColor(new ColorParser().parse(faker.color().hex())); + } else { + entry.setValue(faker.number().randomDouble(2, -1, 1)); + } + entry.setReverseReaction(faker.bool().bool()); + return entry; + } + + } diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java index 9b9e082d38390d3538fe8149f72d23c19b22d51d..b72982513fb120b7facdfaf6b87eb3f3f6372298 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java @@ -5,10 +5,11 @@ import lcsb.mapviewer.common.comparator.PointComparator; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.model.graphics.LineType; import lcsb.mapviewer.model.graphics.PolylineData; import lcsb.mapviewer.model.map.BioEntity; +import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.model.map.MiriamType; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.kinetics.SbmlKinetics; import lcsb.mapviewer.model.map.kinetics.SbmlParameter; @@ -37,6 +38,7 @@ import lcsb.mapviewer.model.map.species.Gene; import lcsb.mapviewer.model.map.species.GenericProtein; import lcsb.mapviewer.model.map.species.SimpleMolecule; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.RestAnnotationParser; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -1044,4 +1046,21 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions { assertEquals("", model.getNotes()); } + @Test + public void testMoveAnnotationsFromNotes() throws Exception { + Model model = CellDesignerTestFunctions.getModelForFile("testFiles/copyingAnnotationModel.xml"); + + Set<Element> elements = model.getElements(); + for (final Element element : elements) { + if (element.getName().equals("blabla")) { + assertEquals(2, element.getMiriamData().size()); + element.getMiriamData() + .add(new MiriamData(MiriamType.PUBMED, "12345")); + element.getMiriamData() + .add(new MiriamData(MiriamType.PUBMED, "333666")); + assertEquals(2, element.getMiriamData().size()); + } + assertFalse(element.getNotes().contains("rdf:RDF")); + } + } } diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CopyCommandForCellDesignerFilesTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CopyCommandForCellDesignerFilesTest.java new file mode 100644 index 0000000000000000000000000000000000000000..3f106b59b0e0beda05c1f043d4c029418289fd0c --- /dev/null +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CopyCommandForCellDesignerFilesTest.java @@ -0,0 +1,116 @@ +package lcsb.mapviewer.converter.model.celldesigner; + +import lcsb.mapviewer.commands.CopyCommand; +import lcsb.mapviewer.commands.CreateHierarchyCommand; +import lcsb.mapviewer.model.Project; +import lcsb.mapviewer.model.map.kinetics.SbmlFunction; +import lcsb.mapviewer.model.map.kinetics.SbmlParameter; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelComparator; +import lcsb.mapviewer.model.map.reaction.Reaction; +import lcsb.mapviewer.model.map.species.Element; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; + +public class CopyCommandForCellDesignerFilesTest extends CellDesignerTestFunctions { + + private final ModelComparator comparator = new ModelComparator(); + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + private final int counter = 0; + + @Test + public void testCopyModel() throws Exception { + Model model = getModelForFile("testFiles/sample.xml"); + Model copy = new CopyCommand(model).execute(); + + assertEquals(0, comparator.compare(model, copy)); + } + + @Test + public void testCopyModelWithKinetics() throws Exception { + Model model = getModelForFile("testFiles/kinetics_with_compartment.xml"); + Model copy = new CopyCommand(model).execute(); + + assertEquals(0, comparator.compare(model, copy)); + for (final Reaction reaction : copy.getReactions()) { + if (reaction.getKinetics() != null) { + for (final Element element : reaction.getKinetics().getElements()) { + assertTrue("Element in the copy doesn't belong to copy", copy.getElements().contains(element)); + } + for (final SbmlFunction function : reaction.getKinetics().getFunctions()) { + assertTrue("Function in the copy doesn't belong to copy", copy.getFunctions().contains(function)); + } + for (final SbmlParameter parameter : reaction.getKinetics().getParameters()) { + if (parameter.getParameterId().equals("k2")) { + assertTrue("Global parameter in the function copy doesn't belong to copy", + copy.getParameters().contains(parameter)); + } + } + } + } + } + + @Test + public void testCopyModel3() throws Exception { + Model model = getModelForFile("testFiles/complex_with_state.xml"); + + Model copy = new CopyCommand(model).execute(); + + Model copy2 = serializeModel(copy); + + // check if after conversion to xml everything works + assertEquals(0, comparator.compare(copy, copy2)); + } + + @Test + public void testCopyModel4() throws Exception { + Model model = getModelForFile("testFiles/problematic_description.xml"); + + Model copy = new CopyCommand(model).execute(); + + Model copy2 = serializeModel(copy); + + // check if after conversion to xml everything works + assertEquals(0, comparator.compare(copy, copy2)); + } + + @Test + public void testCopyModelWithArtificialAliases() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + new CreateHierarchyCommand(model, 2, 2).execute(); + + Model copy = new CopyCommand(model).execute(); + + Model copy2 = serializeModel(copy); + + new CreateHierarchyCommand(copy2, 2, 2).execute(); + + // check if after conversion to xml everything works + assertEquals(0, comparator.compare(copy, copy2)); + } + + @Test + public void testCopyModelWithProject() throws Exception { + Model originalModel = getModelForFile("testFiles/sample.xml"); + Project project = new Project(); + project.addModel(originalModel); + + Model colorModel = new CopyCommand(originalModel).execute(); + + assertNotEquals(originalModel.getProject(), colorModel.getProject()); + } + +} diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CreateHierarchyCommandForProblematicCDTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CreateHierarchyCommandForProblematicCDTest.java new file mode 100644 index 0000000000000000000000000000000000000000..386a67933e1623faf57bfdb0112e7e67f729e121 --- /dev/null +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CreateHierarchyCommandForProblematicCDTest.java @@ -0,0 +1,304 @@ +package lcsb.mapviewer.converter.model.celldesigner; + +import lcsb.mapviewer.commands.CreateHierarchyCommand; +import lcsb.mapviewer.common.exception.InvalidStateException; +import lcsb.mapviewer.converter.ConverterParams; +import lcsb.mapviewer.model.map.compartment.Compartment; +import lcsb.mapviewer.model.map.compartment.PathwayCompartment; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.modelutils.map.ElementUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +public class CreateHierarchyCommandForProblematicCDTest extends CellDesignerTestFunctions { + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testCyclicComplexes() throws Exception { + Model model = getModelForFile("testFiles/cyclic_hierarchy_problem.xml"); + + new CreateHierarchyCommand(model, 8, 80).execute(); + + Species alias = model.getElementByElementId("sa5033"); + + Set<Element> parents = new HashSet<>(); + while (alias.getComplex() != null) { + assertFalse("Cyclic nesting", parents.contains(alias.getComplex())); + alias = alias.getComplex(); + parents.add(alias); + } + + Set<String> levels = new HashSet<>(); + for (final Element a : model.getElements()) { + levels.add(a.getVisibilityLevel()); + } + assertTrue(levels.size() > 2); + } + + @Test + public void testCreateHierarchy() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + new CreateHierarchyCommand(model, 2, 2).execute(); + // check if second call will throw an exception... + new CreateHierarchyCommand(model, 2, 2).execute(); + } + + @Test + public void testCreateHierarchy2() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + new CreateHierarchyCommand(model, 2, 2).execute(); + + boolean artificial = false; + for (final Compartment a : model.getCompartments()) { + if (a instanceof PathwayCompartment) { + artificial = true; + break; + } + } + assertTrue("No hierarchical structure element found", artificial); + } + + @Test + public void testRecreateHierarchy() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + int aliasSize0 = model.getCompartments().size(); + + logger.debug(aliasSize0); + + new CreateHierarchyCommand(model, 2, 2).execute(); + + int aliasSize = model.getCompartments().size(); + logger.debug(aliasSize); + + assertTrue(aliasSize0 != aliasSize); + new CreateHierarchyCommand(model, 2, 2).execute(); + + int aliasSize2 = model.getCompartments().size(); + logger.debug(aliasSize2); + + assertEquals(aliasSize, aliasSize2); + } + + @Test + public void testParenting() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + new CreateHierarchyCommand(model, 2, 2).execute(); + + assertFalse(model.getElementByElementId("sa1").getCompartment() instanceof PathwayCompartment); + } + + @Test + public void testCreateComponentsMinVisibility() throws Exception { + double zoomFactor = 39.0625; + int levels = 6; + + Model model = getModelForFile("testFiles/other_full/GSTP1 subnetwork_220214.xml"); + + new CreateHierarchyCommand(model, levels, zoomFactor).execute(); + + for (final Compartment compartment : model.getCompartments()) { + if (compartment.getCompartment() == null) { + int visibilityLevel = Integer.parseInt(compartment.getVisibilityLevel()); + assertTrue("Alias " + compartment.getElementId() + " is not visible at levels highers than " + + compartment.getVisibilityLevel(), visibilityLevel <= 1); + } + } + + for (final Species species : model.getSpeciesList()) { + if (species.getCompartment() == null) { + int visibilityLevel = Integer.parseInt(species.getVisibilityLevel()); + assertTrue("Alias " + species.getElementId() + " is not visible at levels highers than " + + species.getVisibilityLevel(), visibilityLevel <= 1); + } + } + } + + @Test + public void testCreateComponentsMaxVisibility() throws Exception { + double zoomFactor = 39.0625; + int levels = 6; + + Model model = getModelForFile("testFiles/other_full/GSTP1 subnetwork_220214.xml"); + + new CreateHierarchyCommand(model, levels, zoomFactor).execute(); + + for (final Element element : model.getElements()) { + int visibilityLevel = Integer.parseInt(element.getVisibilityLevel()); + assertTrue("Alias " + element.getElementId() + " is not visible even at the bottom level (visibility: " + + element.getVisibilityLevel() + ") ", visibilityLevel <= levels); + } + } + + @Test + public void testCompactComplexesInNestedView() throws Exception { + Model model = getModelForFile("testFiles/problematic/compact_complex_view_problem.xml"); + Element alias = model.getElementByElementId("sa1"); + Object parent1 = alias.getCompartment(); + new CreateHierarchyCommand(model, 3, 16).execute(); + Object parent2 = alias.getCompartment(); + assertEquals(parent1, parent2); + } + + @Test(expected = InvalidStateException.class) + public void testRecallHierarchyCreation() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + CreateHierarchyCommand command = new CreateHierarchyCommand(model, 2, 2); + command.execute(); + command.execute(); + } + + @Test + public void testClear() throws Exception { + Model model = getModelForFile("testFiles/artificial_compartments.xml"); + + CreateHierarchyCommand command = new CreateHierarchyCommand(model, 2, 2); + command.clean(); + for (final Element alias : model.getElements()) { + assertNull(alias.getCompartment()); + } + for (final Compartment alias : model.getCompartments()) { + assertNull(alias.getCompartment()); + assertTrue(alias.getElements().isEmpty()); + } + } + + @Test + public void testNestedProblem() throws Exception { + CellDesignerXmlParser parser = new CellDesignerXmlParser(); + Model model = parser + .createModel(new ConverterParams().filename("testFiles/nested_test.xml").sizeAutoAdjust(true)); + + double zoomFactor = Math.max(model.getHeight(), model.getWidth()) / (256); + int zoomLevels = (int) Math.ceil(Math.log(zoomFactor) / Math.log(2)); + + CreateHierarchyCommand command = new CreateHierarchyCommand(model, zoomLevels, zoomFactor); + command.execute(); + + for (final Element alias : model.getElements()) { + Element parentAlias = alias.getCompartment(); + if (parentAlias != null) { + int parentVisibilityLevel = Integer.parseInt(parentAlias.getVisibilityLevel()); + int aliasVisibilityLevel = Integer.parseInt(alias.getVisibilityLevel()); + assertTrue(aliasVisibilityLevel >= parentVisibilityLevel); + } + if (alias instanceof Species) { + parentAlias = ((Species) alias).getComplex(); + if (parentAlias != null) { + int parentVisibilityLevel = Integer.parseInt(parentAlias.getVisibilityLevel()); + int aliasVisibilityLevel = Integer.parseInt(alias.getVisibilityLevel()); + assertTrue(aliasVisibilityLevel >= parentVisibilityLevel); + } + } + } + } + + @Test + public void testDisconnectedChildInComplex() throws Exception { + Model model = getModelForFile("testFiles/problematic/disconnected_child_in_complex.xml"); + + new CreateHierarchyCommand(model, 8, 80).execute(); + + CellDesignerXmlParser parser = new CellDesignerXmlParser(); + String xmlString = parser.model2String(model); + + InputStream stream = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8)); + + parser.createModel(new ConverterParams().inputStream(stream)); + } + + @Test + public void testHierarchyWithCustomSemanticZooming() throws Exception { + Model model = getModelForFile("testFiles/custom_semantic_zooming.xml"); + + Map<Element, String> visibilityLevels = new HashMap<>(); + for (final Element element : model.getElements()) { + if (element.getVisibilityLevel() != null && !element.getVisibilityLevel().isEmpty()) { + visibilityLevels.put(element, element.getVisibilityLevel()); + } + } + + new CreateHierarchyCommand(model, 4, 80).execute(); + + for (final Element element : model.getElements()) { + if (visibilityLevels.get(element) != null) { + assertEquals("Visibility level changed, but shouldn't", visibilityLevels.get(element), + element.getVisibilityLevel()); + } + } + } + + @Test + public void testHierarchyWithCustomSemanticZoomingPathwayLevels() throws Exception { + ElementUtils eu = new ElementUtils(); + Model model = getModelForFile("testFiles/custom_semantic_zooming.xml"); + + Map<Element, String> visibilityLevels = new HashMap<>(); + for (final Element element : model.getElements()) { + if (element.getVisibilityLevel() != null && !element.getVisibilityLevel().isEmpty()) { + visibilityLevels.put(element, element.getVisibilityLevel()); + } + } + + new CreateHierarchyCommand(model, 4, 80).execute(); + + for (final Element element : model.getElements()) { + if (visibilityLevels.get(element) == null) { + int visibilityLevel = Integer.parseInt(element.getVisibilityLevel()); + if (element.getCompartment() != null) { + int parentTransparency = Integer.parseInt(element.getCompartment().getTransparencyLevel()); + assertEquals( + eu.getElementTag(element) + eu.getElementTag(element.getCompartment()) + + "Element should be directly visible when parent is transparent", + parentTransparency, visibilityLevel); + } else if (element instanceof Species) { + int parentTransparency = Integer.parseInt(((Species) element).getComplex().getTransparencyLevel()); + assertEquals( + eu.getElementTag(element) + eu.getElementTag(((Species) element).getComplex()) + + "Element should be directly visible when parent is transparent", + parentTransparency, visibilityLevel); + } + } + } + } + + @Test + public void testLayerWithNotes() throws Exception { + Model model = getModelForFile("testFiles/layer_text_with_notes.xml"); + + new CreateHierarchyCommand(model, 4, 80).execute(); + + PathwayCompartment pathway = (PathwayCompartment) model.getCompartments().get(0); + + assertEquals("test", pathway.getName()); + assertEquals((Integer) 11, pathway.getZ()); + assertEquals("5", pathway.getVisibilityLevel()); + } +} diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java index e6fcbd17d99ec22b0142c65fd7b37b580fe951eb..ad1b8ef7b225d407017c4abdc245453cb35c6222 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java @@ -25,6 +25,7 @@ import org.w3c.dom.Node; import java.awt.Color; import java.awt.geom.Rectangle2D; import java.util.Collection; +import java.util.HashSet; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -53,7 +54,7 @@ public class LayerXmlParserTest extends CellDesignerTestFunctions { assertNotNull(layers); assertEquals(1, layers.size()); - xmlString = parser.layerCollectionToXml(layers); + xmlString = parser.layerCollectionToXml(layers, new HashSet<>()); node = getNodeFromXmlString(xmlString); Collection<Layer> layers2 = parser.parseLayers(node); assertNotNull(layers2); @@ -119,7 +120,7 @@ public class LayerXmlParserTest extends CellDesignerTestFunctions { Layer layer = parser.getLayer(node); assertNotNull(layer); - xmlString = parser.layerToXml(layer); + xmlString = parser.layerToXml(layer, new HashSet<>()); node = getNodeFromXmlString(xmlString); Layer layers2 = parser.getLayer(node); assertNotNull(layers2); diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ProjectExportTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ProjectExportTest.java new file mode 100644 index 0000000000000000000000000000000000000000..adbeeabe2af42c1d37358a61b44d9936dac3637c --- /dev/null +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ProjectExportTest.java @@ -0,0 +1,257 @@ +package lcsb.mapviewer.converter.model.celldesigner; + +import lcsb.mapviewer.commands.CreateHierarchyCommand; +import lcsb.mapviewer.converter.ComplexZipConverter; +import lcsb.mapviewer.converter.ComplexZipConverterParams; +import lcsb.mapviewer.converter.ProjectFactory; +import lcsb.mapviewer.converter.zip.ZipEntryFile; +import lcsb.mapviewer.converter.zip.ZipEntryFileFactory; +import lcsb.mapviewer.model.Project; +import lcsb.mapviewer.model.ProjectComparator; +import lcsb.mapviewer.model.map.compartment.PathwayCompartment; +import lcsb.mapviewer.model.map.layout.graphics.Glyph; +import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; +import lcsb.mapviewer.model.map.layout.graphics.LayerText; +import lcsb.mapviewer.model.map.model.ElementSubmodelConnection; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelData; +import lcsb.mapviewer.model.map.model.ModelSubmodelConnection; +import lcsb.mapviewer.model.map.model.SubmodelType; +import lcsb.mapviewer.model.map.species.Protein; +import lcsb.mapviewer.model.overlay.DataOverlay; +import lcsb.mapviewer.model.overlay.DataOverlayEntry; +import lcsb.mapviewer.model.overlay.GenericDataOverlayEntry; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + +public class ProjectExportTest extends CellDesignerTestFunctions { + + private final ProjectComparator projectComparator = new ProjectComparator(); + + private final ZipEntryFileFactory zefFactory = new ZipEntryFileFactory(); + + private ComplexZipConverter parser; + private ProjectFactory projectFactory; + + @Before + public void setUp() throws Exception { + parser = new ComplexZipConverter(CellDesignerXmlParser.class); + projectFactory = new ProjectFactory(parser); + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testBasic() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + project.addModel(model); + + testSerializationOverZip(project); + } + + @Test + public void testWithManyModels() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + project.addModel(model); + + Model model2 = createEmptyModel(); + model2.setWidth(260); + model2.addElement(createProtein()); + project.addModel(model2); + model.addSubmodelConnection(new ModelSubmodelConnection(model2, SubmodelType.UNKNOWN, model2.getName())); + + testSerializationOverZip(project); + } + + @Test + public void testLinkToSubmodel() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(260); + Protein protein = createProtein(); + model.addElement(protein); + project.addModel(model); + + Model model2 = createEmptyModel(); + project.addModel(model2); + model.addSubmodelConnection(new ModelSubmodelConnection(model2, SubmodelType.UNKNOWN, model2.getName())); + protein.setSubmodel(new ElementSubmodelConnection(model2, SubmodelType.DOWNSTREAM_TARGETS, model2.getName())); + + testSerializationOverZip(project); + } + + @Test + public void testImmediateLink() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(260); + Protein protein = createProtein(); + protein.setImmediateLink("https://uni.lu/"); + model.addElement(protein); + project.addModel(model); + + testSerializationOverZip(project); + } + + @Test + public void testGlyph() throws Exception { + Glyph glyph = createGlyph(); + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(260); + Protein protein = createProtein(); + protein.setGlyph(glyph); + model.addElement(protein); + project.addModel(model); + project.addGlyph(glyph); + + testSerializationOverZip(project); + } + + @Test + public void testDataOverlay() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(260); + Protein protein = createProtein(); + model.addElement(protein); + project.addModel(model); + + DataOverlay overlay = createDataOverlay(); + overlay.setPublic(true); + overlay.addEntry(createDataOverlayEntry()); + overlay.addEntry(createDataOverlayEntry()); + + project.addDataOverlay(overlay); + + testSerializationOverZip(project); + } + + @Test + public void testPrivateDataOverlay() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(260); + Protein protein = createProtein(); + model.addElement(protein); + project.addModel(model); + + DataOverlay overlay = createDataOverlay(); + overlay.setPublic(false); + DataOverlayEntry entry = new GenericDataOverlayEntry(); + entry.setName(protein.getName()); + entry.setValue(faker.number().randomDouble(2, -1, 1)); + + project.addDataOverlay(overlay); + + testSerializationOverZip(project, false); + } + + private void testSerializationOverZip(final Project project) throws Exception { + testSerializationOverZip(project, true); + } + + private void testSerializationOverZip(final Project project, final boolean shouldBeTheSame) throws Exception { + File tempFile = File.createTempFile("CD-", ".zip"); + try (FileOutputStream outputStream = new FileOutputStream(tempFile)) { + byte[] data = projectFactory.project2zip(project); + outputStream.write(data); + } + final ComplexZipConverterParams complexParams = createDefaultParams(tempFile); + Project project2 = projectFactory.create(complexParams); + + for (ModelData model : project.getModels()) { + clearModelFromZ(model); + } + for (ModelData model : project2.getModels()) { + new CreateHierarchyCommand(model.getModel(), 10, 1000).execute(); + clearModelFromZ(model); + } + + if (shouldBeTheSame) { + assertEquals(0, projectComparator.compare(project, project2)); + } else { + assertNotEquals(0, projectComparator.compare(project, project2)); + } + } + + private ComplexZipConverterParams createDefaultParams(final File tempFile) throws IOException { + final ComplexZipConverterParams complexParams; + complexParams = new ComplexZipConverterParams().zipFile(new ZipFile(tempFile)); + complexParams.visualizationDir(faker.name().username()); + + ZipFile zipFile = new ZipFile(tempFile.getAbsolutePath()); + Enumeration<? extends ZipEntry> entries = zipFile.entries(); + while (entries.hasMoreElements()) { + ZipEntry entry = entries.nextElement(); + ZipEntryFile e = zefFactory.createZipEntryFile(entry, zipFile); + complexParams.entry(e); + } + zipFile.close(); + return complexParams; + } + + @Test + public void testLayerWithText() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(745); + model.setHeight(346); + Layer layer = createLayer(); + LayerText layerText = createText(); + layer.addLayerText(layerText); + model.addLayer(layer); + + project.addModel(model); + + testSerializationOverZip(project); + } + + @Test + public void testLayerWithImage() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(745); + model.setHeight(346); + Layer layer = createLayer(); + LayerImage image = createImage(); + layer.addLayerImage(image); + model.addLayer(layer); + + project.addModel(model); + project.addGlyph(image.getGlyph()); + + testSerializationOverZip(project); + } + + @Test + public void testWithPathway() throws Exception { + Project project = createProject(); + Model model = createEmptyModel(); + model.setWidth(126); + model.setHeight(148); + PathwayCompartment pathway = createPathway(); + model.addElement(pathway); + + project.addModel(model); + + testSerializationOverZip(project); + } + +} diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/SubModelCommandForCellDesignerFilesTest.java similarity index 87% rename from model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java rename to converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/SubModelCommandForCellDesignerFilesTest.java index 4086e83e143c69262d1f4046331d4c9aba6a3074..4fc38879370de39e73533cb3ca57194a2cc54faf 100644 --- a/model-command/src/test/java/lcsb/mapviewer/commands/SubModelCommandTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/SubModelCommandForCellDesignerFilesTest.java @@ -1,25 +1,26 @@ -package lcsb.mapviewer.commands; +package lcsb.mapviewer.converter.model.celldesigner; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; +import lcsb.mapviewer.commands.MoveCommand; +import lcsb.mapviewer.commands.SubModelCommand; +import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerText; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelComparator; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; import java.awt.geom.Path2D; import java.awt.geom.Rectangle2D; -import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import lcsb.mapviewer.model.map.layout.graphics.Layer; -import lcsb.mapviewer.model.map.layout.graphics.LayerText; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.model.map.model.ModelComparator; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; -public class SubModelCommandTest extends CommandTestFunctions { +public class SubModelCommandForCellDesignerFilesTest extends CellDesignerTestFunctions { - private ModelComparator comparator = new ModelComparator(); + private final ModelComparator comparator = new ModelComparator(); @Before public void setUp() throws Exception { @@ -31,7 +32,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodel1() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", true); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -48,7 +49,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodel2() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", true); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(50, 50); @@ -65,7 +66,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodelWithDisableStrictCutoof() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", true); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(50, 50); @@ -82,7 +83,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodel3() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", true); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 200); @@ -108,7 +109,7 @@ public class SubModelCommandTest extends CommandTestFunctions { assertEquals(model.getReactionByReactionId("re3").getLines().get(0).getY2(), copy.getReactionByReactionId("re3").getLines().get(0).getY2() - dy, EPSILON); - Model copy2 = serializeViaCellDesigner(copy); + Model copy2 = serializeModel(copy); // check if after conversion to xml everything works assertEquals(0, comparator.compare(copy, copy2)); @@ -116,7 +117,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodelWithoutCompartments() throws Exception { - Model model = getModelForFile("testFiles/compartments.xml", true); + Model model = getModelForFile("testFiles/compartments.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 10); @@ -128,13 +129,13 @@ public class SubModelCommandTest extends CommandTestFunctions { Model copy = new SubModelCommand(model, polygon).execute(); // we should cut off some of compartments - assertFalse(model.getLayers().iterator().next().getTexts().size() == copy.getLayers().iterator().next().getTexts() + assertNotEquals(model.getLayers().iterator().next().getTexts().size(), copy.getLayers().iterator().next().getTexts() .size()); } @Test public void testGetSubmodelWithoutCompartments2() throws Exception { - Model model = getModelForFile("testFiles/problematic/cutting_without_compartment.xml", true); + Model model = getModelForFile("testFiles/problematic/cutting_without_compartment.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -145,14 +146,14 @@ public class SubModelCommandTest extends CommandTestFunctions { Model copy = new SubModelCommand(model, polygon).execute(); - Model model2 = serializeViaCellDesigner(copy); + Model model2 = serializeModel(copy); assertEquals(0, comparator.compare(copy, model2)); } @Test public void testGetSubmodelWithElementIds() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -162,7 +163,7 @@ public class SubModelCommandTest extends CommandTestFunctions { polygon.closePath(); model.getElementByElementId("sa2").setId(-2); - Model copy = new SubModelCommand(model, polygon, new HashSet<>(Arrays.asList(-2)), new HashSet<>()).execute(); + Model copy = new SubModelCommand(model, polygon, new HashSet<>(Collections.singletonList(-2)), new HashSet<>()).execute(); assertEquals(1, copy.getElements().size()); assertEquals(0, copy.getReactions().size()); @@ -170,7 +171,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodelWithElementIdsAndTextArea() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -185,7 +186,7 @@ public class SubModelCommandTest extends CommandTestFunctions { layer.addLayerText(text); model.addLayer(layer); - Model copy = new SubModelCommand(model, polygon, new HashSet<>(Arrays.asList(-2)), new HashSet<>()).execute(); + Model copy = new SubModelCommand(model, polygon, new HashSet<>(Collections.singletonList(-2)), new HashSet<>()).execute(); assertEquals(1, copy.getElements().size()); assertEquals(0, copy.getReactions().size()); @@ -195,7 +196,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodelWithEmptyElementIds() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", true); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -212,7 +213,7 @@ public class SubModelCommandTest extends CommandTestFunctions { @Test public void testGetSubmodelWithReactionIds() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); + Model model = getModelForFile("testFiles/spliting_test_Case.xml"); Path2D polygon = new Path2D.Double(); polygon.moveTo(0, 0); @@ -222,7 +223,7 @@ public class SubModelCommandTest extends CommandTestFunctions { polygon.closePath(); model.getReactions().iterator().next().setId(-2); - Model copy = new SubModelCommand(model, polygon, new HashSet<>(), new HashSet<>(Arrays.asList(-2)), true).execute(); + Model copy = new SubModelCommand(model, polygon, new HashSet<>(), new HashSet<>(Collections.singletonList(-2)), true).execute(); assertEquals(1, copy.getReactions().size()); } diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverterTest.java deleted file mode 100644 index 11cae750b81fcdec6a41d8ed846df7a0a284b9ef..0000000000000000000000000000000000000000 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverterTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package lcsb.mapviewer.converter.model.celldesigner.geometry; - -import static org.junit.Assert.assertNotNull; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.Test; - -public class ReactionCellDesignerConverterTest { - - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testConstructor() { - ReactionCellDesignerConverter onverter = new ReactionCellDesignerConverter(); - assertNotNull(onverter); - } - -} diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeTest.java index 2ba3323171ff82597c0bc5846d1babc63dbf264a..b4fae845cb49872b844fc677325bb95ad64fdbc5 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeTest.java @@ -1,12 +1,13 @@ package lcsb.mapviewer.converter.model.celldesigner.types; -import static org.junit.Assert.assertNotNull; - +import lcsb.mapviewer.commands.layout.ModifierType; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertNotNull; + public class ModifierTypeTest { @AfterClass diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtilsTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtilsTest.java index 618b51764663b91eade984b99c88bd1ffc63e916..5c3d102141a44a0ba848a101f22e7765bf88ae1c 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtilsTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtilsTest.java @@ -1,17 +1,6 @@ package lcsb.mapviewer.converter.model.celldesigner.types; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - -import java.awt.geom.Point2D; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; - +import lcsb.mapviewer.commands.layout.ModifierType; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions; import lcsb.mapviewer.model.graphics.PolylineData; @@ -21,12 +10,23 @@ import lcsb.mapviewer.model.map.reaction.NodeOperator; import lcsb.mapviewer.model.map.reaction.Product; import lcsb.mapviewer.model.map.reaction.Reactant; import lcsb.mapviewer.model.map.reaction.Reaction; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.awt.geom.Point2D; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; public class ModifierTypeUtilsTest extends CellDesignerTestFunctions { - private ModifierTypeUtils utils = new ModifierTypeUtils(); + private final ModifierTypeUtils utils = new ModifierTypeUtils(); - private Modifier invalidModifier = Mockito.mock(Modifier.class, Mockito.CALLS_REAL_METHODS); + private final Modifier invalidModifier = Mockito.mock(Modifier.class, Mockito.CALLS_REAL_METHODS); @AfterClass public static void tearDownAfterClass() throws Exception { diff --git a/model-command/testFiles/artifitial_compartments.xml b/converter-CellDesigner/testFiles/artificial_compartments.xml similarity index 99% rename from model-command/testFiles/artifitial_compartments.xml rename to converter-CellDesigner/testFiles/artificial_compartments.xml index 069038f3620c28f7a4888409bdfc09b11b4fc302..d5901ee7b48882009c49a5803ef1b3e07f3c8959 100644 --- a/model-command/testFiles/artifitial_compartments.xml +++ b/converter-CellDesigner/testFiles/artificial_compartments.xml @@ -146,7 +146,7 @@ <celldesigner:listOfRNAs/> <celldesigner:listOfAntisenseRNAs/> <celldesigner:listOfLayers> -<celldesigner:layer id="1" name="Layer0001" locked="false" visible="true"> +<celldesigner:layer id="1" name="pathways" locked="false" visible="true"> <celldesigner:listOfTexts> <celldesigner:layerSpeciesAlias x="0.0" y="0.0"> <celldesigner:layerNotes> diff --git a/model-command/testFiles/coloring_model.xml b/converter-CellDesigner/testFiles/coloring_model.xml similarity index 100% rename from model-command/testFiles/coloring_model.xml rename to converter-CellDesigner/testFiles/coloring_model.xml diff --git a/model-command/testFiles/compartments.xml b/converter-CellDesigner/testFiles/compartments.xml similarity index 100% rename from model-command/testFiles/compartments.xml rename to converter-CellDesigner/testFiles/compartments.xml diff --git a/model-command/testFiles/complex_with_state.xml b/converter-CellDesigner/testFiles/complex_with_state.xml similarity index 100% rename from model-command/testFiles/complex_with_state.xml rename to converter-CellDesigner/testFiles/complex_with_state.xml diff --git a/model-command/testFiles/custom_semantic_zooming.xml b/converter-CellDesigner/testFiles/custom_semantic_zooming.xml similarity index 100% rename from model-command/testFiles/custom_semantic_zooming.xml rename to converter-CellDesigner/testFiles/custom_semantic_zooming.xml diff --git a/model-command/testFiles/cyclic_hierarchy_problem.xml b/converter-CellDesigner/testFiles/cyclic_hierarchy_problem.xml similarity index 100% rename from model-command/testFiles/cyclic_hierarchy_problem.xml rename to converter-CellDesigner/testFiles/cyclic_hierarchy_problem.xml diff --git a/converter-CellDesigner/testFiles/glyphs/uni.png b/converter-CellDesigner/testFiles/glyphs/uni.png new file mode 100644 index 0000000000000000000000000000000000000000..fd325269723c196ab52460e32a904db0e3bdc46f Binary files /dev/null and b/converter-CellDesigner/testFiles/glyphs/uni.png differ diff --git a/model-command/testFiles/kinetics_with_compartment.xml b/converter-CellDesigner/testFiles/kinetics_with_compartment.xml similarity index 100% rename from model-command/testFiles/kinetics_with_compartment.xml rename to converter-CellDesigner/testFiles/kinetics_with_compartment.xml diff --git a/model-command/testFiles/layer_text_with_notes.xml b/converter-CellDesigner/testFiles/layer_text_with_notes.xml similarity index 97% rename from model-command/testFiles/layer_text_with_notes.xml rename to converter-CellDesigner/testFiles/layer_text_with_notes.xml index 426b06f1c1bfce645530b256c8fc91b30ce355e8..8a2696938d2f49f8bf753791dcc11cc26cce8691 100644 --- a/model-command/testFiles/layer_text_with_notes.xml +++ b/converter-CellDesigner/testFiles/layer_text_with_notes.xml @@ -36,7 +36,7 @@ <celldesigner:listOfRNAs/> <celldesigner:listOfAntisenseRNAs/> <celldesigner:listOfLayers> -<celldesigner:layer id="1" name="Layer0001" locked="false" visible="true"> +<celldesigner:layer id="1" name="pathways" locked="false" visible="true"> <celldesigner:listOfTexts> <celldesigner:layerSpeciesAlias x="0.0" y="0.0"> <celldesigner:layerNotes> diff --git a/model-command/testFiles/nested_test.xml b/converter-CellDesigner/testFiles/nested_test.xml similarity index 100% rename from model-command/testFiles/nested_test.xml rename to converter-CellDesigner/testFiles/nested_test.xml diff --git a/model-command/testFiles/problematic/cutting_without_compartment.xml b/converter-CellDesigner/testFiles/problematic/cutting_without_compartment.xml similarity index 100% rename from model-command/testFiles/problematic/cutting_without_compartment.xml rename to converter-CellDesigner/testFiles/problematic/cutting_without_compartment.xml diff --git a/model-command/testFiles/problematic/disconnected_child_in_complex.xml b/converter-CellDesigner/testFiles/problematic/disconnected_child_in_complex.xml similarity index 100% rename from model-command/testFiles/problematic/disconnected_child_in_complex.xml rename to converter-CellDesigner/testFiles/problematic/disconnected_child_in_complex.xml diff --git a/model-command/testFiles/problematic_description.xml b/converter-CellDesigner/testFiles/problematic_description.xml similarity index 100% rename from model-command/testFiles/problematic_description.xml rename to converter-CellDesigner/testFiles/problematic_description.xml diff --git a/model-command/testFiles/reactions_to_color.xml b/converter-CellDesigner/testFiles/reactions_to_color.xml similarity index 100% rename from model-command/testFiles/reactions_to_color.xml rename to converter-CellDesigner/testFiles/reactions_to_color.xml diff --git a/model-command/testFiles/spliting_test_Case.xml b/converter-CellDesigner/testFiles/spliting_test_Case.xml similarity index 100% rename from model-command/testFiles/spliting_test_Case.xml rename to converter-CellDesigner/testFiles/spliting_test_Case.xml diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java index 7d132fdae47a1626351621690d24e79b0132510d..20445f8986f08fe24f8359289b0b8c49e9f607c5 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java @@ -1,11 +1,19 @@ package lcsb.mapviewer.converter.model.sbgnml; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringWriter; -import java.util.Arrays; -import java.util.List; +import lcsb.mapviewer.common.MimeType; +import lcsb.mapviewer.common.MinervaLoggerAppender; +import lcsb.mapviewer.converter.Converter; +import lcsb.mapviewer.converter.ConverterException; +import lcsb.mapviewer.converter.ConverterParams; +import lcsb.mapviewer.converter.InvalidInputDataExecption; +import lcsb.mapviewer.converter.model.sbgnml.parser.NotesConverter; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.modelutils.map.LogFormatter; +import org.apache.commons.io.output.ByteArrayOutputStream; +import org.sbgn.SbgnUtil; +import org.sbgn.bindings.Sbgn; +import org.springframework.stereotype.Component; +import org.w3c.dom.Document; import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilderFactory; @@ -18,30 +26,17 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; - -import org.apache.commons.io.output.ByteArrayOutputStream; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.sbgn.SbgnUtil; -import org.sbgn.bindings.Sbgn; -import org.springframework.stereotype.Component; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import lcsb.mapviewer.common.MimeType; -import lcsb.mapviewer.common.MinervaLoggerAppender; -import lcsb.mapviewer.converter.Converter; -import lcsb.mapviewer.converter.ConverterException; -import lcsb.mapviewer.converter.ConverterParams; -import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.modelutils.map.LogFormatter; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.StringWriter; +import java.util.Collections; +import java.util.List; @Component public class SbgnmlXmlConverter extends Converter { - @SuppressWarnings("unused") - private static Logger logger = LogManager.getLogger(); + private final NotesConverter notesConverter = new NotesConverter(); @Override public Model createModel(final ConverterParams params) throws InvalidInputDataExecption, ConverterException { @@ -72,13 +67,13 @@ public class SbgnmlXmlConverter extends Converter { Templates template = factory .newTemplates(new StreamSource(classLoader.getResourceAsStream("rename_id_list_attribute.xsl"))); - Transformer xformer = template.newTransformer(); + Transformer transformer = template.newTransformer(); ByteArrayOutputStream output = new ByteArrayOutputStream(); Source source = new StreamSource(inputStream); Result result = new StreamResult(output); - xformer.transform(source, result); + transformer.transform(source, result); return inputStream2File(output.toInputStream()); } catch (final Exception e) { @@ -96,13 +91,14 @@ public class SbgnmlXmlConverter extends Converter { exportedData = exporter.toSbgnml(model); if (!appender.getWarnings().isEmpty()) { for (final String entry : new LogFormatter().createFormattedWarnings(appender.getWarnings())) { - notes.append("\n" + entry); + notes.append("\n").append(entry); } } } finally { MinervaLoggerAppender.unregisterLogEventStorage(appender); } try { + exportedData.setNotes(notesConverter.createNotesNode(notes.toString())); ByteArrayOutputStream baos = new ByteArrayOutputStream(); SbgnUtil.writeTo(exportedData, baos); @@ -113,23 +109,12 @@ public class SbgnmlXmlConverter extends Converter { .newDocumentBuilder() .parse(baos.toInputStream()); - if (notes.length() > 0) { - Element bodyNode = input.createElement("body"); - bodyNode.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"); - bodyNode.setTextContent(notes.toString()); - - Element notesNode = input.createElement("notes"); - notesNode.appendChild(bodyNode); - - input.getFirstChild().insertBefore(notesNode, input.getFirstChild().getFirstChild()); - } - TransformerFactory transformerFactory = TransformerFactory.newInstance(); transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); - Transformer xformer = transformerFactory.newTransformer(); - xformer.setOutputProperty(OutputKeys.INDENT, "yes"); + Transformer transformer = transformerFactory.newTransformer(); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); StringWriter output = new StringWriter(); - xformer.transform(new DOMSource(input), new StreamResult(output)); + transformer.transform(new DOMSource(input), new StreamResult(output)); return output.toString(); } catch (final Exception e) { @@ -149,7 +134,7 @@ public class SbgnmlXmlConverter extends Converter { @Override public List<String> getFileExtensions() { - return Arrays.asList("sbgn"); + return Collections.singletonList("sbgn"); } } diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java index 62c8aadb932f260acf9db8c0c97e42e31856968f..4bd341bd1195569e94dc0afbc68455a9adcdddd7 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java @@ -4,7 +4,6 @@ import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.geometry.ColorParser; import lcsb.mapviewer.converter.ConverterException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.graphics.bioentity.reaction.ReactionConverter; import lcsb.mapviewer.converter.model.sbgnml.parser.NotesConverter; import lcsb.mapviewer.model.LogMarker; @@ -69,6 +68,7 @@ import lcsb.mapviewer.model.map.species.field.AbstractSiteModification; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.map.species.field.StructuralState; import lcsb.mapviewer.modelutils.map.ElementUtils; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -178,7 +178,7 @@ public class SbgnmlXmlExporter { * Transforms model into SBGN-ML xml. * * @param model model that should be transformed - * @return SBGM-ML xml string for the model + * @return SBGN-ML xml string for the model */ public Sbgn toSbgnml(final Model model) throws ConverterException { // Reset global variables diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java index c179bc2dccbf40b79f974328aabf46cbb3f89d09..5c0f2292db2e90505aaca29dde4d20a95c0ea82d 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java @@ -3,8 +3,6 @@ package lcsb.mapviewer.converter.model.sbgnml; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.ZIndexPopulator; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.sbgnml.parser.ElementParser; import lcsb.mapviewer.converter.model.sbgnml.parser.NotesConverter; import lcsb.mapviewer.converter.model.sbgnml.parser.ReactionParser; @@ -22,6 +20,8 @@ import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.XmlAnnotationParser; +import lcsb.mapviewer.utils.ZIndexPopulator; import org.apache.commons.io.FilenameUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ElementParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ElementParser.java index 012543645c8644136e7c49724a9a31a60094f604..4a21fe5899001806b22267c5dff7af64ea216833 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ElementParser.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ElementParser.java @@ -3,7 +3,6 @@ package lcsb.mapviewer.converter.model.sbgnml.parser; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.celldesigner.geometry.CellDesignerAliasConverter; import lcsb.mapviewer.converter.model.sbgnml.SbgnLogMarker; import lcsb.mapviewer.converter.model.sbgnml.parser.newt.NewtExtension; @@ -32,6 +31,7 @@ import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue; import lcsb.mapviewer.model.map.species.field.SpeciesWithResidue; import lcsb.mapviewer.model.map.species.field.SpeciesWithStructuralState; import lcsb.mapviewer.model.map.species.field.StructuralState; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.sbgn.GlyphClazz; diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/NotesConverter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/NotesConverter.java index 4db5742a0d245cab88137dbd7cc21491f6429335..199aafcf86903a27c025981e79f53becd1925b99 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/NotesConverter.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/NotesConverter.java @@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.model.sbgnml.parser; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; +import lcsb.mapviewer.utils.RestAnnotationParser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.sbgn.bindings.SBGNBase; diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ReactionParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ReactionParser.java index b5a6aa6121488755acb1ba45a78ea44bd4480ae2..03337681a024fddf737c4fea9ed9a6f686625e0b 100644 --- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ReactionParser.java +++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/parser/ReactionParser.java @@ -1,12 +1,12 @@ package lcsb.mapviewer.converter.model.sbgnml.parser; +import lcsb.mapviewer.commands.layout.ModifierType; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.geometry.PointTransformation; import lcsb.mapviewer.converter.InvalidInputDataExecption; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.PolylineDataFactory; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType; import lcsb.mapviewer.converter.model.sbgnml.SbgnLogMarker; import lcsb.mapviewer.converter.model.sbgnml.structures.Process; import lcsb.mapviewer.model.LogMarker; @@ -61,23 +61,23 @@ public class ReactionParser extends GlyphParser { /** * List of all logic operator glyphs parsed so far. */ - private List<Glyph> logicOperators = new ArrayList<>(); + private final List<Glyph> logicOperators = new ArrayList<>(); /** * List of all processes to be parsed. */ - private List<Process> processes = new ArrayList<>(); + private final List<Process> processes = new ArrayList<>(); /** * List of all logic arcs parsed so far. */ - private List<Arc> logicArcs = new ArrayList<>(); + private final List<Arc> logicArcs = new ArrayList<>(); private final PointTransformation pt = new PointTransformation(); - private RenderParser renderParser; + private final RenderParser renderParser; - private Model model; + private final Model model; public ReactionParser(final RenderParser renderParser, final Model model) { this.renderParser = renderParser; @@ -160,7 +160,7 @@ public class ReactionParser extends GlyphParser { public Reaction parseProcess(final Process p) throws Exception { if (p.getProductArcs().isEmpty()) { logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, p, model), - "The process must have at least one outgoing arc."); + "The process must have at least one outgoing arc."); return null; } @@ -223,7 +223,7 @@ public class ReactionParser extends GlyphParser { for (final Arc a : p.getProductArcs()) { if (Objects.equals(getSourcePort(a), p.getProductsPort()) && ports.size() == 2 - || reaction.getProducts().size() == 0) { + || reaction.getProducts().size() == 0) { Glyph target = getTargetGlyph(a); Product product = new Product(model.getElementByElementId(target.getId())); List<Point2D> pointList = getLinePoints(a); @@ -255,13 +255,13 @@ public class ReactionParser extends GlyphParser { boolean shouldReverse = reaction.getProducts().size() > 1; for (final Product product : reaction.getProducts()) { if (product.getLine().getStartPoint().distance(firstProduct.getLine().getStartPoint()) < Configuration.EPSILON - && product.getLine().getEndPoint().distance(firstProduct.getLine().getEndPoint()) > Configuration.EPSILON) { + && product.getLine().getEndPoint().distance(firstProduct.getLine().getEndPoint()) > Configuration.EPSILON) { shouldReverse = false; } } if (shouldReverse) { logger.warn(new LogMarker(ProjectLogEntryType.PARSING_ISSUE, "process-arcs", p.getCentralPoint().getId(), - model.getIdModel()), "Product lines should be reversed"); + model.getIdModel()), "Product lines should be reversed"); for (final Product product : reaction.getProducts()) { List<Line2D> lines = new ArrayList<>(product.getLine().getLines()); product.getLine().removeLines(); @@ -371,10 +371,10 @@ public class ReactionParser extends GlyphParser { Point2D portPoint; if (p.getReagentArcs().size() > 1) { portPoint = new Point2D.Double(p.getReagentArcs().get(0).getEnd().getX(), - p.getReagentArcs().get(0).getEnd().getY()); + p.getReagentArcs().get(0).getEnd().getY()); } else { portPoint = new Point2D.Double(p.getRevReagentArcs().get(0).getStart().getX(), - p.getRevReagentArcs().get(0).getStart().getY()); + p.getRevReagentArcs().get(0).getStart().getY()); } PolylineData line = new PolylineData(portPoint, centerOfReactionPoint); ArrowTypeData atd = new ArrowTypeData(); @@ -400,10 +400,10 @@ public class ReactionParser extends GlyphParser { Point2D portPoint; if (!p.isReversible()) { portPoint = new Point2D.Double(p.getProductArcs().get(0).getStart().getX(), - p.getProductArcs().get(0).getStart().getY()); + p.getProductArcs().get(0).getStart().getY()); } else { portPoint = new Point2D.Double(p.getRevProductArcs().get(0).getStart().getX(), - p.getRevProductArcs().get(0).getStart().getY()); + p.getRevProductArcs().get(0).getStart().getY()); } PolylineData line = new PolylineData(portPoint, centerOfReactionPoint); ArrowTypeData atd = new ArrowTypeData(); @@ -423,7 +423,7 @@ public class ReactionParser extends GlyphParser { * @throws Exception thrown when parsed logic operator is invalid */ private void parseLogicOperator(final Arc arc, final Reaction reaction, final NodeOperator targetOperator) - throws Exception { + throws Exception { Port operatorPort = (Port) arc.getSource(); Glyph logicOperator = null; for (final Glyph lo : getLogicOperators()) { @@ -439,8 +439,8 @@ public class ReactionParser extends GlyphParser { // inputs of Species final Glyph tempLogicOperator = logicOperator; boolean isCellDesignerValidLogicOperator = logicArcs.stream() - .filter(a -> tempLogicOperator.getPort().contains(a.getTarget()) && !(a.getSource() instanceof Port)) - .count() == 2; + .filter(a -> tempLogicOperator.getPort().contains(a.getTarget()) && !(a.getSource() instanceof Port)) + .count() == 2; if (!isCellDesignerValidLogicOperator) { throw new InvalidArgumentException("Parsed operator is not valid for CellDesigner: " + logicOperator.getId()); } @@ -455,7 +455,7 @@ public class ReactionParser extends GlyphParser { break; case NOT: logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, logicOperator, model), - "NOT gates are not implemented in the platform."); + "NOT gates are not implemented in the platform."); return; default: throw new InvalidArgumentException("Wrong logic operator class."); @@ -463,8 +463,8 @@ public class ReactionParser extends GlyphParser { // Parse line from arc and operator glyph Point2D operatorCenterPoint = new Point2D.Double( - logicOperator.getBbox().getX() + logicOperator.getBbox().getW() / 2, - logicOperator.getBbox().getY() + logicOperator.getBbox().getH() / 2); + logicOperator.getBbox().getX() + logicOperator.getBbox().getW() / 2, + logicOperator.getBbox().getY() + logicOperator.getBbox().getH() / 2); List<Point2D> linePoints = getLinePoints(arc); new ArrayList<Point2D>(); @@ -507,7 +507,7 @@ public class ReactionParser extends GlyphParser { if (logicArc.getSource() instanceof Port) { // The arc has source in logic operator logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, logicArc, model), - "Logic operators trees are not compatible with CellDesigner. Therefore they are not supported."); + "Logic operators trees are not compatible with CellDesigner. Therefore they are not supported."); continue; // parseLogicOperator(logicArc, reaction, modifierClass, // operator, model); @@ -541,11 +541,11 @@ public class ReactionParser extends GlyphParser { switch (ac) { case ABSOLUTE_INHIBITION: logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, arc, model), - ac + " modifier is not supported. Changing to " + Inhibition.class.getSimpleName()); + ac + " modifier is not supported. Changing to " + Inhibition.class.getSimpleName()); return new Inhibition(element); case ABSOLUTE_STIMULATION: logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, arc, model), - ac + " modifier is not supported. Changing to " + PhysicalStimulation.class.getSimpleName()); + ac + " modifier is not supported. Changing to " + PhysicalStimulation.class.getSimpleName()); return new PhysicalStimulation(element); case CATALYSIS: return new Catalysis(element); @@ -628,7 +628,7 @@ public class ReactionParser extends GlyphParser { switch (ArcClazz.fromClazz(arc.getClazz())) { case PRODUCTION: logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, arc, model), - "Activity flow arc type is invalid. Changing to " + StateTransitionReaction.class.getSimpleName()); + "Activity flow arc type is invalid. Changing to " + StateTransitionReaction.class.getSimpleName()); result = new StateTransitionReaction(arc.getId()); break; default: @@ -797,7 +797,7 @@ public class ReactionParser extends GlyphParser { if (productPointList.size() == 3) { if (productPointList.get(0).distance(productPointList.get(1)) > productPointList.get(1) - .distance(productPointList.get(2))) { + .distance(productPointList.get(2))) { Point2D newPoint = pt.getPointOnLine(productPointList.get(0), productPointList.get(1), 0.5); productPointList.add(1, newPoint); } else { @@ -816,12 +816,12 @@ public class ReactionParser extends GlyphParser { reactant.setLine(reactantLine); PolylineData centerLine = new PolylineData(productPointList.subList(reactantPointEnds, productPointStarts + 1)) - .copy(); + .copy(); reaction.setLine(centerLine); ArrowTypeData productAtd = extractArrowTypeDataFromArc(arc); PolylineData productLine = new PolylineData( - productPointList.subList(productPointStarts, productPointList.size())).copy(); + productPointList.subList(productPointStarts, productPointList.size())).copy(); productLine.setEndAtd(productAtd); product.setLine(productLine); @@ -935,19 +935,19 @@ public class ReactionParser extends GlyphParser { return parsePhenotypeArc(a); } catch (Exception e) { logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, a, model), "Probelm with importing arc", - e); + e); } break; } if (a.getSource() instanceof Glyph) { Glyph sourceGlyph = (Glyph) a.getSource(); if (GlyphClazz.fromClazz(sourceGlyph.getClazz()).equals(GlyphClazz.PHENOTYPE) - && (model.getElementByElementId(targetGlyph.getId()) instanceof Species)) { + && (model.getElementByElementId(targetGlyph.getId()) instanceof Species)) { try { return parsePhenotypeArc(a); } catch (InvalidArgumentException ex) { logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, a, model), - "The arc is not a valid reduced notation arc.", ex); + "The arc is not a valid reduced notation arc.", ex); } break; } @@ -962,7 +962,7 @@ public class ReactionParser extends GlyphParser { } if (!found) { logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, a, model), - "Expected PHENOTYPE in reduced notation arc. Arc skipped."); + "Expected PHENOTYPE in reduced notation arc. Arc skipped."); } break; } else { @@ -984,13 +984,13 @@ public class ReactionParser extends GlyphParser { } if (!found) { logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, a, model), - "Cannot find a target for arc: " + a.getId() + ". Skipping"); + "Cannot find a target for arc: " + a.getId() + ". Skipping"); } } break; default: logger.warn(new SbgnLogMarker(ProjectLogEntryType.PARSING_ISSUE, a, model), - "The arc has not been parsed, since it is invalid for SBGN PD map."); + "The arc has not been parsed, since it is invalid for SBGN PD map."); } return null; } diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java index df9a04f21c3860e441263d6a336af9fed10741a9..3a08e727ca55641d2a3194ac9a5cf32fecca530c 100644 --- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java +++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java @@ -1,24 +1,6 @@ package lcsb.mapviewer.converter.graphics; -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.geom.Line2D; -import java.awt.geom.Rectangle2D; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.nio.file.FileStore; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.commands.ColorExtractor; -import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.commands.SemanticZoomLevelMatcher; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.MimeType; @@ -35,7 +17,6 @@ import lcsb.mapviewer.model.map.BioEntity; import lcsb.mapviewer.model.map.Drawable; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.PathwayCompartment; -import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.layout.graphics.LayerOval; import lcsb.mapviewer.model.map.layout.graphics.LayerRect; import lcsb.mapviewer.model.map.layout.graphics.LayerText; @@ -46,6 +27,21 @@ import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.overlay.DataOverlayEntry; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.geom.Line2D; +import java.awt.geom.Rectangle2D; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.file.FileStore; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.List; /** * This class is responsible for creation of the image from the model. It's an @@ -78,9 +74,8 @@ import lcsb.mapviewer.model.overlay.DataOverlayEntry; * from graphics2D and save it into separate files</li> * </ul> * </p> - * + * * @author Piotr Gawron - * */ public abstract class AbstractImageGenerator { @@ -99,13 +94,13 @@ public abstract class AbstractImageGenerator { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Class that allows to check if element is visible (or transparent) when * drawing. It's used to filter out invisible elements when drawing * semantic/hierarchy view. */ - private SemanticZoomLevelMatcher zoomLevelMatcher = new SemanticZoomLevelMatcher(); + private final SemanticZoomLevelMatcher zoomLevelMatcher = new SemanticZoomLevelMatcher(); /** * On which level in hierarchical view we should visualize map. */ @@ -145,11 +140,8 @@ public abstract class AbstractImageGenerator { * {@link lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params * params}. * - * @param params - * list of all params to create appropriate image - * @throws DrawingException - * thrown when there was a problem with drawing a map - * + * @param params list of all params to create appropriate image + * @throws DrawingException thrown when there was a problem with drawing a map */ protected AbstractImageGenerator(final Params params) { this.params = params; @@ -167,18 +159,15 @@ public abstract class AbstractImageGenerator { * This method creates a graphics object for different implementations of * canvas with fixed width and height. * - * @param width - * width of the canvas (graphics2d) to be created - * @param height - * height of the canvas (graphics2d) to be created + * @param width width of the canvas (graphics2d) to be created + * @param height height of the canvas (graphics2d) to be created */ protected abstract void createImageObject(final double width, final double height); /** * Draw a model into {@link #getGraphics()} object. - * - * @throws DrawingException - * thrown when there is a problem with drawing + * + * @throws DrawingException thrown when there is a problem with drawing */ protected void draw() throws DrawingException { if (isDrawn()) { @@ -248,21 +237,8 @@ public abstract class AbstractImageGenerator { } private List<Drawable> getDrawables() { - boolean isOriginallyVisible = false; - for (Layer layer : params.getModel().getLayers()) { - if (Objects.deepEquals(layer.getName(), CreateHierarchyCommand.TEXT_LAYER_NAME)) { - isOriginallyVisible = layer.isVisible(); - layer.setVisible(true); - } - } List<Drawable> drawables = new ArrayList<>(params.getModel().getDrawables(true)); drawables.sort(BioEntity.Z_INDEX_COMPARATOR); - for (Layer layer : params.getModel().getLayers()) { - if (Objects.deepEquals(layer.getName(), CreateHierarchyCommand.TEXT_LAYER_NAME)) { - // revert change that was required to obtain drawables with text layer - layer.setVisible(isOriginallyVisible); - } - } return drawables; } @@ -300,10 +276,8 @@ public abstract class AbstractImageGenerator { /** * This method draw a {@link Compartment} on a graphics. * - * @param compartment - * object that we want to draw - * @throws DrawingException - * thrown when there was a problem with drawing {@link Compartment} + * @param compartment object that we want to draw + * @throws DrawingException thrown when there was a problem with drawing {@link Compartment} */ protected void drawCompartment(final Compartment compartment) throws DrawingException { // get a converter for this compartment @@ -328,10 +302,8 @@ public abstract class AbstractImageGenerator { /** * This method draw a {@link Species} on a graphics. * - * @param species - * object to be drawn - * @throws DrawingException - * thrown when there was a problem with drawing a {@link Species} + * @param species object to be drawn + * @throws DrawingException thrown when there was a problem with drawing a {@link Species} */ protected void drawSpecies(final Species species) throws DrawingException { if (!cross(species.getBorder())) { @@ -368,10 +340,8 @@ public abstract class AbstractImageGenerator { /** * This method draw a reaction on a graphics. * - * @param reaction - * object to be drawn - * @throws DrawingException - * thrown when there was a problem with drawing a {@link Reaction} + * @param reaction object to be drawn + * @throws DrawingException thrown when there was a problem with drawing a {@link Reaction} */ protected void drawReaction(final Reaction reaction) throws DrawingException { if (!cross(reaction.getLines())) { @@ -385,8 +355,7 @@ public abstract class AbstractImageGenerator { /** * Checks if one of the lines in parameter cross the frame. * - * @param lines - * list of lines to check + * @param lines list of lines to check * @return true if the cross point exist, false otherwise */ private boolean cross(final List<Line2D> lines) { @@ -402,8 +371,7 @@ public abstract class AbstractImageGenerator { * Checks if the rectangle in the parameters cross the fram in which we are * currently draw image. * - * @param rect - * rectangle to check + * @param rect rectangle to check * @return true if rectangle check the frame, false otherwise */ protected boolean cross(final Rectangle2D rect) { @@ -418,8 +386,7 @@ public abstract class AbstractImageGenerator { } /** - * @param graphics - * the graphics to set + * @param graphics the graphics to set */ protected void setGraphics(final Graphics2D graphics) { this.graphics = graphics; @@ -428,12 +395,9 @@ public abstract class AbstractImageGenerator { /** * Saves generated image into file. * - * @param fileName - * file where the images should be saved - * @throws IOException - * thrown when there is problem with output file - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param fileName file where the images should be saved + * @throws IOException thrown when there is problem with output file + * @throws DrawingException thrown when there was a problem with drawing map */ public final void saveToFile(final String fileName) throws IOException, DrawingException { if (!isDrawn()) { @@ -446,24 +410,18 @@ public abstract class AbstractImageGenerator { /** * Saves generated image from {@link #getGraphics()} into file. * - * @param fileName - * file where the images should be saved - * @throws IOException - * thrown when there is problem with output file - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param fileName file where the images should be saved + * @throws IOException thrown when there is problem with output file + * @throws DrawingException thrown when there was a problem with drawing map */ protected abstract void saveToFileImplementation(final String fileName) throws IOException; /** * Saves generated image into {@link OutputStream}. * - * @param os - * stream where the images should be saved - * @throws IOException - * thrown when there is problem with output stream - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param os stream where the images should be saved + * @throws IOException thrown when there is problem with output stream + * @throws DrawingException thrown when there was a problem with drawing map */ public final void saveToOutputStream(final OutputStream os) throws IOException, DrawingException { if (!isDrawn()) { @@ -476,32 +434,22 @@ public abstract class AbstractImageGenerator { * Saves generated image from {@link #getGraphics()} into {@link OutputStream} * . * - * @param os - * stream where the images should be saved - * @throws IOException - * thrown when there is problem with output stream - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param os stream where the images should be saved + * @throws IOException thrown when there is problem with output stream + * @throws DrawingException thrown when there was a problem with drawing map */ protected abstract void saveToOutputStreamImplementation(final OutputStream os) throws IOException; /** * Saves part of the generated image file. * - * @param fileName - * file where the images should be saved - * @param x - * x left margin of the image part - * @param y - * y top margin of the image part - * @param width - * width of the image part - * @param height - * height of the image part - * @throws IOException - * thrown when there is problem with output file - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param fileName file where the images should be saved + * @param x x left margin of the image part + * @param y y top margin of the image part + * @param width width of the image part + * @param height height of the image part + * @throws IOException thrown when there is problem with output file + * @throws DrawingException thrown when there was a problem with drawing map */ public final void savePartToFile(final int x, final int y, final int width, final int height, final String fileName) throws IOException, DrawingException { @@ -525,42 +473,29 @@ public abstract class AbstractImageGenerator { /** * Saves part of the generated image from {@link #getGraphics()} into file. * - * @param fileName - * file where the images should be saved - * @param x - * x left margin of the image part - * @param y - * y top margin of the image part - * @param width - * width of the image part - * @param height - * height of the image part - * @throws IOException - * thrown when there is problem with output file + * @param fileName file where the images should be saved + * @param x x left margin of the image part + * @param y y top margin of the image part + * @param width width of the image part + * @param height height of the image part + * @throws IOException thrown when there is problem with output file */ protected abstract void savePartToFileImplementation(final int x, final int y, final int width, final int height, - final String fileName) throws IOException; + final String fileName) throws IOException; /** * Saves part of the generated image into {@link OutputStream}. * - * @param os - * stream where the images should be saved - * @param x - * x left margin of the image part - * @param y - * y top margin of the image part - * @param width - * width of the image part - * @param height - * height of the image part - * @throws IOException - * thrown when there is problem with output file - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param os stream where the images should be saved + * @param x x left margin of the image part + * @param y y top margin of the image part + * @param width width of the image part + * @param height height of the image part + * @throws IOException thrown when there is problem with output file + * @throws DrawingException thrown when there was a problem with drawing map */ public final void savePartToOutputStream(final int x, final int y, final int width, final int height, - final OutputStream os) throws IOException, DrawingException { + final OutputStream os) throws IOException, DrawingException { if (!isDrawn()) { draw(); } @@ -571,23 +506,16 @@ public abstract class AbstractImageGenerator { * Saves part of the generated image from {@link #getGraphics()} into * {@link OutputStream}. * - * @param os - * stream where the images should be saved - * @param x - * x left margin of the image part - * @param y - * y top margin of the image part - * @param width - * width of the image part - * @param height - * height of the image part - * @throws IOException - * thrown when there is problem with output file - * @throws DrawingException - * thrown when there was a problem with drawing map + * @param os stream where the images should be saved + * @param x x left margin of the image part + * @param y y top margin of the image part + * @param width width of the image part + * @param height height of the image part + * @throws IOException thrown when there is problem with output file + * @throws DrawingException thrown when there was a problem with drawing map */ protected abstract void savePartToOutputStreamImplementation(final int x, final int y, final int width, - final int height, final OutputStream os) throws IOException; + final int height, final OutputStream os) throws IOException; /** * Returns name of the format to which this graphic converter will transform. @@ -600,8 +528,7 @@ public abstract class AbstractImageGenerator { * Returns {@link MimeType} that should be used for files generated by this * image generator. * - * @return {@link MimeType} that should be used for files generated by this - * image generator + * @return {@link MimeType} that should be used for files generated by this image generator */ public abstract MimeType getMimeType(); @@ -620,8 +547,7 @@ public abstract class AbstractImageGenerator { } /** - * @param sbgnFormat - * the sbgnFormat to set + * @param sbgnFormat the sbgnFormat to set */ protected void sbgnFormat(final boolean sbgnFormat) { this.sbgnFormat = sbgnFormat; @@ -636,8 +562,7 @@ public abstract class AbstractImageGenerator { } /** - * @param drawn - * the drawn to set + * @param drawn the drawn to set * @see #drawn */ private void setDrawn(final boolean drawn) { @@ -653,8 +578,7 @@ public abstract class AbstractImageGenerator { } /** - * @param params - * the params to set + * @param params the params to set * @see #params */ protected void setParams(final Params params) { @@ -665,7 +589,6 @@ public abstract class AbstractImageGenerator { * This class contains a list of params that are used for drawing. * * @author Piotr Gawron - * */ public static class Params { @@ -740,9 +663,8 @@ public abstract class AbstractImageGenerator { * single layout. In this map we have pairs between {@link Element}/ * {@link Reaction} and {@link DataOverlayEntry} used to visualize the * element. - * */ - private List<List<Pair<? extends BioEntity, DataOverlayEntry>>> visibleDataOverlays = new ArrayList<>(); + private final List<List<Pair<? extends BioEntity, DataOverlayEntry>>> visibleDataOverlays = new ArrayList<>(); /** * Color that should be used for drawing overlays with minimum value. @@ -759,8 +681,7 @@ public abstract class AbstractImageGenerator { private Color neutralColor = Color.WHITE; /** - * @param scale - * scale to set + * @param scale scale to set * @return object with all parameters * @see #scale */ @@ -770,8 +691,7 @@ public abstract class AbstractImageGenerator { } /** - * @param scale - * scale to set + * @param scale scale to set * @return object with all parameters * @see #scale */ @@ -781,9 +701,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param x - * x coordinate to be set + * @param x x coordinate to be set * @return object with all parameters * @see #x */ @@ -793,8 +711,7 @@ public abstract class AbstractImageGenerator { } /** - * @param x - * x coordinate to be set + * @param x x coordinate to be set * @return object with all parameters * @see #x */ @@ -804,8 +721,7 @@ public abstract class AbstractImageGenerator { } /** - * @param y - * y coordinate to be set + * @param y y coordinate to be set * @return object with all parameters * @see #y */ @@ -815,8 +731,7 @@ public abstract class AbstractImageGenerator { } /** - * @param y - * y coordinate to be set + * @param y y coordinate to be set * @return object with all parameters * @see #y */ @@ -826,8 +741,7 @@ public abstract class AbstractImageGenerator { } /** - * @param width - * width to set + * @param width width to set * @return object with all parameters * @see #width */ @@ -837,8 +751,7 @@ public abstract class AbstractImageGenerator { } /** - * @param width - * width to set + * @param width width to set * @return object with all parameters * @see #width */ @@ -848,9 +761,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param height - * height to set + * @param height height to set * @return object with all parameters * @see #height */ @@ -860,8 +771,7 @@ public abstract class AbstractImageGenerator { } /** - * @param height - * height to set + * @param height height to set * @return object with all parameters * @see #height */ @@ -871,9 +781,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param background - * background flag to set + * @param background background flag to set * @return object with all parameters * @see #background */ @@ -883,9 +791,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param nested - * nested flag to set + * @param nested nested flag to set * @return object with all parameters * @see #nested */ @@ -895,9 +801,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param model - * model to set + * @param model model to set * @return object with all parameters * @see #model */ @@ -913,9 +817,7 @@ public abstract class AbstractImageGenerator { } /** - * - * @param level - * level to set + * @param level level to set * @return object with all parameters * @see #level */ @@ -927,8 +829,7 @@ public abstract class AbstractImageGenerator { /** * Sets {@link #level} parameter from {@link String}. * - * @param zoomLevel - * new {@link #level} value + * @param zoomLevel new {@link #level} value * @return object with all parameters */ public Params level(final String zoomLevel) { @@ -941,7 +842,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return scale value * @see #scale */ @@ -950,7 +850,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return x coordinate value * @see #x */ @@ -959,7 +858,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return y coordinate value * @see #y */ @@ -968,7 +866,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return width value * @see #width */ @@ -977,7 +874,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return height value * @see #height */ @@ -986,7 +882,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return model object * @see #model */ @@ -995,7 +890,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return background value * @see #background */ @@ -1004,7 +898,6 @@ public abstract class AbstractImageGenerator { } /** - * * @return nested value * @see #nested */ @@ -1033,10 +926,9 @@ public abstract class AbstractImageGenerator { * contains mapping between {@link Element}/{@link Reaction} and * {@link DataOverlayEntry} used for coloring specific element. * - * @param map - * layout data containing mapping between {@link Element}/ - * {@link Reaction} and {@link DataOverlayEntry} used for coloring - * specific element + * @param map layout data containing mapping between {@link Element}/ + * {@link Reaction} and {@link DataOverlayEntry} used for coloring + * specific element */ public void addVisibleDataOverlay(final List<Pair<? extends BioEntity, DataOverlayEntry>> map) { visibleDataOverlays.add(map); @@ -1050,12 +942,9 @@ public abstract class AbstractImageGenerator { * Returns list with {@link DataOverlayEntry} used to visualize the specific * object in data overlays visualized in the JavaScript. * - * @param object - * object ({@link Element} or {@link Reaction}) for which we return - * list of {@link DataOverlayEntry} in different layouts - * @return list with {@link DataOverlayEntry} used to visualize the specific - * object in data overlays visualized in the JavaScript - * @see #visibleDataOverlays + * @param object object ({@link Element} or {@link Reaction}) for which we return + * list of {@link DataOverlayEntry} in different layouts + * @return list with {@link DataOverlayEntry} used to visualize the specific object in data overlays visualized in the JavaScript */ public List<List<DataOverlayEntry>> getVisibleDataOverlaysForElement(final BioEntity object) { List<List<DataOverlayEntry>> result = new ArrayList<>(); @@ -1075,8 +964,7 @@ public abstract class AbstractImageGenerator { * Returns {@link Color} that should be used for drawing overlays with * maximum value. * - * @return {@link Color} that should be used for drawing overlays with - * maximum value + * @return {@link Color} that should be used for drawing overlays with maximum value */ public Color getMaxColor() { return maxColor; @@ -1090,16 +978,14 @@ public abstract class AbstractImageGenerator { * Returns {@link Color} that should be used for drawing overlays with * minimum value. * - * @return {@link Color} that should be used for drawing overlays with - * minimum value + * @return {@link Color} that should be used for drawing overlays with minimum value */ public Color getMinColor() { return minColor; } /** - * @param minColor - * minColor to set + * @param minColor minColor to set * @return object with all parameters * @see #minColor */ @@ -1109,8 +995,7 @@ public abstract class AbstractImageGenerator { } /** - * @param maxColor - * maxColor to set + * @param maxColor maxColor to set * @return object with all parameters * @see #maxColor */ @@ -1120,8 +1005,7 @@ public abstract class AbstractImageGenerator { } /** - * @param simpleColor - * simpleColor to set + * @param simpleColor simpleColor to set * @return object with all parameters * @see #simpleColor */ @@ -1139,10 +1023,9 @@ public abstract class AbstractImageGenerator { } /** - * @param sbgn - * the sbgn to set - * @see #sbgn + * @param sbgn the sbgn to set * @return object with all parameters + * @see #sbgn */ public Params sbgn(final boolean sbgn) { this.sbgn = sbgn; diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java index d63c4b03e7e06cd9d3fc647b1f7147a9f3026fe6..88eb060e22f257bd5d0f2bc45c79ea4af067136c 100644 --- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java +++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java @@ -2,7 +2,6 @@ package lcsb.mapviewer.converter.graphics; import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params; -import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; import lcsb.mapviewer.model.graphics.PolylineData; import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.layout.graphics.LayerText; @@ -32,6 +31,7 @@ public class NormalImageGeneratorTest extends GraphicsTestFunctions { LayerText layerText = createText(); Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); layer.addLayerText(layerText); layer.setVisible(true); model.addLayer(layer); @@ -45,13 +45,12 @@ public class NormalImageGeneratorTest extends GraphicsTestFunctions { @Test public void testArtificialInHierarchicalView() throws Exception { - CellDesignerXmlParser parser = new CellDesignerXmlParser(); Model model = createCompartmentModel(); Layer layer = model.getLayers().iterator().next(); layer.addLayerText(new LayerText(new Rectangle2D.Double(10, 10, 500, 500), "X asd")); layer.addLayerText(new LayerText(new Rectangle2D.Double(20, 20, 200, 200), "Y qwe ret")); - layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd aaewq ret")); + layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd xxx ret")); new CreateHierarchyCommand(model, 1, 8).execute(); model.getCompartments().get(1).setTransparencyLevel("2"); diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java index d29c5f2166848dbdbe092196f3ea46fe990ceb9f..8b8911c6f22be13adc52a2e64ead37b0ec150d5a 100644 --- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java +++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/PdfImageGeneratorTest.java @@ -1,23 +1,5 @@ package lcsb.mapviewer.converter.graphics; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.geom.Point2D; -import java.awt.geom.Rectangle2D; -import java.io.File; -import java.io.IOException; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; - import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params; @@ -28,6 +10,23 @@ import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelFullIndexed; import lcsb.mapviewer.model.map.species.Complex; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.geom.Point2D; +import java.awt.geom.Rectangle2D; +import java.io.File; +import java.io.IOException; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; public class PdfImageGeneratorTest extends GraphicsTestFunctions { @@ -45,17 +44,18 @@ public class PdfImageGeneratorTest extends GraphicsTestFunctions { File f = new File(filename); if (f.exists()) { - f.delete(); + assertTrue(f.delete()); } assertFalse(f.exists()); Model model = createCompartmentModel(); Layer layer = model.getLayers().iterator().next(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); layer.addLayerText(new LayerText(new Rectangle2D.Double(10, 10, 500, 500), "X asd")); layer.addLayerText(new LayerText(new Rectangle2D.Double(20, 20, 200, 200), "Y qwe ret")); - layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd aaewq ret")); + layer.addLayerText(new LayerText(new Rectangle2D.Double(100, 100, 199, 220), "Z dgf fsd blah ret")); for (final LayerText text : layer.getTexts()) { text.setZ(0); @@ -71,7 +71,7 @@ public class PdfImageGeneratorTest extends GraphicsTestFunctions { pig.saveToFile("tmp.pdf"); assertTrue(f.exists()); - f.delete(); + assertTrue(f.delete()); assertFalse(f.exists()); } @@ -81,7 +81,7 @@ public class PdfImageGeneratorTest extends GraphicsTestFunctions { File f = new File(filename); if (f.exists()) { - f.delete(); + assertTrue(f.delete()); } assertFalse(f.exists()); diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java index d1a5d04b3ce0b6acd387176d8676582334a054ee..5940cbddd495f8264f467de9473a5d76d8d3b683 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java @@ -1,8 +1,8 @@ package lcsb.mapviewer.converter.model.sbml; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.commons.text.StringEscapeUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java index e59598fdee22e8e4ee224eadfd9be65048f47b3b..c43d706b5f0480ebd8852435baa09efb3214d125 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java @@ -3,7 +3,6 @@ package lcsb.mapviewer.converter.model.sbml; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.sbml.species.ElementColorEnum; import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; @@ -13,6 +12,7 @@ import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.model.Author; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.sbml.jsbml.AbstractNamedSBase; diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java index 62f06b1aac1e5492ccea3556ebdf342f97c28ce3..da0478b878bb02535413b087aa7aa6aace8ee77e 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java @@ -2,13 +2,13 @@ package lcsb.mapviewer.converter.model.sbml; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.exception.InvalidStateException; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentExporter; import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionExporter; import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesExporter; import lcsb.mapviewer.converter.model.sbml.units.SbmlUnitExporter; import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlLayerParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlLayerParser.java index 82e31e6801feb52bf13e68d1c08440cff4832169..894be0c3f46e1b298f898324db05319a5da98f17 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlLayerParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlLayerParser.java @@ -1,6 +1,5 @@ package lcsb.mapviewer.converter.model.sbml; -import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.converter.InvalidInputDataExecption; import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.layout.graphics.LayerText; @@ -22,7 +21,7 @@ public class SbmlLayerParser extends SbmlBioEntityParser { Layer layer = new Layer(); layer.setLayerId(1); layer.setZ(1); - layer.setName(CreateHierarchyCommand.TEXT_LAYER_NAME); + layer.setName("text"); SbmlModelUtils sbmlModelUtils = new SbmlModelUtils(sbmlModel); Layout layout = sbmlModelUtils.getLayout(); if (layout != null) { diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java index 5258d5f7eda95eb44b0843a4f481ed4e7d9c0ad5..6e22fcf4078a0d4ce5779e5a1b703be7d799ed70 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java @@ -1,24 +1,5 @@ package lcsb.mapviewer.converter.model.sbml; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.xml.stream.XMLStreamException; - -import org.apache.commons.io.FilenameUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.sbml.jsbml.SBMLDocument; -import org.sbml.jsbml.SBMLReader; -import org.sbml.jsbml.ext.SBasePlugin; -import org.sbml.jsbml.ext.layout.Layout; -import org.sbml.jsbml.ext.layout.LayoutModelPlugin; -import org.sbml.jsbml.ext.multi.MultiModelPlugin; -import org.springframework.stereotype.Component; - import lcsb.mapviewer.commands.CommandExecutionException; import lcsb.mapviewer.commands.layout.ApplySimpleLayoutModelCommand; import lcsb.mapviewer.common.Configuration; @@ -27,7 +8,6 @@ import lcsb.mapviewer.converter.Converter; import lcsb.mapviewer.converter.ConverterException; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.ZIndexPopulator; import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentParser; import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionParser; import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesParser; @@ -45,6 +25,24 @@ import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue; +import lcsb.mapviewer.utils.ZIndexPopulator; +import org.apache.commons.io.FilenameUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.sbml.jsbml.SBMLDocument; +import org.sbml.jsbml.SBMLReader; +import org.sbml.jsbml.ext.SBasePlugin; +import org.sbml.jsbml.ext.layout.Layout; +import org.sbml.jsbml.ext.layout.LayoutModelPlugin; +import org.sbml.jsbml.ext.multi.MultiModelPlugin; +import org.springframework.stereotype.Component; + +import javax.xml.stream.XMLStreamException; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; @Component public class SbmlParser extends Converter { @@ -52,7 +50,7 @@ public class SbmlParser extends Converter { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); private boolean provideDefaults = true; diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java index cf6e21fcd562237486f7c03f1f3fb93d82d8efac..5f28eaeace3356ed1a6bca4fd3a575c942db5ad8 100644 --- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java +++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java @@ -1,5 +1,7 @@ package lcsb.mapviewer.converter.model.sbml.reaction; +import lcsb.mapviewer.commands.layout.ModifierType; +import lcsb.mapviewer.commands.layout.ReactionData; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.XmlParser; @@ -9,8 +11,6 @@ import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.common.geometry.PointTransformation; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType; import lcsb.mapviewer.converter.model.sbml.SbmlBioEntityParser; import lcsb.mapviewer.converter.model.sbml.SbmlModelUtils; import lcsb.mapviewer.converter.model.sbml.SbmlParameterParser; @@ -72,14 +72,14 @@ import java.util.Map; import java.util.Set; public class SbmlReactionParser extends SbmlBioEntityParser { - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); - private ElementUtils eu = new ElementUtils(); + private final ElementUtils eu = new ElementUtils(); - private SbmlSpeciesParser speciesParser; - private SbmlCompartmentParser compartmentParser; + private final SbmlSpeciesParser speciesParser; + private final SbmlCompartmentParser compartmentParser; - private PointTransformation pt = new PointTransformation(); + private final PointTransformation pt = new PointTransformation(); public SbmlReactionParser(final Model sbmlModel, final lcsb.mapviewer.model.map.model.Model minervaModel, final SbmlSpeciesParser speciesParser, final SbmlCompartmentParser compartmentParser) { @@ -325,8 +325,8 @@ public class SbmlReactionParser extends SbmlBioEntityParser { // if there is no layout don't create center line if (startNode.getLine() != null && startNode.getLine().length() > Configuration.EPSILON && endNode.getLine() != null && endNode.getLine().length() > Configuration.EPSILON) { - startNode.getLine().trimEnd(ReactionCellDesignerConverter.RECT_SIZE); - endNode.getLine().trimBegin(ReactionCellDesignerConverter.RECT_SIZE); + startNode.getLine().trimEnd(ReactionData.RECT_SIZE); + endNode.getLine().trimBegin(ReactionData.RECT_SIZE); line.addLine(pt.copyPoint(startNode.getLine().getEndPoint()), pt.copyPoint(endNode.getLine().getStartPoint())); line.setType(startNode.getLine().getType()); diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GeneratedSbmlValidationTests.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GeneratedSbmlValidationTests.java index d265f40ca65438ac638c76781db8c98a4062b97e..ab64ae9b16d676846018ca1c38d9191a5ed2c66d 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GeneratedSbmlValidationTests.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GeneratedSbmlValidationTests.java @@ -1,28 +1,27 @@ package lcsb.mapviewer.converter.model.sbml; -import java.awt.geom.Rectangle2D; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameters; - import lcsb.mapviewer.commands.layout.ApplySimpleLayoutModelCommand; -import lcsb.mapviewer.converter.ZIndexPopulator; import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.GenericProtein; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.ZIndexPopulator; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; + +import java.awt.geom.Rectangle2D; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; @RunWith(Parameterized.class) public class GeneratedSbmlValidationTests extends SbmlTestFunctions { - private Model model; + private final Model model; public GeneratedSbmlValidationTests(final Model model, final String name) { this.model = model; @@ -57,7 +56,7 @@ public class GeneratedSbmlValidationTests extends SbmlTestFunctions { private static Object[] createRow(final Model model) { new ZIndexPopulator().populateZIndex(model); - return new Object[] { model, model.getName() }; + return new Object[]{model, model.getName()}; } private static Model createModelWithSingleSpecies() throws Exception { diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java index bb2acde6f338b0ac3b09436348e999fd8f803ebe..b43073d0c40be477b8b65fac284631dcdc588a80 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java @@ -3,7 +3,6 @@ package lcsb.mapviewer.converter.model.sbml; import lcsb.mapviewer.converter.ConverterException; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelComparator; import org.junit.Test; @@ -58,8 +57,7 @@ public class GenericSbmlToXmlParserTest extends SbmlTestFunctions { testSbmlSerialization(model); } - private void testSbmlSerialization(final Model model) throws InconsistentModelException, - IOException, ConverterException, InvalidInputDataExecption { + private void testSbmlSerialization(final Model model) throws ConverterException, InvalidInputDataExecption { final SbmlParser converter = new SbmlParser(); converter.setProvideDefaults(false); diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java index f9578be9aa77b284f941b057b83bbe3e3cc49870..ab1037f51e3da0184f35922e050803aa310f0969 100644 --- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java +++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java @@ -1,6 +1,5 @@ package lcsb.mapviewer.converter.model.sbml; -import lcsb.mapviewer.commands.CreateHierarchyCommand; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.ListComparator; import lcsb.mapviewer.converter.ConverterParams; @@ -742,7 +741,7 @@ public class SbmlExporterTest extends SbmlTestFunctions { final Layer layer = new Layer(); layer.setLayerId(1); - layer.setName(CreateHierarchyCommand.TEXT_LAYER_NAME); + layer.setName("text"); final LayerText text = new LayerText(new Rectangle2D.Double(10, 20, 30, 40), "str a"); text.setZ(0); layer.addLayerText(text); diff --git a/converter/pom.xml b/converter/pom.xml index 79f569c12236f1cfc16b3209e2b661e975d91f81..942e233f0ee9e1f3fc44e3495f35e386ec1455db 100644 --- a/converter/pom.xml +++ b/converter/pom.xml @@ -1,41 +1,46 @@ <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>lcsb.mapviewer</groupId> - <artifactId>parent</artifactId> - <version>19.0.0~alpha.0</version> - </parent> - - <artifactId>converter</artifactId> - <name>converter</name> - - <dependencies> - <dependency> - <groupId>lcsb.mapviewer</groupId> - <artifactId>model</artifactId> - <version>19.0.0~alpha.0</version> - </dependency> - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - <version>${xercesImp.version}</version> - </dependency> - <!-- mockito used for testing --> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>${mockito.version}</version> - <scope>test</scope> - </dependency> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>lcsb.mapviewer</groupId> + <artifactId>parent</artifactId> + <version>19.0.0~alpha.0</version> + </parent> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - - </dependencies> + <artifactId>converter</artifactId> + <name>converter</name> + + <dependencies> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>model</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>model-command</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>${xercesImp.version}</version> + </dependency> + <!-- mockito used for testing --> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + <scope>test</scope> + </dependency> + + </dependencies> </project> diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ColorSchemaWriter.java b/converter/src/main/java/lcsb/mapviewer/converter/ColorSchemaWriter.java new file mode 100644 index 0000000000000000000000000000000000000000..543cf68ed10f2a4dd7ca8ccffd5d403323bf02e6 --- /dev/null +++ b/converter/src/main/java/lcsb/mapviewer/converter/ColorSchemaWriter.java @@ -0,0 +1,167 @@ +package lcsb.mapviewer.converter; + +import lcsb.mapviewer.common.geometry.ColorParser; +import lcsb.mapviewer.converter.zip.ZipEntryFileFactory; +import lcsb.mapviewer.model.map.BioEntity; +import lcsb.mapviewer.model.map.species.AntisenseRna; +import lcsb.mapviewer.model.map.species.Complex; +import lcsb.mapviewer.model.map.species.Degraded; +import lcsb.mapviewer.model.map.species.Drug; +import lcsb.mapviewer.model.map.species.Gene; +import lcsb.mapviewer.model.map.species.Ion; +import lcsb.mapviewer.model.map.species.Phenotype; +import lcsb.mapviewer.model.map.species.Protein; +import lcsb.mapviewer.model.map.species.Rna; +import lcsb.mapviewer.model.map.species.SimpleMolecule; +import lcsb.mapviewer.model.map.species.Unknown; +import lcsb.mapviewer.model.overlay.DataOverlay; +import lcsb.mapviewer.model.overlay.DataOverlayEntry; +import lcsb.mapviewer.model.overlay.DataOverlayType; +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class ColorSchemaWriter { + + private static final Map<String, Class<? extends BioEntity>> speciesMapping; + + static { + speciesMapping = new HashMap<>(); + speciesMapping.put("protein", Protein.class); + speciesMapping.put("gene", Gene.class); + speciesMapping.put("complex", Complex.class); + speciesMapping.put("simple_molecule", SimpleMolecule.class); + speciesMapping.put("ion", Ion.class); + speciesMapping.put("phenotype", Phenotype.class); + speciesMapping.put("drug", Drug.class); + speciesMapping.put("rna", Rna.class); + speciesMapping.put("antisense_rna", AntisenseRna.class); + speciesMapping.put("unknown", Unknown.class); + speciesMapping.put("degraded", Degraded.class); + } + + /** + * Object that parses colors from string. + */ + private final ColorParser colorParser = new ColorParser(); + + /** + * Default class logger. + */ + private final Logger logger = LogManager.getLogger(); + + public String entriesToStringTable(final Set<DataOverlayEntry> entries) { + List<ColorSchemaColumn> columns = new ArrayList<>(); + for (ColorSchemaColumn column : ColorSchemaColumn.values()) { + if (column.getTypes().contains(DataOverlayType.GENERIC)) { + columns.add(column); + } + } + + StringBuilder builder = new StringBuilder(); + builder.append(getHeader(columns)); + for (DataOverlayEntry entry : entries) { + builder.append("\n").append(getRow(entry, columns)); + } + + return builder.toString(); + } + + private String getRow(final DataOverlayEntry entry, final List<ColorSchemaColumn> columns) { + StringBuilder row = new StringBuilder(); + int counter = 0; + for (ColorSchemaColumn column : columns) { + if (counter > 0) { + row.append("\t"); + } + counter++; + String data = ""; + switch (column) { + case COLOR: + if (entry.getColor() != null) { + data = new ColorParser().colorToHtml(entry.getColor()); + } + break; + case NAME: + if (entry.getName() != null) { + data = entry.getName(); + } + break; + case ELEMENT_IDENTIFIER: + if (entry.getElementId() != null) { + data = entry.getElementId(); + } + break; + case MAP_NAME: + if (entry.getModelName() != null) { + data = entry.getModelName(); + } + break; + case LINE_WIDTH: + if (entry.getLineWidth() != null) { + data = entry.getLineWidth().toString(); + } + break; + case VALUE: + if (entry.getValue() != null) { + data = entry.getValue().toString(); + } + break; + case REVERSE_REACTION: + if (entry.getReverseReaction() != null) { + data = entry.getReverseReaction().toString(); + } + break; + case COMPARTMENT: + data = StringUtils.join(entry.getCompartments(), ","); + break; + case DESCRIPTION: + if (entry.getDescription() != null) { + data = entry.getDescription().replace("\t", " ").replace("\n", " "); + } + break; + default: + data = ""; + break; + } + row.append(data); + } + return row.toString(); + } + + private String getHeader(final List<ColorSchemaColumn> columns) { + StringBuilder header = new StringBuilder(); + for (ColorSchemaColumn column : columns) { + if (header.length() > 0) { + header.append("\t"); + } + header.append(column.toString()); + } + return header.toString(); + } + + public String overlayToString(final DataOverlay overlay) { + String metaData = overlayMetaData(overlay); + + String content = metaData + entriesToStringTable(overlay.getEntries()); + return content; + } + + private String overlayMetaData(final DataOverlay overlay) { + StringBuilder metaData = new StringBuilder(); + if (overlay.getName() != null) { + metaData.append("#" + ZipEntryFileFactory.LAYOUT_HEADER_PARAM_NAME + "=" + overlay.getName() + "\n"); + } + if (overlay.getDescription() != null) { + metaData.append("#" + ZipEntryFileFactory.LAYOUT_HEADER_PARAM_DESCRIPTION + "=" + overlay.getDescription().replace("\n", " ") + "\n"); + } + + return metaData.toString(); + } +} diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java index 3c320b72e1dc3aba3ba6ee53c0605dd595d237a1..cf641959f46da1474be42bb3c9da763077078201 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java +++ b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java @@ -10,9 +10,11 @@ import lcsb.mapviewer.converter.zip.LayoutZipEntryFile; import lcsb.mapviewer.converter.zip.ModelZipEntryFile; import lcsb.mapviewer.converter.zip.ZipEntryFile; import lcsb.mapviewer.converter.zip.ZipEntryFileFactory; +import lcsb.mapviewer.model.Project; import lcsb.mapviewer.model.cache.UploadedFileEntry; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.layout.ReferenceGenomeType; +import lcsb.mapviewer.model.map.layout.graphics.Glyph; import lcsb.mapviewer.model.map.model.ElementSubmodelConnection; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelSubmodelConnection; @@ -40,6 +42,7 @@ import java.lang.reflect.Modifier; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -64,7 +67,8 @@ public class ComplexZipConverter { * Default class logger. */ private static final Logger logger = LogManager.getLogger(); - private static final String IMMEDIATE_LINK_PREFIX = "IMMEDIATE_LINK:"; + protected static final String IMMEDIATE_LINK_PREFIX = "IMMEDIATE_LINK:"; + public static final String GLYPH_PREFIX = "Glyph:"; /** * Class used to create single submap from a file. @@ -97,7 +101,7 @@ public class ComplexZipConverter { * @return complex {@link Model} created from input data * @throws InvalidInputDataExecption thrown when there is a problem with accessing input data */ - public Model createModel(final ComplexZipConverterParams params) throws InvalidInputDataExecption, ConverterException { + public Model createModel(final ComplexZipConverterParams params, final Project project) throws InvalidInputDataExecption, ConverterException { try { ZipFile zipFile = params.getZipFile(); Enumeration<? extends ZipEntry> entries; @@ -154,16 +158,22 @@ public class ComplexZipConverter { processReaction(mapping, nameModelMap, result, reaction); } for (final Species species : mappingModel.getSpeciesList()) { - processSpecies(species, nameModelMap); + processSpecies(species, nameModelMap, project.getGlyphs()); } } + + project.addModel(result); + for (final Model model : result.getSubmodels()) { + project.addModel(model); + } + return result; } catch (final IOException e) { throw new InvalidArgumentException(e); } } - private void processSpecies(final Species species, final Map<String, Model> nameModelMap) { + private void processSpecies(final Species species, final Map<String, Model> nameModelMap, final List<Glyph> glyphs) { String notes = species.getNotes(); if (notes != null) { String[] lines = notes.split("\n"); @@ -172,28 +182,49 @@ public class ComplexZipConverter { if (line.startsWith(IMMEDIATE_LINK_PREFIX)) { String link = line.replace(IMMEDIATE_LINK_PREFIX, "").trim(); - Compartment compartment = species.getCompartment(); - if (compartment == null) { - logger.warn("[SUBMODEL MAPPING] Species {} in mapping file doesn't start inside compartment. Skipped. Link skipped", - species.getElementId()); - } else { - String modelName = compartment.getName().toLowerCase(); - Model model = nameModelMap.get(modelName); - if (model == null) { - throw new InvalidArgumentException("Mapping file references to " + modelName + " submodel. But such model doesn't exist"); - } - Element elementToChange = model.getElementByElementId(species.getName()); - if (elementToChange == null) { - throw new InvalidArgumentException("Mapping file references to element with alias: " + species.getName() - + ". But such element doesn't exist"); - } + Element elementToChange = getElementToChange(species, nameModelMap); + if (elementToChange != null) { elementToChange.setImmediateLink(link); } + } else if (line.startsWith(GLYPH_PREFIX)) { + String filename = line.replace(GLYPH_PREFIX, "").trim(); + + Element elementToChange = getElementToChange(species, nameModelMap); + if (elementToChange != null) { + for (Glyph glyph : glyphs) { + if (glyph.getFile().getOriginalFileName().equalsIgnoreCase(filename)) { + elementToChange.setGlyph(glyph); + } + } + } } } } } + private static Element getElementToChange( + final Species species, + final Map<String, Model> nameModelMap) { + Compartment compartment = species.getCompartment(); + if (compartment == null) { + logger.warn("[SUBMODEL MAPPING] Species {} in mapping file doesn't start inside compartment. Skipped. Link skipped", + species.getElementId()); + } else { + String modelName = compartment.getName().toLowerCase(); + Model model = nameModelMap.get(modelName); + if (model == null) { + throw new InvalidArgumentException("Mapping file references to " + modelName + " submodel. But such model doesn't exist"); + } + Element result = model.getElementByElementId(species.getName()); + if (result == null) { + throw new InvalidArgumentException("Mapping file references to element with alias: " + species.getName() + + ". But such element doesn't exist"); + } + return result; + } + return null; + } + protected boolean isIgnoredFile(final String name) { if (name == null) { return true; @@ -427,4 +458,5 @@ public class ComplexZipConverter { } return converter; } + } diff --git a/converter/src/main/java/lcsb/mapviewer/converter/Converter.java b/converter/src/main/java/lcsb/mapviewer/converter/Converter.java index b7a35755296babc5ef6c05135162a7ffe9ef757f..a3a40b1fdf0b24d7368c01aa9ea68669928777f1 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/Converter.java +++ b/converter/src/main/java/lcsb/mapviewer/converter/Converter.java @@ -1,5 +1,12 @@ package lcsb.mapviewer.converter; +import lcsb.mapviewer.common.MimeType; +import lcsb.mapviewer.model.map.InconsistentModelException; +import lcsb.mapviewer.model.map.model.Model; +import org.apache.commons.io.FileUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -9,29 +16,22 @@ import java.nio.charset.StandardCharsets; import java.util.List; import java.util.UUID; -import org.apache.commons.io.FileUtils; - -import lcsb.mapviewer.common.MimeType; -import lcsb.mapviewer.model.map.InconsistentModelException; -import lcsb.mapviewer.model.map.model.Model; - /** * Interface used for reading data from file and putting it into {@link Model} * object. - * + * * @author Piotr Gawron - * */ public abstract class Converter { + protected static final Logger logger = LogManager.getLogger(); + /** * Parse input source and transforms it into a model object. - * - * @param params - * input params used for reading data + * + * @param params input params used for reading data * @return model obtained from input source - * @throws InvalidInputDataExecption - * thrown when input parameters are invalid + * @throws InvalidInputDataExecption thrown when input parameters are invalid */ public abstract Model createModel(final ConverterParams params) throws InvalidInputDataExecption, ConverterException; @@ -39,8 +39,7 @@ public abstract class Converter { * Generate String representation of the model. Traditionally often XML but can * be any other format as well. * - * @param model - * The MINERVA ${@link Model} to be serialized + * @param model The MINERVA ${@link Model} to be serialized * @return The translated Model */ public abstract String model2String(final Model model) throws InconsistentModelException, ConverterException; @@ -68,12 +67,10 @@ public abstract class Converter { /** * Export model to {@link InputStream}. - * - * @param model - * model to be exported + * + * @param model model to be exported * @return {@link InputStream} with exported data - * @throws InconsistentModelException - * thrown when given model is inconsistent and unable to be exported + * @throws InconsistentModelException thrown when given model is inconsistent and unable to be exported */ public InputStream model2InputStream(final Model model) throws InconsistentModelException, ConverterException { @@ -83,14 +80,11 @@ public abstract class Converter { /** * Export model to {@link File}. - * - * @param model - * model to be exported - * @param filePath - * exported file path + * + * @param model model to be exported + * @param filePath exported file path * @return {@link File} with exported data - * @throws InconsistentModelException - * thrown when given model is inconsistent and unable to be exported + * @throws InconsistentModelException thrown when given model is inconsistent and unable to be exported */ public File model2File(final Model model, final String filePath) throws InconsistentModelException, IOException, ConverterException { diff --git a/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java b/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java index 6be2c0667115a0e7bf148fd87bd26656a9bb4d01..00f51f01df6db6f3144fdfd0f4b9191b7fc1bec4 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java +++ b/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java @@ -1,5 +1,23 @@ package lcsb.mapviewer.converter; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import lcsb.mapviewer.common.exception.InvalidArgumentException; +import lcsb.mapviewer.converter.zip.ImageZipEntryFile; +import lcsb.mapviewer.converter.zip.OverviewLinkDeserializer; +import lcsb.mapviewer.model.map.OverviewImage; +import lcsb.mapviewer.model.map.OverviewImageLink; +import lcsb.mapviewer.model.map.OverviewLink; +import lcsb.mapviewer.model.map.OverviewModelLink; +import lcsb.mapviewer.model.map.OverviewSearchLink; +import lcsb.mapviewer.model.map.model.ModelData; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import javax.imageio.ImageIO; import java.awt.Polygon; import java.awt.geom.Area; import java.awt.geom.Point2D; @@ -20,33 +38,11 @@ import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import javax.imageio.ImageIO; - -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.io.IOUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; - -import lcsb.mapviewer.common.exception.InvalidArgumentException; -import lcsb.mapviewer.converter.zip.ImageZipEntryFile; -import lcsb.mapviewer.converter.zip.OverviewLinkDeserializer; -import lcsb.mapviewer.model.map.OverviewImage; -import lcsb.mapviewer.model.map.OverviewImageLink; -import lcsb.mapviewer.model.map.OverviewLink; -import lcsb.mapviewer.model.map.OverviewModelLink; -import lcsb.mapviewer.model.map.OverviewSearchLink; -import lcsb.mapviewer.model.map.model.Model; - /** * Parser used to extract data about {@link OverviewImage overview images} from * zip file. - * + * * @author Piotr Gawron - * */ public class OverviewParser { /** @@ -58,37 +54,17 @@ public class OverviewParser { private static final String JSON_COORDINATES_FILENAME = "coords.json"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * {@link OverviewModelLink#zoomLevel} is stored. - */ private static final String ZOOM_LEVEL_COORDINATES_COLUMN = "MODEL_ZOOM_LEVEL"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * {@link OverviewModelLink#xCoord},{@link OverviewModelLink#yCoord} is stored. - */ + private static final String REDIRECTION_COORDINATES_COORDINATE_COLUMN = "MODEL_COORDINATES"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * {@link OverviewModelLink#linkedModel} or - * {@link OverviewImageLink#linkedOverviewImage} is stored. - */ + private static final String TARGET_FILENAME_COORDINATE_COLUMN = "LINK_TARGET"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * {@link OverviewLink#polygon} is stored. - */ + private static final String POLYGON_COORDINATE_COLUMN = "POLYGON"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * {@link OverviewLink#overviewImage source of the image} is stored. - */ + private static final String FILENAME_COORDINATE_COLUMN = "FILE"; - /** - * Name of the column in {@link #COORDINATES_FILENAME} where information about - * type of the link (implementation of {@link OverviewLink} class) is stored. - */ + private static final String TARGET_TYPE_COORDINATE_COLUMN = "LINK_TYPE"; /** @@ -126,20 +102,16 @@ public class OverviewParser { * Method that parse zip file and creates list of {@link OverviewImage images} * from it. * - * @param models - * map with models where the key is name of the file and value is model - * that was parsed from the file - * @param files - * list with files to parse - * @param outputDirectory - * directory where images should be stored, directory path should be - * absolute + * @param models map with models where the key is name of the file and value is model + * that was parsed from the file + * @param files list with files to parse + * @param outputDirectory directory where images should be stored, directory path should be + * absolute * @return list of {@link OverviewImage images} - * @throws InvalidOverviewFile - * thrown when the zip file contains invalid data + * @throws InvalidOverviewFile thrown when the zip file contains invalid data */ - public List<OverviewImage> parseOverviewLinks(final Set<Model> models, final List<ImageZipEntryFile> files, - final String outputDirectory, final ZipFile zipFile) throws InvalidOverviewFile { + public List<OverviewImage> parseOverviewLinks(final Set<ModelData> models, final List<ImageZipEntryFile> files, + final String outputDirectory, final ZipFile zipFile) throws InvalidOverviewFile { if (outputDirectory != null) { File f = new File(outputDirectory); if (!f.exists()) { @@ -220,9 +192,9 @@ public class OverviewParser { } } - private Map<String, Model> createMapping(final Set<Model> models) { - Map<String, Model> result = new HashMap<>(); - for (final Model model : models) { + private Map<String, ModelData> createMapping(final Set<ModelData> models) { + Map<String, ModelData> result = new HashMap<>(); + for (final ModelData model : models) { result.put(model.getName().toLowerCase(), model); } return result; @@ -232,20 +204,16 @@ public class OverviewParser { * This method process data from {@link #COORDINATES_FILENAME} in zip archive. * This method adds connections between images and between images and models. * - * @param models - * map with models where the key is name of the file and value is model - * that was parsed from the file - * @param images - * list of {@link OverviewImage images} that should be connected - * @param coordinatesData - * {@link String} with the data taken from - * {@link #COORDINATES_FILENAME} file - * @throws InvalidOverviewFile - * thrown when the data are invalid + * @param models map with models where the key is name of the file and value is model + * that was parsed from the file + * @param images list of {@link OverviewImage images} that should be connected + * @param coordinatesData {@link String} with the data taken from + * {@link #COORDINATES_FILENAME} file + * @throws InvalidOverviewFile thrown when the data are invalid */ - protected List<OverviewImage> processCoordinates(final Set<Model> models, final List<OverviewImage> images, final String coordinatesData) + protected List<OverviewImage> processCoordinates(final Set<ModelData> models, final List<OverviewImage> images, final String coordinatesData) throws InvalidOverviewFile { - Map<String, Model> modelMapping = createMapping(models); + Map<String, ModelData> modelMapping = createMapping(models); String[] rows = coordinatesData.replaceAll("\r", "\n").split("\n"); Integer filenameColumn = null; Integer polygonColumn = null; @@ -399,9 +367,9 @@ public class OverviewParser { return images; } - protected List<OverviewImage> processJsonCoordinates(final Set<Model> models, final List<OverviewImage> images, final String json) + protected List<OverviewImage> processJsonCoordinates(final Set<ModelData> models, final List<OverviewImage> images, final String json) throws InvalidOverviewFile { - Map<String, Model> modelMapping = createMapping(models); + Map<String, ModelData> modelMapping = createMapping(models); ObjectMapper mapper = new ObjectMapper(); final SimpleModule module = new SimpleModule(); module.addDeserializer(OverviewLink.class, new OverviewLinkDeserializer()); @@ -429,7 +397,7 @@ public class OverviewParser { ((OverviewImageLink) link).setLinkedOverviewImage(linkImage); } if (link instanceof OverviewModelLink) { - Model model = modelMapping.get(((OverviewModelLink) link).getLinkedModel().getName().toLowerCase()); + ModelData model = modelMapping.get(((OverviewModelLink) link).getLinkedModel().getName().toLowerCase()); if (model == null) { throw new InvalidOverviewFile(((OverviewModelLink) link).getLinkedModel().getName() + " is missing"); @@ -454,35 +422,32 @@ public class OverviewParser { * Creates a link from parameters and place it in appropriate * {@link OverviewImage}. * - * @param filename - * {@link OverviewImage#filename name of the image} - * @param polygon - * {@link OverviewImage#polygon polygon} describing link - * @param linkTarget - * defines target that should be invoked when the link is activated. - * This target is either a file name (in case of - * {@link #MODEL_LINK_TYPE} or {@link #IMAGE_LINK_TYPE}) or a search - * string (in case of {@link #SEARCH_LINK_TYPE}). - * @param coord - * coordinates on the model where redirection should be placed in case - * of {@link #MODEL_LINK_TYPE} connection - * @param zoomLevel - * zoom level on the model where redirection should be placed in case - * of {@link #MODEL_LINK_TYPE} connection - * @param linkType - * type of the connection. This will define implementation of - * {@link OverviewImage} that will be used. For now three values are - * acceptable: {@link #MODEL_LINK_TYPE}, {@link #IMAGE_LINK_TYPE}, - * {@link #SEARCH_LINK_TYPE}. - * @param images - * list of images that are available - * @param models - * list of models that are available - * @throws InvalidCoordinatesFile - * thrown when one of the input parameters is invalid + * @param filename filename name of the image + * @param polygon polygon polygon describing link + * @param linkTarget defines target that should be invoked when the link is activated. + * This target is either a file name (in case of + * {@link #MODEL_LINK_TYPE} or {@link #IMAGE_LINK_TYPE}) or a search + * string (in case of {@link #SEARCH_LINK_TYPE}). + * @param coord coordinates on the model where redirection should be placed in case + * of {@link #MODEL_LINK_TYPE} connection + * @param zoomLevel zoom level on the model where redirection should be placed in case + * of {@link #MODEL_LINK_TYPE} connection + * @param linkType type of the connection. This will define implementation of + * {@link OverviewImage} that will be used. For now three values are + * acceptable: {@link #MODEL_LINK_TYPE}, {@link #IMAGE_LINK_TYPE}, + * {@link #SEARCH_LINK_TYPE}. + * @param images list of images that are available + * @param models list of models that are available + * @throws InvalidCoordinatesFile thrown when one of the input parameters is invalid */ - private void createOverviewLink(final String filename, final String polygon, final String linkTarget, final String coord, final String zoomLevel, - final String linkType, final List<OverviewImage> images, final Map<String, Model> models) throws InvalidCoordinatesFile { + private void createOverviewLink(final String filename, + final String polygon, + final String linkTarget, + final String coord, + final String zoomLevel, + final String linkType, + final List<OverviewImage> images, + final Map<String, ModelData> models) throws InvalidCoordinatesFile { OverviewImage image = null; for (final OverviewImage oi : images) { if (oi.getFilename().equalsIgnoreCase(filename)) { @@ -494,7 +459,7 @@ public class OverviewParser { } OverviewLink ol = null; if (linkType.equals(MODEL_LINK_TYPE)) { - Model model = models.get(linkTarget.toLowerCase()); + ModelData model = models.get(linkTarget.toLowerCase()); if (model == null) { throw new InvalidCoordinatesFile("Unknown model in \"" + COORDINATES_FILENAME + "\" file: " + linkTarget); } diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java b/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java index e8af1d4bac741185e0e7f8cd943cef003f1d6d9b..fd05cbb417d35b14bc8e022e9d1027726b867cc5 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java +++ b/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java @@ -1,30 +1,49 @@ package lcsb.mapviewer.converter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - +import lcsb.mapviewer.commands.layout.ApplySimpleLayoutModelCommand; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.converter.zip.GlyphZipEntryFile; import lcsb.mapviewer.converter.zip.ImageZipEntryFile; import lcsb.mapviewer.converter.zip.LayoutZipEntryFile; import lcsb.mapviewer.converter.zip.ZipEntryFile; +import lcsb.mapviewer.converter.zip.ZipEntryFileFactory; import lcsb.mapviewer.model.Project; +import lcsb.mapviewer.model.cache.UploadedFileEntry; +import lcsb.mapviewer.model.map.InconsistentModelException; +import lcsb.mapviewer.model.map.compartment.Compartment; +import lcsb.mapviewer.model.map.compartment.SquareCompartment; import lcsb.mapviewer.model.map.layout.graphics.Glyph; import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; import lcsb.mapviewer.model.map.layout.graphics.LayerText; +import lcsb.mapviewer.model.map.model.ElementSubmodelConnection; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelData; +import lcsb.mapviewer.model.map.model.ModelFullIndexed; import lcsb.mapviewer.model.map.model.ModelSubmodelConnection; +import lcsb.mapviewer.model.map.reaction.Product; +import lcsb.mapviewer.model.map.reaction.Reactant; +import lcsb.mapviewer.model.map.reaction.Reaction; +import lcsb.mapviewer.model.map.reaction.type.TransportReaction; +import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.model.map.species.GenericProtein; +import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.overlay.DataOverlay; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; public class ProjectFactory { @@ -32,16 +51,25 @@ public class ProjectFactory { * Default class logger. */ @SuppressWarnings("unused") - private Logger logger = LogManager.getLogger(); + private final Logger logger = LogManager.getLogger(); - private ComplexZipConverter converter; + private final ComplexZipConverter converter; - private GlyphParser glyphParser = new GlyphParser(); + private final GlyphParser glyphParser = new GlyphParser(); public ProjectFactory(final ComplexZipConverter converter) { this.converter = converter; } + private static void addModelFileToZip(final Model model, final String filename, final Converter converter, final ZipOutputStream zos) + throws IOException, InconsistentModelException, ConverterException { + ZipEntry entry = new ZipEntry(filename); + zos.putNextEntry(entry); + String topModelContent = converter.model2String(model); + zos.write(topModelContent.getBytes()); + zos.closeEntry(); + } + public Project create(final ComplexZipConverterParams params) throws InvalidInputDataExecption, ConverterException { return create(params, new Project()); } @@ -49,17 +77,6 @@ public class ProjectFactory { public Project create(final ComplexZipConverterParams params, final Project project) throws InvalidInputDataExecption, ConverterException { try { - Model model = converter.createModel(params); - - Set<Model> models = new HashSet<>(); - models.add(model); - models.addAll(model.getSubmodels()); - - project.addModel(model); - for (final Model m : model.getSubmodels()) { - project.addModel(m); - } - ZipFile zipFile = params.getZipFile(); Enumeration<? extends ZipEntry> entries; @@ -80,12 +97,14 @@ public class ProjectFactory { } } } - if (imageEntries.size() > 0) { + converter.createModel(params, project); + + + if (!imageEntries.isEmpty()) { OverviewParser parser = new OverviewParser(); - project - .addOverviewImages(parser.parseOverviewLinks(models, imageEntries, params.getVisualizationDir(), zipFile)); + project.addOverviewImages(parser.parseOverviewLinks(project.getModels(), imageEntries, params.getVisualizationDir(), zipFile)); } - if (project.getGlyphs().size() > 0) { + if (!project.getGlyphs().isEmpty()) { assignGlyphsToElements(project); } return project; @@ -97,8 +116,7 @@ public class ProjectFactory { } private void assignGlyphsToElements(final Project project) throws InvalidGlyphFile { - Set<ModelData> models = new HashSet<>(); - models.addAll(project.getModels()); + Set<ModelData> models = new HashSet<>(project.getModels()); for (final ModelData model : project.getModels()) { for (final ModelSubmodelConnection connection : model.getSubmodels()) { @@ -127,10 +145,10 @@ public class ProjectFactory { String removeGlyph(final String notes) { String[] lines = notes.split("[\n\r]+"); - StringBuilder result = new StringBuilder(""); + StringBuilder result = new StringBuilder(); for (final String line : lines) { - if (!line.startsWith("Glyph:")) { - result.append(line + "\n"); + if (!line.startsWith(ComplexZipConverter.GLYPH_PREFIX)) { + result.append(line).append("\n"); } } return result.toString(); @@ -139,8 +157,8 @@ public class ProjectFactory { Glyph extractGlyph(final Project project, final String notes) throws InvalidGlyphFile { String[] lines = notes.split("[\n\r]+"); for (final String line : lines) { - if (line.startsWith("Glyph:")) { - String glyphString = line.replace("Glyph:", "").trim().toLowerCase(); + if (line.startsWith(ComplexZipConverter.GLYPH_PREFIX)) { + String glyphString = line.replace(ComplexZipConverter.GLYPH_PREFIX, "").trim().toLowerCase(); for (final Glyph glyph : project.getGlyphs()) { if (glyph.getFile().getOriginalFileName().toLowerCase().equalsIgnoreCase(glyphString)) { return glyph; @@ -152,4 +170,190 @@ public class ProjectFactory { return null; } + public byte[] project2zip(final Project project) throws ConverterException, InconsistentModelException { + Converter converter = this.converter.createConverterInstance(); + + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + try (ZipOutputStream zos = new ZipOutputStream(byteArrayOutputStream)) { + addModelFileToZip(project.getTopModel(), project.getTopModel().getName() + "." + converter.getFileExtensions().get(0), converter, zos); + for (ModelData model : project.getModels()) { + if (model != project.getTopModelData()) { + addModelFileToZip(model.getModel(), + ZipEntryFileFactory.SUBMODEL_DIRECTORY + model.getName() + "." + converter.getFileExtensions().get(0), converter, + zos); + } + } + Model mapping = createMappingModel(project.getModels()); + + addModelFileToZip(mapping, ZipEntryFileFactory.SUBMODEL_DIRECTORY + "mapping." + converter.getFileExtensions().get(0), converter, zos); + + for (ModelData model : project.getModels()) { + addGlyphsToZip(model.getModel(), zos); + } + + for (DataOverlay overlay : project.getDataOverlays()) { + if (overlay.isPublic()) { + addDataOverlayToZip(overlay, zos); + } + } + + } catch (IOException ioe) { + throw new ConverterException(ioe); + } + return byteArrayOutputStream.toByteArray(); + } + + private void addDataOverlayToZip(final DataOverlay overlay, final ZipOutputStream zos) throws IOException { + ColorSchemaWriter writer = new ColorSchemaWriter(); + ZipEntry entry = new ZipEntry(ZipEntryFileFactory.LAYOUT_DIRECTORY + overlay.getId() + "_" + overlay.getName()); + zos.putNextEntry(entry); + zos.write(writer.overlayToString(overlay).getBytes()); + zos.closeEntry(); + } + + private void addGlyphsToZip(final Model model, final ZipOutputStream zos) throws IOException { + for (Element element : model.getElements()) { + if (element.getGlyph() != null) { + UploadedFileEntry uploadedFileEntry = element.getGlyph().getFile(); + ZipEntry entry = new ZipEntry(ZipEntryFileFactory.GLYPHS_DIRECTORY + new File(uploadedFileEntry.getOriginalFileName()).getName()); + zos.putNextEntry(entry); + zos.write(uploadedFileEntry.getFileContent()); + zos.closeEntry(); + } + } + for (Layer layer : model.getLayers()) { + for (LayerImage image : layer.getImages()) { + if (image.getGlyph() != null) { + UploadedFileEntry uploadedFileEntry = image.getGlyph().getFile(); + ZipEntry entry = new ZipEntry(ZipEntryFileFactory.GLYPHS_DIRECTORY + new File(uploadedFileEntry.getOriginalFileName()).getName()); + zos.putNextEntry(entry); + zos.write(uploadedFileEntry.getFileContent()); + zos.closeEntry(); + } + } + } + } + + private int idCounter = 0; + + private Model createMappingModel(final Set<ModelData> models) { + Model mapping = new ModelFullIndexed(null); + for (ModelData parentModel : models) { + for (Element parentElement : parentModel.getElements()) { + ElementSubmodelConnection connection = parentElement.getSubmodel(); + if (connection != null) { + ModelData childModel = connection.getSubmodel(); + + Complex mappingParentElement = getComplexForConnection(parentModel.getName(), mapping); + + Species sourceElement = getComplexChildForConnection(parentElement.getElementId(), mappingParentElement); + + Complex mappingChildElement = getComplexForConnection(childModel.getName(), mapping); + + Species targetElement; + if (connection.getToElement() != null) { + targetElement = getComplexChildForConnection(connection.getToElement().getElementId(), mappingChildElement); + } else { + targetElement = mappingChildElement; + } + + Reaction reaction = new TransportReaction("re" + idCounter++); + reaction.addReactant(new Reactant(sourceElement)); + reaction.addProduct(new Product(targetElement)); + mapping.addReaction(reaction); + } + if (parentElement.getImmediateLink() != null) { + Compartment mappingParentCompartment = getCompartmentForConnection(parentModel.getName(), mapping); + + Species sourceElement = getCompartmentChildForConnection(parentElement.getElementId(), mappingParentCompartment); + String notes = sourceElement.getNotes(); + notes += "\n" + ComplexZipConverter.IMMEDIATE_LINK_PREFIX + parentElement.getImmediateLink(); + sourceElement.setNotes(notes); + } + if (parentElement.getGlyph() != null) { + UploadedFileEntry uploadedFileEntry = parentElement.getGlyph().getFile(); + Compartment mappingParentCompartment = getCompartmentForConnection(parentModel.getName(), mapping); + + Species sourceElement = getCompartmentChildForConnection(parentElement.getElementId(), mappingParentCompartment); + String notes = sourceElement.getNotes(); + notes += "\n" + ComplexZipConverter.GLYPH_PREFIX + "glyphs/" + new File(uploadedFileEntry.getOriginalFileName()).getName(); + sourceElement.setNotes(notes); + } + } + } + try { + new ApplySimpleLayoutModelCommand(mapping).execute(); + } catch (Exception e) { + logger.error("Problem with preparing mapping file", e); + } + return mapping; + } + + private Species getComplexChildForConnection(final String elementId, final Complex mappingParentElement) { + Species sourceElement = null; + for (Species child : mappingParentElement.getAllChildren()) { + if (child.getName().equals(elementId)) { + sourceElement = child; + } + } + + if (sourceElement == null) { + sourceElement = new GenericProtein("sa" + idCounter++); + sourceElement.setName(elementId); + mappingParentElement.addSpecies(sourceElement); + mappingParentElement.getModel().addElement(sourceElement); + } + return sourceElement; + } + + private Species getCompartmentChildForConnection(final String elementId, final Compartment mappingParentElement) { + Species sourceElement = null; + for (Element child : mappingParentElement.getElements()) { + if (child instanceof Species && child.getName().equals(elementId)) { + sourceElement = (Species) child; + } + } + + if (sourceElement == null) { + sourceElement = new GenericProtein("sa" + idCounter++); + sourceElement.setName(elementId); + mappingParentElement.addElement(sourceElement); + mappingParentElement.getModel().addElement(sourceElement); + } + return sourceElement; + } + + private Complex getComplexForConnection(final String modelName, final Model mapping) { + List<Element> mappingParentElements = mapping.getElementsByName(modelName); + + Complex mappingParentElement = null; + for (Element mappingElement : mappingParentElements) { + if (mappingElement instanceof Complex) { + mappingParentElement = (Complex) mappingElement; + } + } + if (mappingParentElement == null) { + mappingParentElement = new Complex("ca" + idCounter++); + mappingParentElement.setName(modelName); + mapping.addElement(mappingParentElement); + } + return mappingParentElement; + } + + private Compartment getCompartmentForConnection(final String modelName, final Model mapping) { + List<Element> mappingParentElements = mapping.getElementsByName(modelName); + + Compartment mappingParentElement = null; + for (Element mappingElement : mappingParentElements) { + if (mappingElement instanceof Compartment) { + mappingParentElement = (Compartment) mappingElement; + } + } + if (mappingParentElement == null) { + mappingParentElement = new SquareCompartment("ca" + idCounter++); + mappingParentElement.setName(modelName); + mapping.addElement(mappingParentElement); + } + return mappingParentElement; + } } diff --git a/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java b/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java index 317842d7637aa49750ab95b12430bddded8cdb0b..8bc71e00b22f0b86c15142f679a7e9adea5d60ef 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java +++ b/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java @@ -1,23 +1,21 @@ package lcsb.mapviewer.converter.zip; +import lcsb.mapviewer.common.TextFileUtils; +import lcsb.mapviewer.common.exception.InvalidArgumentException; +import org.apache.commons.io.FilenameUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import java.io.IOException; import java.io.InputStream; import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.apache.commons.io.FilenameUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import lcsb.mapviewer.common.TextFileUtils; -import lcsb.mapviewer.common.exception.InvalidArgumentException; - /** * Factory class used to create {@link ZipEntryFile} objects. - * + * * @author Piotr Gawron - * */ public class ZipEntryFileFactory { /** @@ -39,7 +37,7 @@ public class ZipEntryFileFactory { * Directory in a zip file where information about submodels is stored. These * entries should be by default transformed into {@link ModelZipEntryFile}. */ - private static final String SUBMODEL_DIRECTORY = "submaps/"; + public static final String SUBMODEL_DIRECTORY = "submaps/"; /** * Directory in a zip file where information about * {@link lcsb.mapviewer.model.map.OverviewImage OverviewImage} is stored. These @@ -51,24 +49,24 @@ public class ZipEntryFileFactory { * {@link lcsb.mapviewer.model.map.layout.graphics.Glyph} is stored. These * entries should be by default transformed into {@link GlyphZipEntryFile}. */ - private static final String GLYPHS_DIRECTORY = "glyphs/"; + public static final String GLYPHS_DIRECTORY = "glyphs/"; /** * Directory in a zip file where information about * {@link lcsb.mapviewer.model.map.layout.Layout Layout} is stored. These * entries should be by default transformed into {@link LayoutZipEntryFile}. */ - private static final String LAYOUT_DIRECTORY = "layouts/"; + public static final String LAYOUT_DIRECTORY = "layouts/"; /** * Name of the parameter in {@link LayoutZipEntryFile file describing layout} * corresponding to the {@link LayoutZipEntryFile#name layout name}. */ - private static final String LAYOUT_HEADER_PARAM_NAME = "NAME"; + public static final String LAYOUT_HEADER_PARAM_NAME = "NAME"; /** * Name of the parameter in {@link LayoutZipEntryFile file describing layout} * corresponding to the {@link LayoutZipEntryFile#description layout * description}. */ - private static final String LAYOUT_HEADER_PARAM_DESCRIPTION = "DESCRIPTION"; + public static final String LAYOUT_HEADER_PARAM_DESCRIPTION = "DESCRIPTION"; /** * Default class logger. */ @@ -78,14 +76,11 @@ public class ZipEntryFileFactory { /** * Generates instance of {@link ZipEntryFile} representing entry in the zip file * with pre-parsed structural data (like: type, name, description, etc). - * - * @param entry - * {@link ZipEntry entry} in the {@link ZipFile} - * @param zipFile - * original {@link ZipFile} + * + * @param entry {@link ZipEntry entry} in the {@link ZipFile} + * @param zipFile original {@link ZipFile} * @return {@link ZipEntryFile} for the given {@link ZipEntry} - * @throws IOException - * thrown when there is a problem with accessing zip file + * @throws IOException thrown when there is a problem with accessing zip file */ public ZipEntryFile createZipEntryFile(final ZipEntry entry, final ZipFile zipFile) throws IOException { if (entry.isDirectory()) { @@ -142,14 +137,11 @@ public class ZipEntryFileFactory { /** * Creates {@link LayoutZipEntryFile layout entry} from input stream and given * name of the layout. - * - * @param name - * name of the layout - * @param inputStream - * stream where data is stored + * + * @param name name of the layout + * @param inputStream stream where data is stored * @return {@link LayoutZipEntryFile} processed from input data - * @throws IOException - * thrown when there is problem with accessing input data + * @throws IOException thrown when there is problem with accessing input data */ public LayoutZipEntryFile createLayoutZipEntryFile(final String name, final InputStream inputStream) throws IOException { LayoutZipEntryFile result = new LayoutZipEntryFile(); diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java index 5850f0dad1bc7462da0d3249e7b4de1a83f6f784..bea7c1a8885b1d67c9bc966c546ece254a9cb132 100644 --- a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java +++ b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java @@ -4,6 +4,7 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidClassException; import lcsb.mapviewer.converter.zip.LayoutZipEntryFile; import lcsb.mapviewer.converter.zip.ModelZipEntryFile; +import lcsb.mapviewer.model.Project; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelSubmodelConnection; import lcsb.mapviewer.model.map.model.SubmodelType; @@ -40,7 +41,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { } @Test - public void testConstructor3() throws Exception { + public void testConstructor3() { new ComplexZipConverter(MockConverter.class); } @@ -54,7 +55,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - Model model = converter.createModel(params); + Model model = converter.createModel(params, new Project()); assertNotNull(model); assertEquals("main", model.getName()); assertEquals(3, model.getSubmodelConnections().size()); @@ -108,7 +109,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - Model model = converter.createModel(params); + Model model = converter.createModel(params, new Project()); assertNotNull(model); assertEquals("main", model.getName()); assertEquals(3, model.getSubmodelConnections().size()); @@ -160,7 +161,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s1.xml", "s1", false, false, SubmodelType.DOWNSTREAM_TARGETS)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test(expected = InvalidArgumentException.class) @@ -174,7 +175,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test(expected = InvalidArgumentException.class) @@ -188,7 +189,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test(expected = InvalidArgumentException.class) @@ -202,7 +203,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test @@ -216,7 +217,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s2.xml", "s2", false, false, SubmodelType.PATHWAY)); params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", "", false, false, null)); - Model model = converter.createModel(params); + Model model = converter.createModel(params, new Project()); assertNotNull(model); @@ -247,7 +248,7 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.entry(new ModelZipEntryFile("s3.xml", "s3", false, false, SubmodelType.UNKNOWN)); params.entry(new ModelZipEntryFile("mapping.xml", "", false, false, null)); params.entry(new ModelZipEntryFile("blabla.xml", "s3", false, false, SubmodelType.UNKNOWN)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test(expected = InvalidArgumentException.class) @@ -258,11 +259,11 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { params.zipFile(new ZipFile("testFiles/invalid_mapping.zip")); params.entry(new ModelZipEntryFile("main.xml", "main", true, false, null)); params.entry(new ModelZipEntryFile("mapping.xml", null, false, true, null)); - converter.createModel(params); + converter.createModel(params, new Project()); } @Test - public void testIsIgnoredFileForMac() throws Exception { + public void testIsIgnoredFileForMac() { ComplexZipConverter converter = new ComplexZipConverter(MockConverter.class); assertTrue(converter.isIgnoredFile("__MACOSX/.desc")); assertTrue(converter.isIgnoredFile(".DS_Store")); @@ -272,13 +273,13 @@ public class ComplexZipConverterTest extends ConverterTestFunctions { } @Test - public void testIsIgnoredFileForOldMacEntries() throws Exception { + public void testIsIgnoredFileForOldMacEntries() { ComplexZipConverter converter = new ComplexZipConverter(MockConverter.class); assertTrue(converter.isIgnoredFile(".DS_Store/.desc")); } @Test - public void testIsIgnoredFileForValidFiles() throws Exception { + public void testIsIgnoredFileForValidFiles() { ComplexZipConverter converter = new ComplexZipConverter(MockConverter.class); assertFalse(converter.isIgnoredFile("mapping.xml")); } diff --git a/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java b/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java index 02ddc58b20808b342eaa3c85d701483c48e696fe..1485ed962095df0b1426cb10c0d77fa66a1479c4 100644 --- a/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java +++ b/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java @@ -1,8 +1,16 @@ package lcsb.mapviewer.converter; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import lcsb.mapviewer.converter.zip.ImageZipEntryFile; +import lcsb.mapviewer.model.map.OverviewImage; +import lcsb.mapviewer.model.map.OverviewLink; +import lcsb.mapviewer.model.map.OverviewModelLink; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.model.map.model.ModelData; +import lcsb.mapviewer.model.map.model.ModelFullIndexed; +import org.apache.commons.io.FileUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; import java.awt.geom.Point2D; import java.io.File; @@ -16,23 +24,15 @@ import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import org.apache.commons.io.FileUtils; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import lcsb.mapviewer.converter.zip.ImageZipEntryFile; -import lcsb.mapviewer.model.map.OverviewImage; -import lcsb.mapviewer.model.map.OverviewLink; -import lcsb.mapviewer.model.map.OverviewModelLink; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.model.map.model.ModelFullIndexed; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; public class OverviewParserTest extends ConverterTestFunctions { private static final String TEST_FILES_VALID_OVERVIEW_ZIP = "testFiles/valid_overview.zip"; private static final String TEST_FILES_VALID_OVERVIEW_CASE_SENSITIVE_ZIP = "testFiles/valid_overview_case_sensitive.zip"; - private OverviewParser parser = new OverviewParser(); + private final OverviewParser parser = new OverviewParser(); @Before public void setUp() throws Exception { @@ -44,7 +44,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test public void testParsingValidFile() throws Exception { - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); List<ImageZipEntryFile> imageEntries = createImageEntries(TEST_FILES_VALID_OVERVIEW_ZIP); List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, null, new ZipFile(TEST_FILES_VALID_OVERVIEW_ZIP)); @@ -66,8 +66,8 @@ public class OverviewParserTest extends ConverterTestFunctions { assertTrue(link instanceof OverviewModelLink); OverviewModelLink modelLink = (OverviewModelLink) link; - Model mainModel = models.iterator().next(); - assertEquals(mainModel.getModelData(), modelLink.getLinkedModel()); + ModelData mainModel = models.iterator().next(); + assertEquals(mainModel, modelLink.getLinkedModel()); assertEquals((Integer) 10, modelLink.getxCoord()); assertEquals((Integer) 10, modelLink.getyCoord()); assertEquals((Integer) 3, modelLink.getZoomLevel()); @@ -75,7 +75,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test public void testParsingValidCaseSensitiveFile() throws Exception { - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); List<ImageZipEntryFile> imageEntries = createImageEntries(TEST_FILES_VALID_OVERVIEW_CASE_SENSITIVE_ZIP); for (final ImageZipEntryFile imageZipEntryFile : imageEntries) { imageZipEntryFile.setFilename(imageZipEntryFile.getFilename().toLowerCase()); @@ -99,8 +99,8 @@ public class OverviewParserTest extends ConverterTestFunctions { assertTrue(link instanceof OverviewModelLink); OverviewModelLink modelLink = (OverviewModelLink) link; - Model mainModel = models.iterator().next(); - assertEquals(mainModel.getModelData(), modelLink.getLinkedModel()); + ModelData mainModel = models.iterator().next(); + assertEquals(mainModel, modelLink.getLinkedModel()); assertEquals((Integer) 10, modelLink.getxCoord()); assertEquals((Integer) 10, modelLink.getyCoord()); assertEquals((Integer) 3, modelLink.getZoomLevel()); @@ -109,8 +109,7 @@ public class OverviewParserTest extends ConverterTestFunctions { private List<ImageZipEntryFile> createImageEntries(final String string) throws IOException { List<ImageZipEntryFile> result = new ArrayList<>(); - ZipFile zipFile = new ZipFile(string); - try { + try (ZipFile zipFile = new ZipFile(string)) { Enumeration<? extends ZipEntry> entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); @@ -119,14 +118,12 @@ public class OverviewParserTest extends ConverterTestFunctions { } } return result; - } finally { - zipFile.close(); } } @Test public void testParsingValidFile2() throws Exception { - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); String tmpDir = Files.createTempDirectory("tmp").toFile().getAbsolutePath(); @@ -145,7 +142,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test(expected = InvalidOverviewFile.class) public void testParsingInvalidFile1() throws Exception { List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_1.zip"); - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_1.zip")); } @@ -153,7 +150,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test(expected = InvalidOverviewFile.class) public void testParsingInvalidFile2() throws Exception { List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_2.zip"); - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_2.zip")); } @@ -161,16 +158,16 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test(expected = InvalidOverviewFile.class) public void testParsingInvalidFile3() throws Exception { List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/invalid_overview_3.zip"); - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/invalid_overview_3.zip")); } - private Set<Model> createValidTestMapModel() { - Set<Model> result = new HashSet<>(); + private Set<ModelData> createValidTestMapModel() { + Set<ModelData> result = new HashSet<>(); Model model = new ModelFullIndexed(null); model.setName("main"); - result.add(model); + result.add(model.getModelData()); return result; } @@ -181,9 +178,9 @@ public class OverviewParserTest extends ConverterTestFunctions { public void testParseInvalidCoordinates() throws Exception { String invalidCoordinates = "test.png\t10,10 100,10 100,100 10,10\tmain.xml\t10,10\t3\n" + "test.png\t10,10 10,400 400,400 400,10\tmain.xml\t10,10\t4"; - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); - List<OverviewImage> images = new ArrayList<OverviewImage>(); + List<OverviewImage> images = new ArrayList<>(); OverviewImage oi = new OverviewImage(); oi.setFilename("test.png"); oi.setWidth(1000); @@ -198,9 +195,9 @@ public class OverviewParserTest extends ConverterTestFunctions { String invalidCoordinates = "FILE\tPOLYGON\tLINK_TARGET\tMODEL_COORDINATES\tMODEL_ZOOM_LEVEL\tLINK_TYPE\n" + "test.png\t10,10 100,10 100,100 10,10\tmain.xml\t10,10\t3\tMODEL\n" + "test.png\t200,200 200,400 400,400 400,200\tmain.xml\t10,10\t4\tMODEL"; - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); - List<OverviewImage> images = new ArrayList<OverviewImage>(); + List<OverviewImage> images = new ArrayList<>(); OverviewImage oi = new OverviewImage(); oi.setFilename("test.png"); oi.setWidth(1000); @@ -215,7 +212,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test public void testParseValidComplexCoordinates() throws Exception { String invalidCoordinates = FileUtils.readFileToString(new File("testFiles/coordinates.txt"), "UTF-8"); - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); List<OverviewImage> images = new ArrayList<>(); OverviewImage oi = new OverviewImage(); @@ -239,7 +236,7 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test public void testParseValidComplexCoordinatesWithExtraImages() throws Exception { String invalidCoordinates = FileUtils.readFileToString(new File("testFiles/coordinates.txt"), "UTF-8"); - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); List<OverviewImage> images = new ArrayList<>(); OverviewImage oi = new OverviewImage(); @@ -267,10 +264,10 @@ public class OverviewParserTest extends ConverterTestFunctions { @Test public void testJsonCoordinates() throws Exception { - Set<Model> models = createValidTestMapModel(); + Set<ModelData> models = createValidTestMapModel(); Model child = new ModelFullIndexed(null); child.setName("child"); - models.add(child); + models.add(child.getModelData()); List<ImageZipEntryFile> imageEntries = createImageEntries("testFiles/valid_overview_with_json.zip"); List<OverviewImage> result = parser.parseOverviewLinks(models, imageEntries, null, new ZipFile("testFiles/valid_overview_with_json.zip")); diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java index 327f984bdc2ab4ec4d4574fdf6c1e679b6800550..ea88c764532c884c45bd397a0572489ff5e9fe9c 100644 --- a/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java +++ b/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java @@ -149,7 +149,7 @@ public class ProjectFactoryTest extends ConverterTestFunctions { public void testParseGlyphsAndPutThemAsElementGlyphs() throws Exception { Model model = new ModelFullIndexed(null); final GenericProtein protein = createProtein(); - protein.setNotes("Glyph: glyphs/g1.png"); + protein.setNotes(ComplexZipConverter.GLYPH_PREFIX + "glyphs/g1.png"); model.addElement(protein); MockConverter.modelToBeReturned = model; @@ -188,7 +188,7 @@ public class ProjectFactoryTest extends ConverterTestFunctions { final Layer layer = new Layer(); final LayerText text = new LayerText(); - text.setNotes("Glyph: glyphs/g1.png"); + text.setNotes(ComplexZipConverter.GLYPH_PREFIX + " glyphs/g1.png"); layer.addLayerText(text); model.addLayer(layer); diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java index d64ce0e7a4cb69a5065c44b097ecf7f67432b9e3..2691ea372301777002d69ae4d757c8557c8ef935 100644 --- a/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java +++ b/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java @@ -10,6 +10,7 @@ import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Protein; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.StructuralState; +import lcsb.mapviewer.utils.ZIndexPopulator; import org.junit.Test; import static org.junit.Assert.assertNotNull; diff --git a/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java b/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java index 5c03c95b12acf2e6ff624496d7eea126ccce9543..89ccd70f0022c1add05c9d0d2db0f54e2985be5e 100644 --- a/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java +++ b/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java @@ -5,6 +5,7 @@ import lcsb.mapviewer.converter.ConverterTestFunctions; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamRelationType; import lcsb.mapviewer.model.map.MiriamType; +import lcsb.mapviewer.utils.XmlAnnotationParser; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js index 8965fe3a575b33146f5be0df4bea5ae4b33aa85b..2f02a80b2feeb3b98638ed2596b0fece426fbd9a 100644 --- a/frontend-js/src/main/js/ServerConnector.js +++ b/frontend-js/src/main/js/ServerConnector.js @@ -1173,6 +1173,12 @@ ServerConnector.getProjectSourceUrl = function (queryParams, filterParams) { }); }; +ServerConnector.getDownloadProjectZipUrl = function (queryParams, filterParams) { + return this.getNewApiUrl({ + type: "projects/" + queryParams.projectId + ":downloadGeneratedZip", + params: filterParams + }); +}; ServerConnector.getFilesUrl = function () { return this.getApiUrl({ @@ -2744,6 +2750,20 @@ ServerConnector.getProjectSourceDownloadUrl = function (params) { }); }; +ServerConnector.getProjectGenerateZipUrl = function (params) { + if (params === undefined) { + params = {}; + } + var queryParams = {}; + var filterParams = {}; + var self = this; + return self.getProjectId(params.projectId).then(function (result) { + queryParams.projectId = result; + return self.getDownloadProjectZipUrl(queryParams, filterParams); + }); +}; + + ServerConnector.getDrugNamesByTarget = function (params) { var self = this; var queryParams = {}; diff --git a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js index 520d4b0760a7bea85e6c44237f2c852662028c4a..70d94fa46f1dbf046ebd745d1b4fd0aca9e052ef 100644 --- a/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/ProjectInfoPanel.js @@ -158,6 +158,22 @@ ProjectInfoPanel.prototype._createInfoPanelGui = function () { liElement.appendChild(projectOriginalFileButton); dataTab.appendChild(liElement); + var projectGenerateZipFileButton = Functions.createElement({ + type: "a", + name: "projectGenerateZipFileButton", + href: "#", + content: "<i class='fa fa-files-o'></i> get generated zip", + xss: false, + onclick: function () { + return self.downloadGeneratedZipFile(); + } + }); + liElement = Functions.createElement({ + type: "li" + }); + liElement.appendChild(projectGenerateZipFileButton); + dataTab.appendChild(liElement); + var projectLicenseButton = Functions.createElement({ type: "a", name: "projectLicenseButton", @@ -286,6 +302,17 @@ ProjectInfoPanel.prototype.downloadSourceFile = function () { }).then(null, GuiConnector.alert); }; +/** + * + * @returns {Promise} + */ +ProjectInfoPanel.prototype.downloadGeneratedZipFile = function () { + var self = this; + return ServerConnector.getProjectGenerateZipUrl().then(function (url) { + return self.downloadFile(url); + }).then(null, GuiConnector.alert); +}; + /** * * @returns {Promise} @@ -334,7 +361,7 @@ ProjectInfoPanel.prototype.refresh = function () { $("[name='projectLicenseButton']", self.getElement()).off('click'); if (project.getLicense() !== null) { projectLicenseText.innerHTML = project.getLicense().getName(); - $("[name='projectLicenseButton']", self.getElement()).on('click', function(){ + $("[name='projectLicenseButton']", self.getElement()).on('click', function () { GuiConnector.info(project.getLicense().getContent()); }); } else { diff --git a/model-command/pom.xml b/model-command/pom.xml index 0dd05cf739543e86a3b0c488f2d7b990e6fac5c8..419bcff8842b889bf1b22664af24f5709586741c 100644 --- a/model-command/pom.xml +++ b/model-command/pom.xml @@ -1,60 +1,54 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>lcsb.mapviewer</groupId> - <artifactId>parent</artifactId> - <version>19.0.0~alpha.0</version> - </parent> - <artifactId>model-command</artifactId> - <name>Model commands</name> - <description>Tool with (undoable) commands that can be performed on model</description> - - - <dependencies> - - <!-- the MapViewer model --> - <dependency> - <groupId>lcsb.mapviewer</groupId> - <artifactId>model</artifactId> - <version>19.0.0~alpha.0</version> - </dependency> - - - <!-- the MapViewer CellDEsigner converter --> - <dependency> - <groupId>lcsb.mapviewer</groupId> - <artifactId>converter-CellDesigner</artifactId> - <version>19.0.0~alpha.0</version> - </dependency> - - <!-- Log4J2--> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> - <version>${log4j2.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>${log4j2.version}</version> - </dependency> - - <!-- mockito used for testing --> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>${mockito.version}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - - - </dependencies> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>lcsb.mapviewer</groupId> + <artifactId>parent</artifactId> + <version>19.0.0~alpha.0</version> + </parent> + <artifactId>model-command</artifactId> + <name>Model commands</name> + <description>Tool with (undoable) commands that can be performed on model</description> + + + <dependencies> + + <!-- the MapViewer model --> + <dependency> + <groupId>lcsb.mapviewer</groupId> + <artifactId>model</artifactId> + <version>19.0.0~alpha.0</version> + </dependency> + + + <!-- Log4J2--> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>${log4j2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>${log4j2.version}</version> + </dependency> + + <!-- mockito used for testing --> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>${junit.version}</version> + <scope>test</scope> + </dependency> + + + </dependencies> </project> \ No newline at end of file diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java index 9f43ffdc9d6ebc9ea170f5a7384caf2bf8c80ec8..56278534534733f14cd829988410ef5650b393c6 100644 --- a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java +++ b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java @@ -3,18 +3,19 @@ package lcsb.mapviewer.commands; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.exception.InvalidStateException; import lcsb.mapviewer.common.exception.NotImplementedException; -import lcsb.mapviewer.converter.model.celldesigner.annotation.RestAnnotationParser; import lcsb.mapviewer.model.graphics.HorizontalAlign; import lcsb.mapviewer.model.graphics.VerticalAlign; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.PathwayCompartment; import lcsb.mapviewer.model.map.layout.graphics.Layer; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; import lcsb.mapviewer.model.map.layout.graphics.LayerRect; import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.species.Complex; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.utils.RestAnnotationParser; import org.apache.commons.lang3.math.NumberUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -33,7 +34,7 @@ import java.util.Set; */ public class CreateHierarchyCommand extends ModelCommand { - public static final String TEXT_LAYER_NAME = "text"; + public static final String PATHWAY_LAYER_NAME = "pathways"; /** * Natural logarithm of four. @@ -127,7 +128,7 @@ public class CreateHierarchyCommand extends ModelCommand { /** * Cleans hierarchical information from the model. */ - protected void clean() { + public void clean() { for (final Element alias : getModel().getElements()) { alias.setCompartment(null); alias.setPathway(null); @@ -135,15 +136,6 @@ public class CreateHierarchyCommand extends ModelCommand { alias.setTransparencyLevel(""); } } - Set<Compartment> toRemove = new HashSet<>(); - for (final Compartment alias : getModel().getCompartments()) { - if (alias instanceof PathwayCompartment) { - toRemove.add(alias); - } - } - for (final Compartment alias : toRemove) { - getModel().removeElement(alias); - } } /** @@ -154,8 +146,10 @@ public class CreateHierarchyCommand extends ModelCommand { RestAnnotationParser rap = new RestAnnotationParser(); Model model = getModel(); int id = 0; + Layer pathwayLayer = null; for (final Layer layer : model.getLayers()) { - if (!Objects.equals(layer.getName(), TEXT_LAYER_NAME)) { + if (Objects.equals(layer.getName(), PATHWAY_LAYER_NAME)) { + pathwayLayer = layer; for (final LayerRect rect : layer.getRectangles()) { int nextId = getNextArtId(model, id); id = nextId + 1; @@ -207,8 +201,33 @@ public class CreateHierarchyCommand extends ModelCommand { model.addElement(compartment); } + } else { + Set<LayerText> objectsToRemove = new HashSet<>(); + for (final LayerText text : layer.getTexts()) { + int nextId = getNextArtId(model, id); + id = nextId + 1; + + if (text.getGlyph() != null) { + objectsToRemove.add(text); + + LayerImage image = new LayerImage(); + image.setX(text.getX()); + image.setY(text.getY()); + image.setZ(text.getZ()); + image.setWidth(text.getWidth()); + image.setHeight(text.getHeight()); + image.setGlyph(text.getGlyph()); + layer.addLayerImage(image); + } + } + for (LayerText image : objectsToRemove) { + layer.removeLayerText(image); + } } } + if (pathwayLayer != null) { + model.removeLayer(pathwayLayer); + } } private int getNextArtId(final Model model, final int id) { diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java deleted file mode 100644 index 65f76495848c5153d175a73ef7daa84a2a2f7167..0000000000000000000000000000000000000000 --- a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java +++ /dev/null @@ -1,192 +0,0 @@ -package lcsb.mapviewer.commands; - -import java.awt.geom.Line2D; -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import lcsb.mapviewer.common.exception.InvalidArgumentException; -import lcsb.mapviewer.common.exception.InvalidStateException; -import lcsb.mapviewer.model.map.BioEntity; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.model.map.reaction.AbstractNode; -import lcsb.mapviewer.model.map.reaction.Modifier; -import lcsb.mapviewer.model.map.reaction.NodeOperator; -import lcsb.mapviewer.model.map.reaction.Product; -import lcsb.mapviewer.model.map.reaction.Reactant; -import lcsb.mapviewer.model.map.reaction.Reaction; -import lcsb.mapviewer.model.map.reaction.ReactionNode; -import lcsb.mapviewer.model.map.species.Element; -import lcsb.mapviewer.model.map.species.field.ModificationResidue; -import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue; - -/** - * Command which moves elements in model by dx, dy coordinates. - * - * @author Piotr Gawron - * - */ -public class MoveElementsCommand extends ModelCommand { - - /** - * Default class logger. - */ - @SuppressWarnings("unused") - private final Logger logger = LogManager.getLogger(); - - /** - * Delta x. - */ - private double dx; - - /** - * Delta y. - */ - private double dy; - - /** - * List of objects to move. - */ - private List<Object> objectsToMove = new ArrayList<>(); - - /** - * Default constructor. - * - * @param model - * model to move - * @param elements - * elements that should be moved - * @param dx - * delta x - * @param dy - * delta y - */ - public MoveElementsCommand(final Model model, final Collection<? extends BioEntity> elements, final double dx, final double dy) { - super(model); - this.dx = dx; - this.dy = dy; - for (final Object object : elements) { - if (object instanceof Element) { - if (((Element) object).getModel() != model) { - throw new InvalidArgumentException("Object doesnt belong to specified model: " + object); - } - } else if (object instanceof Reaction) { - if (((Reaction) object).getModel() != model) { - throw new InvalidArgumentException("Object doesnt belong to specified model: " + object); - } - } else { - throw new InvalidArgumentException("Cannot move element: " + object); - } - } - objectsToMove.addAll(elements); - } - - @Override - protected void undoImplementation() { - dx = -dx; - dy = -dy; - executeImplementation(); - dx = -dx; - dy = -dy; - setStatus(ModelCommandStatus.UNDONE); - } - - @Override - protected void redoImplementation() { - executeImplementation(); - setStatus(ModelCommandStatus.EXECUTED); - } - - @Override - protected void executeImplementation() { - Set<Element> aliases = new HashSet<>(); - - for (final Object object : objectsToMove) { - if (object instanceof Element) { - Element alias = (Element) object; - - includeInAffectedRegion(alias); - - alias.setX(alias.getX() + dx); - alias.setY(alias.getY() + dy); - alias.setNameX(alias.getNameX() + dx); - alias.setNameY(alias.getNameY() + dy); - - if (alias instanceof SpeciesWithModificationResidue) { - for (final ModificationResidue mr : ((SpeciesWithModificationResidue) alias).getModificationResidues()) { - mr.setX(mr.getX() + dx); - mr.setY(mr.getY() + dy); - } - } - includeInAffectedRegion(alias); - - aliases.add(alias); - } else if (object instanceof Reaction) { - Reaction reaction = (Reaction) object; - for (final Reactant node : reaction.getReactants()) { - Point2D startPoint = node.getLine().getStartPoint(); - moveNode(node); - node.getLine().setStartPoint(startPoint); - } - for (final Product node : reaction.getProducts()) { - Point2D endPoint = node.getLine().getEndPoint(); - moveNode(node); - node.getLine().setEndPoint(endPoint); - } - for (final Modifier node : reaction.getModifiers()) { - Point2D startPoint = node.getLine().getStartPoint(); - moveNode(node); - node.getLine().setStartPoint(startPoint); - } - for (final NodeOperator node : reaction.getOperators()) { - moveNode(node); - } - includeInAffectedRegion(reaction); - } else { - throw new InvalidStateException("Unknown class type: " + object); - } - } - if (aliases.size() > 0) { - // TODO this must be improved, we cannot do full search on every move - for (final Reaction reaction : getModel().getReactions()) { - for (final ReactionNode node : reaction.getReactionNodes()) { - if (aliases.contains(node.getElement())) { - if (node instanceof Reactant) { - Point2D point = node.getLine().getStartPoint(); - node.getLine().setStartPoint(point.getX() + dx, point.getY() + dy); - - // we don't have to include point that we change as it's already - // on the border of the element - includeInAffectedRegion(node.getLine().getLines().get(0).getP2()); - } else if (node instanceof Modifier) { - Point2D point = node.getLine().getStartPoint(); - node.getLine().setStartPoint(point.getX() + dx, point.getY() + dy); - // we don't have to include point that we change as it's already - // on the border of the element - includeInAffectedRegion(node.getLine().getLines().get(0).getP2()); - } else if (node instanceof Product) { - Point2D point = node.getLine().getEndPoint(); - node.getLine().setEndPoint(point.getX() + dx, point.getY() + dy); - // we don't have to include point that we change as it's already - // on the border of the element - includeInAffectedRegion(node.getLine().getEndPoint()); - } - } - } - } - } - } - - private void moveNode(final AbstractNode node) { - for (int i = 0; i < node.getLine().getLines().size(); i++) { - Line2D line = node.getLine().getLines().get(i); - node.getLine().setLine(i, line.getX1() + dx, line.getY1() + dy, line.getX2() + dx, line.getY2() + dy); - } - } -} diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java index 46a9798be3662e9af447bfb93a203e9da10573f7..dc27092f8fb434681a7d9f91a68209899576a035 100644 --- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java +++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java @@ -7,8 +7,6 @@ import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.common.geometry.DoubleDimension; import lcsb.mapviewer.common.geometry.LineTransformation; import lcsb.mapviewer.common.geometry.PointTransformation; -import lcsb.mapviewer.converter.ZIndexPopulator; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierTypeUtils; import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; import lcsb.mapviewer.model.graphics.ArrowType; @@ -31,6 +29,7 @@ import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue; +import lcsb.mapviewer.utils.ZIndexPopulator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -347,8 +346,14 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand { if (startPoint != null) { line.setStartPoint(startPoint); } + for (final ModifierType mt : ModifierType.values()) { + if (mt.getClazz().equals(modifier.getClass())) { + line.setEndAtd(mt.getAtd()); + line.setType(mt.getLineType()); + } + } + modifier.setLine(line); - new ModifierTypeUtils().updateLineEndPoint(modifier); } } diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierType.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ModifierType.java similarity index 72% rename from converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierType.java rename to model-command/src/main/java/lcsb/mapviewer/commands/layout/ModifierType.java index 24696c519e645025d4519d25c1a2f5f07573e0bc..49e8cf069db513c92b218abc7cc776244d1c260f 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierType.java +++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ModifierType.java @@ -1,6 +1,5 @@ -package lcsb.mapviewer.converter.model.celldesigner.types; +package lcsb.mapviewer.commands.layout; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; import lcsb.mapviewer.model.graphics.ArrowType; import lcsb.mapviewer.model.graphics.ArrowTypeData; import lcsb.mapviewer.model.graphics.LineType; @@ -16,9 +15,8 @@ import lcsb.mapviewer.model.map.reaction.Modifier; /** * This enum defines how different types of CellDesigner modifiers should be * translated into the reaction {@link Modifier} class. - * + * * @author Piotr Gawron - * */ public enum ModifierType { @@ -30,7 +28,7 @@ public enum ModifierType { /** * Inhibition. */ - INHIBITION("INHIBITION", Inhibition.class, ArrowType.CROSSBAR, 8.0, ReactionCellDesignerConverter.RECT_SIZE / 2 - 1), + INHIBITION("INHIBITION", Inhibition.class, ArrowType.CROSSBAR, 8.0, ReactionData.RECT_SIZE / 2 - 1), /** * Unknown catalysis. @@ -41,7 +39,7 @@ public enum ModifierType { * Unknown inhibition. */ UNKNOWN_INHIBITION("UNKNOWN_INHIBITION", UnknownInhibition.class, ArrowType.CROSSBAR, 8.0, - ReactionCellDesignerConverter.RECT_SIZE / 2 - 1, LineType.DASHED), + ReactionData.RECT_SIZE / 2 - 1, LineType.DASHED), /** * Physical stimulation. @@ -57,32 +55,32 @@ public enum ModifierType { * Trigger. */ TRIGGER_STRING("TRIGGER", Trigger.class, ArrowType.BLANK_CROSSBAR), - + /** * CellDesigner 2.5 modification type. */ TRANSCRIPTIONAL_ACTIVATION("TRANSCRIPTIONAL_ACTIVATION", Trigger.class, ArrowType.BLANK_CROSSBAR), - + /** * CellDesigner 2.5 modification type. */ - TRANSCRIPTIONAL_INHIBITION("TRANSCRIPTIONAL_INHIBITION", Inhibition.class, ArrowType.CROSSBAR, 8.0, - ReactionCellDesignerConverter.RECT_SIZE / 2 - 1), - + TRANSCRIPTIONAL_INHIBITION("TRANSCRIPTIONAL_INHIBITION", Inhibition.class, ArrowType.CROSSBAR, 8.0, + ReactionData.RECT_SIZE / 2 - 1), + ; /** * CellDesigner string describing this type. */ - private String stringName; + private final String stringName; /** * Which class should be used for this type. */ - private Class<? extends Modifier> clazz; + private final Class<? extends Modifier> clazz; /** * How the arrow head of the line should look like. */ - private ArrowTypeData atd = new ArrowTypeData(); + private final ArrowTypeData atd = new ArrowTypeData(); /** * How much should be the arrow line trimmed. */ @@ -94,13 +92,10 @@ public enum ModifierType { /** * Constructor used to create and initialize this enum. - * - * @param string - * {@link #stringName} - * @param clazz - * {@link #clazz} - * @param at - * type of the arrow + * + * @param string {@link #stringName} + * @param clazz {@link #clazz} + * @param at type of the arrow */ ModifierType(final String string, final Class<? extends Modifier> clazz, final ArrowType at) { this(string, clazz, at, null, null, null); @@ -108,15 +103,11 @@ public enum ModifierType { /** * Constructor used to create and initialize this enum. - * - * @param string - * {@link #stringName} - * @param clazz - * {@link #clazz} - * @param at - * type of the arrow - * @param arrowLength - * length of the arrow + * + * @param string {@link #stringName} + * @param clazz {@link #clazz} + * @param at type of the arrow + * @param arrowLength length of the arrow */ ModifierType(final String string, final Class<? extends Modifier> clazz, final ArrowType at, final Double arrowLength) { this(string, clazz, at, arrowLength, null, null); @@ -124,17 +115,12 @@ public enum ModifierType { /** * Constructor used to create and initialize this enum. - * - * @param string - * {@link #stringName} - * @param clazz - * {@link #clazz} - * @param at - * type of the arrow - * @param arrowLength - * length of the arrow - * @param trimLength - * {@link #trimLength} + * + * @param string {@link #stringName} + * @param clazz {@link #clazz} + * @param at type of the arrow + * @param arrowLength length of the arrow + * @param trimLength {@link #trimLength} */ ModifierType(final String string, final Class<? extends Modifier> clazz, final ArrowType at, final Double arrowLength, final Double trimLength) { this(string, clazz, at, arrowLength, trimLength, null); @@ -142,22 +128,16 @@ public enum ModifierType { /** * Constructor used to create and initialize this enum. - * - * @param string - * {@link #stringName} - * @param clazz - * {@link #clazz} - * @param at - * type of the arrow - * @param arrowLength - * length of the arrow - * @param trimLength - * {@link #trimLength} - * @param lt - * {@link #lineType} + * + * @param string {@link #stringName} + * @param clazz {@link #clazz} + * @param at type of the arrow + * @param arrowLength length of the arrow + * @param trimLength {@link #trimLength} + * @param lt {@link #lineType} */ ModifierType(final String string, final Class<? extends Modifier> clazz, final ArrowType at, final Double arrowLength, final Double trimLength, - final LineType lt) { + final LineType lt) { stringName = string; this.clazz = clazz; if (at != null) { @@ -176,7 +156,6 @@ public enum ModifierType { } /** - * * @return {@link #stringName} */ public String getStringName() { @@ -184,7 +163,6 @@ public enum ModifierType { } /** - * * @return {@link #clazz} */ public Class<? extends Modifier> getClazz() { @@ -192,7 +170,6 @@ public enum ModifierType { } /** - * * @return {@link #atd} */ public ArrowTypeData getAtd() { @@ -200,7 +177,6 @@ public enum ModifierType { } /** - * * @return {@link #trimLength} */ public double getTrimLength() { @@ -208,7 +184,6 @@ public enum ModifierType { } /** - * * @return {@link #lineType} */ public LineType getLineType() { diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverter.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ReactionData.java similarity index 70% rename from converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverter.java rename to model-command/src/main/java/lcsb/mapviewer/commands/layout/ReactionData.java index 3c412c80daf0d34ea354342ad66954ac8f0a014b..4b4781f5404160dcef8687fd47ddc2eb418e1586 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ReactionCellDesignerConverter.java +++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ReactionData.java @@ -1,13 +1,12 @@ -package lcsb.mapviewer.converter.model.celldesigner.geometry; +package lcsb.mapviewer.commands.layout; /** * Class that provides CellDesigner specific graphical information for Reaction. * It's used for conversion from xml to normal x,y coordinates. - * + * * @author Piotr Gawron - * */ -public final class ReactionCellDesignerConverter { +public final class ReactionData { /** * What is the size of rectangle that is drawn in center point of the reaction. */ @@ -16,7 +15,7 @@ public final class ReactionCellDesignerConverter { /** * Default constructor that prevents instantiation. */ - protected ReactionCellDesignerConverter() { + ReactionData() { } } diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/ImportOnly.java b/model-command/src/main/java/lcsb/mapviewer/utils/ImportOnly.java similarity index 80% rename from converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/ImportOnly.java rename to model-command/src/main/java/lcsb/mapviewer/utils/ImportOnly.java index 3f62862dcf85fb80346ec3911cbf9b9d26ef2284..98d3aa6713e53bc7eb453197de174636537f56fd 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/ImportOnly.java +++ b/model-command/src/main/java/lcsb/mapviewer/utils/ImportOnly.java @@ -1,11 +1,11 @@ -package lcsb.mapviewer.converter.model.celldesigner.annotation; - -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; +package lcsb.mapviewer.utils; import java.lang.annotation.Retention; import java.lang.annotation.Target; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + @Retention(RUNTIME) @Target(FIELD) public @interface ImportOnly { diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteField.java b/model-command/src/main/java/lcsb/mapviewer/utils/NoteField.java similarity index 91% rename from converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteField.java rename to model-command/src/main/java/lcsb/mapviewer/utils/NoteField.java index d24ff4c4be2dd90ac4d86fdecc90981b69275755..fc7127415614451261222ee5c9193e5a806db625 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteField.java +++ b/model-command/src/main/java/lcsb/mapviewer/utils/NoteField.java @@ -1,4 +1,4 @@ -package lcsb.mapviewer.converter.model.celldesigner.annotation; +package lcsb.mapviewer.utils; import lcsb.mapviewer.model.map.BioEntity; import lcsb.mapviewer.model.map.Drawable; @@ -10,9 +10,8 @@ import lcsb.mapviewer.model.map.species.Species; /** * Describes structural information that appears in the cell designer notes. - * + * * @author Piotr Gawron - * */ public enum NoteField { /** @@ -151,12 +150,12 @@ public enum NoteField { /** * Name used in the notes to distinguish fields. */ - private String commonName; + private final String commonName; /** * What object class can have this field. */ - private Class<? extends Drawable> clazz; + private final Class<? extends Drawable> clazz; /** * What {@link MiriamType} is associated with the field. @@ -165,11 +164,9 @@ public enum NoteField { /** * Default constructor. - * - * @param name - * {@link #commonName} - * @param clazz - * {@link #clazz} + * + * @param name {@link #commonName} + * @param clazz {@link #clazz} */ NoteField(final String name, final Class<? extends Drawable> clazz) { this.commonName = name; @@ -178,13 +175,10 @@ public enum NoteField { /** * Default constructor. - * - * @param name - * {@link #commonName} - * @param clazz - * {@link #clazz} - * @param type - * {@link #miriamType} + * + * @param name {@link #commonName} + * @param clazz {@link #clazz} + * @param type {@link #miriamType} */ NoteField(final String name, final Class<? extends Drawable> clazz, final MiriamType type) { this(name, clazz); diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java b/model-command/src/main/java/lcsb/mapviewer/utils/RestAnnotationParser.java similarity index 88% rename from converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java rename to model-command/src/main/java/lcsb/mapviewer/utils/RestAnnotationParser.java index 9c0db8c9f418f77247a321a39be7d61666b26f1a..675807a38ac458adb7cee2d62f0d342d507a82d1 100644 --- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java +++ b/model-command/src/main/java/lcsb/mapviewer/utils/RestAnnotationParser.java @@ -1,20 +1,4 @@ -package lcsb.mapviewer.converter.model.celldesigner.annotation; - -import java.awt.Color; -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.commons.text.StringEscapeUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.w3c.dom.Node; +package lcsb.mapviewer.utils; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.comparator.DoubleComparator; @@ -26,8 +10,6 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidXmlSchemaException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.common.geometry.ColorParser; -import lcsb.mapviewer.converter.annotation.XmlAnnotationParser; -import lcsb.mapviewer.converter.model.celldesigner.CommonXmlParser; import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; import lcsb.mapviewer.model.map.BioEntity; @@ -40,38 +22,68 @@ import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.modelutils.map.ElementUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.w3c.dom.Node; + +import java.awt.Color; +import java.lang.annotation.Annotation; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * This class is a converter of annotation provided by lcsb in raw text format * into set of MiriamData that can be used later on. - * + * * @author Piotr Gawron - * */ public class RestAnnotationParser { + public static final Set<MiriamRelationType> RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER; + + static { + Set<MiriamRelationType> types = new HashSet<>(); + types.addAll(Arrays.asList(MiriamRelationType.values())); + types.remove(MiriamRelationType.BQ_MODEL_IS_DERIVED_FROM); + types.remove(MiriamRelationType.BQ_BIOL_HAS_PROPERTY); + types.remove(MiriamRelationType.BQ_BIOL_IS_PROPERTY_OF); + types.remove(MiriamRelationType.BQ_MODEL_IS_INSTANCE_OF); + types.remove(MiriamRelationType.BQ_MODEL_HAS_INSTANCE); + types.remove(MiriamRelationType.BQ_BIOL_HAS_TAXON); + RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER = Collections.unmodifiableSet(types); + } + /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Pattern used to find rdf node in string xml. */ - private Pattern rdfNodePattern = Pattern.compile("(?<=<rdf:RDF)([\\s\\S]*?)(?=</rdf:RDF>)"); + private final Pattern rdfNodePattern = Pattern.compile("(?<=<rdf:RDF)([\\s\\S]*?)(?=</rdf:RDF>)"); /** * Parser used for parsing annotations in rdf format. */ - private XmlAnnotationParser xmlAnnotationParser; + private final XmlAnnotationParser xmlAnnotationParser; /** * Class used for some simple operations on {@link BioEntity} elements. */ - private ElementUtils elementUtils = new ElementUtils(); + private final ElementUtils elementUtils = new ElementUtils(); public RestAnnotationParser() { - xmlAnnotationParser = new XmlAnnotationParser(CommonXmlParser.RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); + xmlAnnotationParser = new XmlAnnotationParser(RELATION_TYPES_SUPPORTED_BY_CELL_DESIGNER); } /** @@ -79,8 +91,7 @@ public class RestAnnotationParser { * Parsing has been prepared based on the information provided by Kazuhiro * Fujita, kaf@sbi.jp. * - * @param annotationString - * - string with data to parse + * @param annotationString - string with data to parse * @return list of {@link MiriamData annotations} */ public Set<MiriamData> getMiriamData(final String annotationString) { @@ -110,8 +121,7 @@ public class RestAnnotationParser { /** * Creates note string with structural information about element. * - * @param element - * element for which notes are created + * @param element element for which notes are created * @return note string with structural information about element */ public String createAnnotationString(final Element element) { @@ -121,11 +131,9 @@ public class RestAnnotationParser { /** * Creates note string with structural information about element. * - * @param element - * element for which notes are created - * @param forceFullInfo - * when true annotation string will contain information about empty - * fields + * @param element element for which notes are created + * @param forceFullInfo when true annotation string will contain information about empty + * fields * @return note string with structural information about element */ public String createAnnotationString(final Element element, final boolean forceFullInfo) { @@ -219,10 +227,8 @@ public class RestAnnotationParser { * ... * </pre> * - * @param annotationString - * whole annotation string - * @param prefix - * prefix used for identifying line + * @param annotationString whole annotation string + * @param prefix prefix used for identifying line * @return value for the given type in structured annotation */ private String getParamByPrefix(final String annotationString, final String prefix) { @@ -248,8 +254,7 @@ public class RestAnnotationParser { /** * Returns list of symbols from the annotation string. * - * @param annotationString - * annotation string + * @param annotationString annotation string * @return list of symbol */ public List<String> getSynonyms(final String annotationString) { @@ -268,8 +273,7 @@ public class RestAnnotationParser { /** * Returns list of former symbols from the annotation string. * - * @param annotationString - * annotation string + * @param annotationString annotation string * @return list of former symbol */ public List<String> getFormerSymbols(final String annotationString) { @@ -290,10 +294,8 @@ public class RestAnnotationParser { * database_ID: idfield1, idfield2, ..., idfieldn<br> * into a vector of string ids. * - * @param line - * - a line to be parsed - * @param baseId - * - database string id + * @param line - a line to be parsed + * @param baseId - database string id * @return vector of string ids */ protected ArrayList<String> getIds(final String line, final String baseId) { @@ -316,12 +318,9 @@ public class RestAnnotationParser { /** * This method transform the vector of ids into a set of MiriamData. * - * @param type - * - relationtype of the annotaion ids - * @param miriamType - * {@link MiriamType type} of the reference resource - * @param ids - * - list of ids + * @param type - relationtype of the annotaion ids + * @param miriamType {@link MiriamType type} of the reference resource + * @param ids - list of ids * @return set of miriam data */ private Set<MiriamData> idsToData(final MiriamRelationType type, final MiriamType miriamType, final ArrayList<String> ids) { @@ -336,10 +335,8 @@ public class RestAnnotationParser { /** * Process element notes and assign structural information from it. * - * @param node - * node with notes about element - * @param element - * where the structural data should be put + * @param node node with notes about element + * @param element where the structural data should be put */ public void processNotes(final Node node, final BioEntity element) { String notes = getNotes(node); @@ -349,8 +346,7 @@ public class RestAnnotationParser { /** * Process notes and assign structural information from it. * - * @param element - * object with notes to be processed + * @param element object with notes to be processed */ public void processNotes(final Element element) { processNotes(element.getNotes(), element); @@ -359,16 +355,14 @@ public class RestAnnotationParser { /** * Process notes and assign structural information from it. * - * @param notes - * notes about element - * @param object - * where the structural data should be put + * @param notes notes about element + * @param object where the structural data should be put */ public void processNotes(final String notes, final Drawable object) { StringBuilder annotations = new StringBuilder(); String[] string = notes.split("\n"); - StringBuilder newNotes = new StringBuilder(""); + StringBuilder newNotes = new StringBuilder(); for (final String string2 : string) { boolean remove = false; for (final NoteField field : NoteField.values()) { @@ -434,8 +428,7 @@ public class RestAnnotationParser { /** * Transforms xml node into notes. * - * @param node - * xml node with notes + * @param node xml node with notes * @return string with notes */ public String getNotes(final Node node) { @@ -465,10 +458,8 @@ public class RestAnnotationParser { /** * Assigns synonyms to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setSynonyms(final BioEntity element, final String annotationString) { List<String> synonyms = getSynonyms(annotationString); @@ -493,10 +484,8 @@ public class RestAnnotationParser { /** * Assigns list of symbols to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setFormerSymbolsToSpecies(final Element element, final String annotationString) { List<String> formerSymbols = getFormerSymbols(annotationString); @@ -517,10 +506,8 @@ public class RestAnnotationParser { /** * Assigns full name to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setFullNameToSpecies(final Element element, final String annotationString) { StringComparator stringComparator = new StringComparator(); @@ -543,10 +530,8 @@ public class RestAnnotationParser { /** * Assigns abbreviation to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setAbbreviation(final BioEntity element, final String annotationString) { StringComparator stringComparator = new StringComparator(); @@ -569,10 +554,8 @@ public class RestAnnotationParser { /** * Assigns subsystem to the reaction from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setSubsystemToReaction(final Reaction element, final String annotationString) { StringComparator stringComparator = new StringComparator(); @@ -591,10 +574,8 @@ public class RestAnnotationParser { /** * Assigns gene protein reaction to the reaction from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setGeneProteinReactionToReaction(final Reaction element, final String annotationString) { StringComparator stringComparator = new StringComparator(); @@ -613,10 +594,8 @@ public class RestAnnotationParser { /** * Assigns formula to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setFormula(final BioEntity element, final String annotationString) { StringComparator stringComparator = new StringComparator(); @@ -642,10 +621,8 @@ public class RestAnnotationParser { /** * Assigns mechanical confidence score to the reaction from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setMechanicalConfidenceScoreToReaction(final Reaction element, final String annotationString) { IntegerComparator integerComparator = new IntegerComparator(); @@ -666,10 +643,8 @@ public class RestAnnotationParser { /** * Assigns charge to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setCharge(final Species element, final String annotationString) { IntegerComparator integerComparator = new IntegerComparator(); @@ -693,10 +668,8 @@ public class RestAnnotationParser { /** * Assigns lower bound to the reaction from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setLowerBoundToReaction(final Reaction element, final String annotationString) { DoubleComparator doubleComparator = new DoubleComparator(); @@ -716,10 +689,8 @@ public class RestAnnotationParser { /** * Assigns upper bound to the reaction from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setUpperBoundToReaction(final Reaction element, final String annotationString) { DoubleComparator doubleComparator = new DoubleComparator(); @@ -739,10 +710,8 @@ public class RestAnnotationParser { /** * Assigns symbol to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setSymbol(final BioEntity element, final String annotationString) { String symbol = getSymbol(annotationString); @@ -764,10 +733,8 @@ public class RestAnnotationParser { /** * Assigns semanticZoomingLevel to the element from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setSemanticZoomLevelVisibility(final BioEntity element, final String annotationString) { String zoomLevelVisibility = getParamByPrefix(annotationString, @@ -819,10 +786,8 @@ public class RestAnnotationParser { * data from these sources should be merged. So, this method in fact merges * notes in the element and description extracted from notes string. * - * @param element - * element to which data should be put to - * @param annotationString - * notes string + * @param element element to which data should be put to + * @param annotationString notes string */ private void setNotes(final BioEntity element, final String annotationString) { String description = getDescription(annotationString); @@ -832,7 +797,7 @@ public class RestAnnotationParser { if (element.getNotes().trim().equals("")) { element.setNotes(description); } else if (element.getNotes().contains(description)) { - return; + // } else { element.setNotes(element.getNotes().trim() + "\n" + description + "\n"); } @@ -887,10 +852,8 @@ public class RestAnnotationParser { * Process RDF description from notes, removes it from the description and * adds appropriate information to miriam data set. * - * @param element - * notes of this element will be processed - * @throws InvalidXmlSchemaException - * thrown when there is a problem with xml + * @param element notes of this element will be processed + * @throws InvalidXmlSchemaException thrown when there is a problem with xml */ void processRdfDescription(final BioEntity element) throws InvalidXmlSchemaException { String notes = element.getNotes(); diff --git a/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java b/model-command/src/main/java/lcsb/mapviewer/utils/XmlAnnotationParser.java similarity index 99% rename from converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java rename to model-command/src/main/java/lcsb/mapviewer/utils/XmlAnnotationParser.java index 8f4b496202c077d9a998731d6dd02d0997d95be5..421b161d5c05fc8105146c925c294d2f0db68d7d 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java +++ b/model-command/src/main/java/lcsb/mapviewer/utils/XmlAnnotationParser.java @@ -1,4 +1,4 @@ -package lcsb.mapviewer.converter.annotation; +package lcsb.mapviewer.utils; import lcsb.mapviewer.common.XmlParser; import lcsb.mapviewer.common.exception.InvalidArgumentException; diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java b/model-command/src/main/java/lcsb/mapviewer/utils/ZIndexPopulator.java similarity index 91% rename from converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java rename to model-command/src/main/java/lcsb/mapviewer/utils/ZIndexPopulator.java index bad89a1306168d5a32f5bbc3e0fad3578449cba4..3be218d856d5ca16d2d021543980bca5f83141fe 100644 --- a/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java +++ b/model-command/src/main/java/lcsb/mapviewer/utils/ZIndexPopulator.java @@ -1,13 +1,4 @@ -package lcsb.mapviewer.converter; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Comparator; -import java.util.List; -import java.util.Set; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +package lcsb.mapviewer.utils; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.DoubleComparator; @@ -22,22 +13,29 @@ import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.field.ModificationResidue; import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue; import lcsb.mapviewer.model.map.species.field.StructuralState; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; +import java.util.Set; /** * This util class populate with z-index data if necessary. - * - * @author Piotr Gawron * + * @author Piotr Gawron */ public class ZIndexPopulator { @SuppressWarnings("unused") - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); - private static DoubleComparator DOUBLE_COMPARATOR = new DoubleComparator(Configuration.EPSILON); - private static StringComparator STRING_COMPARATOR = new StringComparator(); + private static final DoubleComparator DOUBLE_COMPARATOR = new DoubleComparator(Configuration.EPSILON); + private static final StringComparator STRING_COMPARATOR = new StringComparator(); - private static Comparator<Drawable> COMPARATOR = new Comparator<Drawable>() { + private static final Comparator<Drawable> COMPARATOR = new Comparator<Drawable>() { @Override public int compare(final Drawable o1, final Drawable o2) { if (o1 instanceof StructuralState) { diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java index fac16a48f95c717876ccba665c8ce70e2c7e9e8f..2a3b2cebfcfe2ca83126c712023003ee6afd0418 100644 --- a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java +++ b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java @@ -1,20 +1,5 @@ package lcsb.mapviewer.commands; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.awt.Color; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - import lcsb.mapviewer.model.map.BioEntity; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamType; @@ -31,10 +16,25 @@ import lcsb.mapviewer.model.map.species.Protein; import lcsb.mapviewer.model.map.species.field.TranscriptionSite; import lcsb.mapviewer.model.overlay.DataOverlayEntry; import lcsb.mapviewer.model.overlay.GenericDataOverlayEntry; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; public class ColorModelCommandTest extends CommandTestFunctions { - private ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE, Color.WHITE); + private final ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE, Color.WHITE); @Before public void setUp() throws Exception { @@ -45,10 +45,185 @@ public class ColorModelCommandTest extends CommandTestFunctions { } @Test - public void testColorFullModel() throws Exception { + public void testAliasMatchWithInvalidElementId() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.setName(null); + colorSchema.setElementId("1"); + + BioEntity protein = new GenericProtein("id"); + protein.setName("test"); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertFalse(factory.match(protein, colorSchema)); + + colorSchema.setElementId(null); + assertTrue(factory.match(protein, colorSchema)); + } + + @Test + public void testSpeciesMatchWithProteinType() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.setName("s1"); + colorSchema.addType(Protein.class); + + GenericProtein species = new GenericProtein("id"); + species.setName("s1"); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertTrue(factory.match(species, colorSchema)); + } + + @Test + public void testSpeciesMatchWithMiriamData() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.setName("s1"); + colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); + + GenericDataOverlayEntry colorSchema2 = new GenericDataOverlayEntry(); + colorSchema2.setName("s1"); + colorSchema2.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "PARK7")); + + GenericProtein species = new GenericProtein("id"); + species.setName("s1"); + species.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertTrue(factory.match(species, colorSchema)); + assertFalse(factory.match(species, colorSchema2)); + } + + @Test + public void testSpeciesMatchWithMiriamDataDifferentAnnotator() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.setName("s1"); + colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); + + GenericProtein species = new GenericProtein("id"); + species.setName("s1"); + species.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA", Object.class)); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertTrue(factory.match(species, colorSchema)); + } + + @Test + public void testReactionMatchWithProteinMiriamData() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); + + Reaction reaction = new Reaction("re"); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertFalse(factory.match(reaction, colorSchema)); + } + + @Test + public void testReactionMatchWithMiriamData() { + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); + + Reaction reaction = new Reaction("re"); + reaction.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); + + assertTrue(factory.match(reaction, colorSchema)); + } + + + @Test + public void testGetModifiedElements() { + Reaction reaction = new Reaction("re"); + reaction.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); + + Model model = new ModelFullIndexed(null); + model.addReaction(reaction); + + GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); + colorSchema.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); + + List<DataOverlayEntry> schemas = new ArrayList<>(); + schemas.add(colorSchema); + + ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); + + assertNotNull(factory.getModifiedElements().get(reaction)); + } + + @Test + public void testApplyColorToReaction() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + reaction.setIdReaction("re1"); + model.addReaction(reaction); + + DataOverlayEntry schema = new GenericDataOverlayEntry(); + schema.setElementId("re1"); + schema.setColor(Color.YELLOW); + schema.setName(null); + + ColorModelCommand factory = new ColorModelCommand(model, new ArrayList<>(), colorExtractor); + + factory.applyColor(reaction, schema); + + assertEquals(Color.YELLOW, reaction.getLine().getColor()); + } + + @Test + public void testColorTranscriptionFactor() { + Model model = new ModelFullIndexed(null); + + Gene gene = createGene(); + TranscriptionSite site = new TranscriptionSite(); + site.setBorderColor(Color.YELLOW); + gene.addTranscriptionSite(site); + model.addElement(gene); + + ColorModelCommand factory = new ColorModelCommand(model, new ArrayList<>(), colorExtractor); + factory.execute(); + + assertEquals(Color.BLACK, site.getBorderColor()); + } + + + @Test + public void testColorFullModel() { ModelComparator comparator = new ModelComparator(); - Model model = getModelForFile("testFiles/sample.xml", false); - Model model2 = getModelForFile("testFiles/sample.xml", false); + Model model = createSimpleModel(); + GenericProtein protein = createProteinWithLayout(); + protein.setElementId("sa14"); + protein.setName("CNC"); + model.addElement(protein); + + Model model2 = copyModel(model); + Model coloredModel = new CopyCommand(model).execute(); List<DataOverlayEntry> schemas = new ArrayList<>(); @@ -58,20 +233,32 @@ public class ColorModelCommandTest extends CommandTestFunctions { schemas.add(schema); ColorModelCommand factory = new ColorModelCommand(coloredModel, schemas, colorExtractor); - assertFalse(Color.RED.equals(coloredModel.getElementByElementId("sa14").getFillColor())); + assertNotEquals(Color.RED, coloredModel.getElementByElementId("sa14").getFillColor()); factory.execute(); assertEquals(0, comparator.compare(model, model2)); - assertFalse(comparator.compare(model, coloredModel) == 0); + assertNotEquals(0, comparator.compare(model, coloredModel)); assertEquals(Color.RED, coloredModel.getElementByElementId("sa14").getFillColor()); } + private Model copyModel(final Model model) { + return new CopyCommand(model).execute(); + } + @Test - public void testColoring2() throws Exception { - Model model = getModelForFile("testFiles/coloring_model.xml", true); + public void testColoring2() { + Model model = createSimpleModel(); + GenericProtein protein = createProteinWithLayout(); + protein.addMiriamData(new MiriamData(MiriamType.HGNC, "11138")); + model.addElement(protein); + + Gene gene = createGene(); + gene.addMiriamData(new MiriamData(MiriamType.CHEBI, "CHEBI:15377")); + model.addElement(gene); + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.addMiriamData(new MiriamData(MiriamType.HGNC, "11138")); @@ -93,8 +280,13 @@ public class ColorModelCommandTest extends CommandTestFunctions { } @Test - public void testColorTheSameElementTwiceUsingDifferentSelector() throws Exception { - Model model = getModelForFile("testFiles/coloring_model.xml", true); + public void testColorTheSameElementTwiceUsingDifferentSelector() { + Model model = createSimpleModel(); + GenericProtein protein = createProteinWithLayout(); + protein.setName("SNCA"); + protein.addMiriamData(new MiriamData(MiriamType.HGNC, "11138")); + model.addElement(protein); + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.addMiriamData(new MiriamData(MiriamType.HGNC, "11138")); @@ -108,67 +300,93 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> modifiedElements = factory.getModifiedElements(); - assertEquals(1, modifiedElements.keySet().size()); + assertEquals(1, modifiedElements.size()); } @Test - public void testReactionColoring1() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); - Reaction re4 = model.getReactionByReactionId("re4"); - Collection<DataOverlayEntry> schemas = new ArrayList<DataOverlayEntry>(); + public void testReactionColoring1() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + reaction.getNodes().get(0).getLine().setColor(Color.RED); + model.addReaction(reaction); + + Collection<DataOverlayEntry> schemas = new ArrayList<>(); ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); - assertFalse(Color.BLACK.equals(re4.getNodes().get(0).getLine().getColor())); + assertNotEquals(Color.BLACK, reaction.getNodes().get(0).getLine().getColor()); factory.execute(); - re4 = model.getReactionByReactionId("re4"); + reaction = model.getReactionByReactionId(reaction.getIdReaction()); - assertEquals(Color.BLACK, re4.getNodes().get(0).getLine().getColor()); + assertEquals(Color.BLACK, reaction.getNodes().get(0).getLine().getColor()); } @Test - public void testReactionColoring2() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); - Reaction re1 = model.getReactionByReactionId("re1"); - Collection<DataOverlayEntry> schemas = new ArrayList<DataOverlayEntry>(); + public void testReactionColoring2() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); + + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re1"); + schema.setElementId(reaction.getIdReaction()); schema.setColor(Color.RED); schemas.add(schema); ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); - assertEquals(Color.BLACK, re1.getNodes().get(0).getLine().getColor()); + assertEquals(Color.BLACK, reaction.getNodes().get(0).getLine().getColor()); factory.execute(); - re1 = model.getReactionByReactionId("re1"); + reaction = model.getReactionByReactionId(reaction.getIdReaction()); - assertEquals(Color.RED, re1.getNodes().get(0).getLine().getColor()); + assertEquals(Color.RED, reaction.getNodes().get(0).getLine().getColor()); } @Test - public void testReactionColoring3() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); - Reaction re2 = model.getReactionByReactionId("re2"); - Collection<DataOverlayEntry> schemas = new ArrayList<DataOverlayEntry>(); + public void testReactionColoring3() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); + + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re2"); + schema.setElementId(reaction.getIdReaction()); schema.setValue(-1.0); schemas.add(schema); ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); - assertEquals(Color.BLACK, re2.getNodes().get(0).getLine().getColor()); + assertEquals(Color.BLACK, reaction.getNodes().get(0).getLine().getColor()); factory.execute(); - re2 = model.getReactionByReactionId("re2"); + reaction = model.getReactionByReactionId(reaction.getIdReaction()); - assertEquals(Color.RED, re2.getNodes().get(0).getLine().getColor()); + assertEquals(Color.RED, reaction.getNodes().get(0).getLine().getColor()); } @Test - public void testReactionColoring4() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); - Reaction re3 = model.getReactionByReactionId("re3"); - Collection<DataOverlayEntry> schemas = new ArrayList<DataOverlayEntry>(); + public void testReactionColoring4() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + reaction.addMiriamData(new MiriamData(MiriamType.PUBMED, "12345")); + model.addReaction(reaction); + + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.addMiriamData(new MiriamData(MiriamType.PUBMED, "12345")); schema.setValue(-1.0); @@ -176,18 +394,22 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); - assertEquals(Color.BLACK, re3.getNodes().get(0).getLine().getColor()); + assertEquals(Color.BLACK, reaction.getNodes().get(0).getLine().getColor()); factory.execute(); - re3 = model.getReactionByReactionId("re3"); + reaction = model.getReactionByReactionId(reaction.getIdReaction()); - assertEquals(Color.RED, re3.getNodes().get(0).getLine().getColor()); + assertEquals(Color.RED, reaction.getNodes().get(0).getLine().getColor()); } @Test - public void testColoringComplexModel() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); - Model model2 = getModelForFile("testFiles/sample.xml", false); + public void testColoringComplexModel() { + Model model = createSimpleModel(); + Model model2 = createSimpleModel(); + + Protein protein1 = createProteinWithLayout(); + protein1.setFillColor(Color.PINK); + model2.addElement(protein1); model.addSubmodelConnection(new ModelSubmodelConnection(model2, SubmodelType.UNKNOWN, "BLA")); @@ -198,15 +420,22 @@ public class ColorModelCommandTest extends CommandTestFunctions { Model coloredModel2 = coloredModel.getSubmodelConnections().iterator().next().getSubmodel().getModel(); Model coloredModel3 = coloredModel.getSubmodelByConnectionName("BLA"); - assertFalse( - coloredModel2.getElementByElementId("sa2").getFillColor().equals(model2.getElementByElementId("sa2").getFillColor())); - assertFalse( - coloredModel3.getElementByElementId("sa2").getFillColor().equals(model2.getElementByElementId("sa2").getFillColor())); + assertNotEquals(coloredModel2.getElementByElementId(protein1.getElementId()).getFillColor(), + model2.getElementByElementId(protein1.getElementId()).getFillColor()); + assertNotEquals(coloredModel3.getElementByElementId(protein1.getElementId()).getFillColor(), + model2.getElementByElementId(protein1.getElementId()).getFillColor()); } @Test - public void testColoredAliases() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testColoredAliases() { + Model model = createSimpleModel(); + Protein p1 = createProtein(); + p1.setName("CNC"); + model.addElement(p1); + Protein protein = createProtein(); + protein.setName("BDH1"); + model.addElement(protein); + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.setName("CNC"); @@ -226,11 +455,18 @@ public class ColorModelCommandTest extends CommandTestFunctions { } @Test - public void testColoredReactions() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testColoredReactions() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re1"); + schema.setElementId(reaction.getIdReaction()); schema.setLineWidth(3.0); schema.setColor(Color.BLUE); schema.setName("not matching name"); @@ -243,11 +479,18 @@ public class ColorModelCommandTest extends CommandTestFunctions { } @Test - public void testColoredReactions2() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testColoredReactions2() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); + Collection<DataOverlayEntry> schemas = new ArrayList<>(); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re1"); + schema.setElementId(reaction.getIdReaction()); schema.setLineWidth(3.0); schema.setColor(Color.BLUE); schema.setName(null); @@ -259,126 +502,23 @@ public class ColorModelCommandTest extends CommandTestFunctions { assertEquals(1, map.size()); for (Map.Entry<BioEntity, DataOverlayEntry> entry : map.entrySet()) { assertTrue(entry.getKey() instanceof Reaction); - assertEquals("re1", ((Reaction) entry.getKey()).getIdReaction()); + assertEquals(reaction.getIdReaction(), ((Reaction) entry.getKey()).getIdReaction()); assertEquals(entry.getValue(), schema); } } @Test - public void testAliasMatchWithInvalidElementId() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.setName(null); - colorSchema.setElementId("1"); - - BioEntity protein = new GenericProtein("id"); - protein.setName("test"); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertFalse(factory.match(protein, colorSchema)); - - colorSchema.setElementId(null); - assertTrue(factory.match(protein, colorSchema)); - } - - @Test - public void testSpeciesMatchWithProteinType() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.setName("s1"); - colorSchema.addType(Protein.class); - - GenericProtein species = new GenericProtein("id"); - species.setName("s1"); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertTrue(factory.match(species, colorSchema)); - } - - @Test - public void testSpeciesMatchWithMiriamData() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.setName("s1"); - colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); - - GenericDataOverlayEntry colorSchema2 = new GenericDataOverlayEntry(); - colorSchema2.setName("s1"); - colorSchema2.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "PARK7")); - - GenericProtein species = new GenericProtein("id"); - species.setName("s1"); - species.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertTrue(factory.match(species, colorSchema)); - assertFalse(factory.match(species, colorSchema2)); - } - - @Test - public void testSpeciesMatchWithMiriamDataDifferentAnnotator() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.setName("s1"); - colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); - - GenericProtein species = new GenericProtein("id"); - species.setName("s1"); - species.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA", Object.class)); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertTrue(factory.match(species, colorSchema)); - } - - @Test - public void testReactionMatchWithProteinMiriamData() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.addMiriamData(new MiriamData(MiriamType.HGNC_SYMBOL, "SNCA")); - - Reaction reaction = new Reaction("re"); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertFalse(factory.match(reaction, colorSchema)); - } - - @Test - public void testReactionMatchWithMiriamData() throws Exception { - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); - - Reaction reaction = new Reaction("re"); - reaction.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(new ModelFullIndexed(null), schemas, colorExtractor); - - assertTrue(factory.match(reaction, colorSchema)); - } - - @Test - public void testReactionColoringWithModelNotMatching() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); + public void testReactionColoringWithModelNotMatching() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re4"); + schema.setElementId(reaction.getIdReaction()); schema.setName(null); schema.setModelName(model.getName() + "XXX"); @@ -387,15 +527,21 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(0, map.values().size()); + assertEquals(0, map.size()); } @Test - public void testReactionColoringWithModelMatch() throws Exception { - Model model = getModelForFile("testFiles/reactions_to_color.xml", false); + public void testReactionColoringWithModelMatch() { + Model model = createSimpleModel(); + Protein protein1 = createProteinWithLayout(); + Protein protein2 = createProteinWithLayout(); + model.addElement(protein1); + model.addElement(protein2); + Reaction reaction = createReactionWithLayout(protein1, protein1); + model.addReaction(reaction); DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re4"); + schema.setElementId(reaction.getIdReaction()); schema.setName(null); schema.setModelName(model.getName()); @@ -404,12 +550,15 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(1, map.values().size()); + assertEquals(1, map.size()); } @Test - public void testAliasColoringWithModelNotMatching() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testAliasColoringWithModelNotMatching() { + Model model = createSimpleModel(); + Protein p1 = createProtein(); + p1.setName("CNC"); + model.addElement(p1); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.setName("CNC"); @@ -420,12 +569,15 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(0, map.values().size()); + assertEquals(0, map.size()); } @Test - public void testAliasColoringWithModelMatch() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testAliasColoringWithModelMatch() { + Model model = createSimpleModel(); + Protein p1 = createProtein(); + p1.setName("CNC"); + model.addElement(p1); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.setName("CNC"); @@ -436,11 +588,13 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(1, map.values().size()); + assertEquals(1, map.size()); } - public void testAliasColoringWithUnknownElementSourceId() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + @Test + public void testAliasColoringWithUnknownElementSourceId() { + Model model = createSimpleModel(); + model.addElement(createProtein()); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.setElementId("xxx"); @@ -450,12 +604,13 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(0, map.values().size()); + assertEquals(0, map.size()); } @Test - public void testAliasColoringWithElementIdMatch() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); + public void testAliasColoringWithElementIdMatch() { + Model model = createSimpleModel(); + model.addElement(createProtein()); DataOverlayEntry schema = new GenericDataOverlayEntry(); schema.setElementId(model.getElements().iterator().next().getElementId()); @@ -465,59 +620,7 @@ public class ColorModelCommandTest extends CommandTestFunctions { ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); Map<BioEntity, DataOverlayEntry> map = factory.getModifiedElements(); - assertEquals(1, map.values().size()); - } - - @Test - public void testGetModifiedElements() throws Exception { - Reaction reaction = new Reaction("re"); - reaction.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); - - Model model = new ModelFullIndexed(null); - model.addReaction(reaction); - - GenericDataOverlayEntry colorSchema = new GenericDataOverlayEntry(); - colorSchema.addMiriamData(new MiriamData(MiriamType.PUBMED, "1234")); - - List<DataOverlayEntry> schemas = new ArrayList<>(); - schemas.add(colorSchema); - - ColorModelCommand factory = new ColorModelCommand(model, schemas, colorExtractor); - - assertNotNull(factory.getModifiedElements().get(reaction)); - } - - @Test - public void testApplyColorToReaction() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); - Reaction re4 = model.getReactionByReactionId("re1"); - - DataOverlayEntry schema = new GenericDataOverlayEntry(); - schema.setElementId("re1"); - schema.setColor(Color.YELLOW); - schema.setName(null); - - ColorModelCommand factory = new ColorModelCommand(model, new ArrayList<>(), colorExtractor); - - factory.applyColor(re4, schema); - - assertEquals(Color.YELLOW, re4.getLine().getColor()); - } - - @Test - public void testColorTranscriptionFactor() { - Model model = new ModelFullIndexed(null); - - Gene gene = createGene(); - TranscriptionSite site = new TranscriptionSite(); - site.setBorderColor(Color.YELLOW); - gene.addTranscriptionSite(site); - model.addElement(gene); - - ColorModelCommand factory = new ColorModelCommand(model, new ArrayList<>(), colorExtractor); - factory.execute(); - - assertEquals(Color.BLACK, site.getBorderColor()); + assertEquals(1, map.size()); } } diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java index e02274c2ff8704a181ea3814f057b4f69873442d..a9f361fbdfb3148e2b25be8737f7a7f1d8d3fcb4 100644 --- a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java +++ b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java @@ -1,14 +1,16 @@ package lcsb.mapviewer.commands; import lcsb.mapviewer.common.Configuration; +import lcsb.mapviewer.common.tests.TestUtils; import lcsb.mapviewer.common.tests.UnitTestFailedWatcher; -import lcsb.mapviewer.converter.ConverterParams; -import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; +import lcsb.mapviewer.model.cache.UploadedFileEntry; import lcsb.mapviewer.model.graphics.HorizontalAlign; +import lcsb.mapviewer.model.graphics.PolylineData; import lcsb.mapviewer.model.graphics.VerticalAlign; -import lcsb.mapviewer.model.map.Drawable; -import lcsb.mapviewer.model.map.InconsistentModelException; +import lcsb.mapviewer.model.map.layout.graphics.Glyph; +import lcsb.mapviewer.model.map.layout.graphics.LayerImage; +import lcsb.mapviewer.model.map.layout.graphics.LayerRect; +import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelFullIndexed; import lcsb.mapviewer.model.map.reaction.Product; @@ -24,15 +26,14 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Rule; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; +import java.awt.Color; +import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -public abstract class CommandTestFunctions { +public abstract class CommandTestFunctions extends TestUtils { private static final Map<String, Model> models = new HashMap<>(); protected static final double EPSILON = Configuration.EPSILON; @@ -43,27 +44,9 @@ public abstract class CommandTestFunctions { private int counter; - protected Model getModelForFile(final String fileName, final boolean fromCache) throws Exception { - if (!fromCache) { - logger.debug("File without cache: " + fileName); - final Model result = new CellDesignerXmlParser().createModel(new ConverterParams().filename(fileName)); - result.setName("Unknown"); - return result; - } - Model result = models.get(fileName); - if (result == null) { - logger.debug("File to cache: " + fileName); - - final CellDesignerXmlParser parser = new CellDesignerXmlParser(); - result = parser.createModel(new ConverterParams().filename(fileName).sizeAutoAdjust(false)); - result.setName("Unknown"); - models.put(fileName, result); - } - return result; - } - protected Model createSimpleModel() { final Model model = new ModelFullIndexed(null); + model.setName(faker.name().fullName()); final GenericProtein alias = new GenericProtein("alias_id"); assignCoordinates(alias); @@ -89,22 +72,6 @@ public abstract class CommandTestFunctions { return model; } - protected Model serializeViaCellDesigner(final Model original) - throws InconsistentModelException, InvalidInputDataExecption { - final CellDesignerXmlParser parser = new CellDesignerXmlParser(); - final String xmlString = parser.model2String(original); - final InputStream stream = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8)); - final Model result = parser.createModel(new ConverterParams().inputStream(stream).sizeAutoAdjust(false)); - - for (final Drawable bioEntity : original.getDrawables()) { - bioEntity.setZ(null); - } - for (final Drawable bioEntity : result.getDrawables()) { - bioEntity.setZ(null); - } - return result; - } - protected Reaction createReaction(final Protein protein, final Protein protein2) { final Reaction reaction = new TransportReaction("" + counter++); reaction.addReactant(new Reactant(protein)); @@ -112,6 +79,18 @@ public abstract class CommandTestFunctions { return reaction; } + protected Reaction createReactionWithLayout(final Protein protein, final Protein protein2) { + final Reaction reaction = new TransportReaction("" + counter++); + Reactant reactant = new Reactant(protein); + reactant.setLine(new PolylineData(new Point2D.Double(protein.getX(), protein.getY()), protein.getCenter())); + Product product = new Product(protein2); + product.setLine(new PolylineData(new Point2D.Double(protein2.getX(), protein2.getY()), protein2.getCenter())); + reaction.addReactant(reactant); + reaction.addProduct(product); + reaction.setLine(new PolylineData(protein.getCenter(), protein2.getCenter())); + return reaction; + } + protected GenericProtein createProtein() { final GenericProtein result = new GenericProtein("" + counter++); result.setWidth((Double) null); @@ -121,6 +100,15 @@ public abstract class CommandTestFunctions { return result; } + protected GenericProtein createProteinWithLayout() { + final GenericProtein result = createProtein(); + result.setWidth(faker.number().numberBetween(100, 200)); + result.setHeight(faker.number().numberBetween(100, 200)); + result.setX(faker.number().numberBetween(100, 200)); + result.setY(faker.number().numberBetween(100, 200)); + return result; + } + protected Gene createGene() { final Gene result = new Gene("" + counter++); return result; @@ -155,4 +143,38 @@ public abstract class CommandTestFunctions { element.setNameHorizontalAlign(HorizontalAlign.CENTER); } + protected LayerRect createLayerRect() { + LayerRect layerRect = new LayerRect(); + layerRect.setBorderColor(Color.BLUE); + layerRect.setFillColor(Color.YELLOW); + return layerRect; + } + + protected LayerImage createLayerImage() { + LayerImage layerImage = new LayerImage(); + layerImage.setGlyph(createGlyph()); + return layerImage; + } + + protected LayerText createLayerText() { + LayerText layerText = new LayerText(); + layerText.setGlyph(createGlyph()); + layerText.setFillColor(Color.YELLOW); + layerText.setNotes(faker.lorem().sentence()); + return layerText; + } + + protected Glyph createGlyph() { + Glyph glyph = new Glyph(); + glyph.setFile(createFile()); + return glyph; + } + + private UploadedFileEntry createFile() { + UploadedFileEntry file = new UploadedFileEntry(); + file.setOriginalFileName(faker.file().fileName()); + return file; + } + + } diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java index c9d4eeb036f26bd1da4cddec937eb61797703b1d..a75ff5b35a5e8fd6374800a16ec68864f0ed636e 100644 --- a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java +++ b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java @@ -5,8 +5,6 @@ import lcsb.mapviewer.model.graphics.PolylineData; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.SquareCompartment; -import lcsb.mapviewer.model.map.kinetics.SbmlFunction; -import lcsb.mapviewer.model.map.kinetics.SbmlParameter; import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.model.Author; import lcsb.mapviewer.model.map.model.ElementSubmodelConnection; @@ -38,7 +36,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; public class CopyCommandTest extends CommandTestFunctions { @@ -54,38 +51,6 @@ public class CopyCommandTest extends CommandTestFunctions { private int counter = 0; - @Test - public void testCopyModel() throws Exception { - Model model = getModelForFile("testFiles/sample.xml", false); - Model copy = new CopyCommand(model).execute(); - - assertEquals(0, comparator.compare(model, copy)); - } - - @Test - public void testCopyModelWithKinetics() throws Exception { - Model model = getModelForFile("testFiles/kinetics_with_compartment.xml", false); - Model copy = new CopyCommand(model).execute(); - - assertEquals(0, comparator.compare(model, copy)); - for (final Reaction reaction : copy.getReactions()) { - if (reaction.getKinetics() != null) { - for (final Element element : reaction.getKinetics().getElements()) { - assertTrue("Element in the copy doesn't belong to copy", copy.getElements().contains(element)); - } - for (final SbmlFunction function : reaction.getKinetics().getFunctions()) { - assertTrue("Function in the copy doesn't belong to copy", copy.getFunctions().contains(function)); - } - for (final SbmlParameter parameter : reaction.getKinetics().getParameters()) { - if (parameter.getParameterId().equals("k2")) { - assertTrue("Global parameter in the function copy doesn't belong to copy", - copy.getParameters().contains(parameter)); - } - } - } - } - } - @Test public void testCopyCustomModel() { Model model = new ModelFullIndexed(null); @@ -122,45 +87,6 @@ public class CopyCommandTest extends CommandTestFunctions { assertEquals(0, comparator.compare(model, copy)); } - @Test - public void testCopyModel3() throws Exception { - Model model = getModelForFile("testFiles/complex_with_state.xml", true); - - Model copy = new CopyCommand(model).execute(); - - Model copy2 = serializeViaCellDesigner(copy); - - // check if after conversion to xml everything works - assertEquals(0, comparator.compare(copy, copy2)); - } - - @Test - public void testCopyModel4() throws Exception { - Model model = getModelForFile("testFiles/problematic_description.xml", true); - - Model copy = new CopyCommand(model).execute(); - - Model copy2 = serializeViaCellDesigner(copy); - - // check if after conversion to xml everything works - assertEquals(0, comparator.compare(copy, copy2)); - } - - @Test - public void testCopyModelWithArtificialAliases() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - new CreateHierarchyCommand(model, 2, 2).execute(); - - Model copy = new CopyCommand(model).execute(); - - Model copy2 = serializeViaCellDesigner(copy); - - new CreateHierarchyCommand(copy2, 2, 2).execute(); - - // check if after conversion to xml everything works - assertEquals(0, comparator.compare(copy, copy2)); - } - @Test public void testCopyModelWithSubmodels() throws Exception { Model model = getModel(); @@ -389,16 +315,4 @@ public class CopyCommandTest extends CommandTestFunctions { } } - - @Test - public void testCopyModelWithProject() throws Exception { - Model originalModel = getModelForFile("testFiles/sample.xml", false); - Project project = new Project(); - project.addModel(originalModel); - - Model colorModel = new CopyCommand(originalModel).execute(); - - assertNotEquals(originalModel.getProject(), colorModel.getProject()); - } - } diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java index 323d0ad0eb31da3a306e22afe24db1cd6f471129..32dc9dbba304d7fda63c5f9df8cb6554075bd9f3 100644 --- a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java +++ b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java @@ -1,38 +1,19 @@ package lcsb.mapviewer.commands; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.awt.Color; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import lcsb.mapviewer.common.exception.InvalidStateException; -import lcsb.mapviewer.converter.ConverterParams; -import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; -import lcsb.mapviewer.model.map.compartment.Compartment; import lcsb.mapviewer.model.map.compartment.PathwayCompartment; import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.layout.graphics.LayerRect; import lcsb.mapviewer.model.map.layout.graphics.LayerText; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelFullIndexed; -import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Protein; -import lcsb.mapviewer.model.map.species.Species; -import lcsb.mapviewer.modelutils.map.ElementUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; public class CreateHierarchyCommandTest extends CommandTestFunctions { @@ -45,271 +26,11 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions { } @Test - public void testCyclicComplexes() throws Exception { - Model model = getModelForFile("testFiles/cyclic_hierarchy_problem.xml", false); - - new CreateHierarchyCommand(model, 8, 80).execute(); - - Species alias = model.getElementByElementId("sa5033"); - - Set<Element> parents = new HashSet<Element>(); - while (alias.getComplex() != null) { - assertFalse("Cyclic nesting", parents.contains(alias.getComplex())); - alias = alias.getComplex(); - parents.add(alias); - } - - Set<String> levels = new HashSet<>(); - for (final Element a : model.getElements()) { - levels.add(a.getVisibilityLevel()); - } - assertTrue(levels.size() > 2); - } - - @Test - public void testCreateHierachy() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - new CreateHierarchyCommand(model, 2, 2).execute(); - // check if second call will throw an exception... - new CreateHierarchyCommand(model, 2, 2).execute(); - } - - @Test - public void testCreateHierachy2() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - new CreateHierarchyCommand(model, 2, 2).execute(); - - boolean artifitial = false; - for (final Compartment a : model.getCompartments()) { - if (a instanceof PathwayCompartment) { - artifitial = true; - } - } - assertTrue("No hierarchical structure element found", artifitial); - } - - @Test - public void testRecreateHierachy() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - int aliasSize0 = model.getCompartments().size(); - - new CreateHierarchyCommand(model, 2, 2).execute(); - - int aliasSize = model.getCompartments().size(); - - assertTrue(aliasSize0 != aliasSize); - new CreateHierarchyCommand(model, 2, 2).execute(); - - int aliasSize2 = model.getCompartments().size(); - - assertEquals(aliasSize, aliasSize2); - } - - @Test - public void testParenting() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - new CreateHierarchyCommand(model, 2, 2).execute(); - - assertFalse(model.getElementByElementId("sa1").getCompartment() instanceof PathwayCompartment); - } - - @Test - public void testCreateComponentsMinVisibility() throws Exception { - double zoomFactor = 39.0625; - int levels = 6; - - Model model = getModelForFile("testFiles/other_full/GSTP1 subnetwork_220214.xml", false); - - new CreateHierarchyCommand(model, levels, zoomFactor).execute(); - - for (final Compartment compartment : model.getCompartments()) { - if (compartment.getCompartment() == null) { - int visibilityLevel = Integer.valueOf(compartment.getVisibilityLevel()); - assertTrue("Alias " + compartment.getElementId() + " is not visible at levels highers than " - + compartment.getVisibilityLevel(), visibilityLevel <= 1); - } - } - - for (final Species species : model.getSpeciesList()) { - if (species.getCompartment() == null) { - int visibilityLevel = Integer.valueOf(species.getVisibilityLevel()); - assertTrue("Alias " + species.getElementId() + " is not visible at levels highers than " - + species.getVisibilityLevel(), visibilityLevel <= 1); - } - } - } - - @Test - public void testCreateComponentsMaxVisibility() throws Exception { - double zoomFactor = 39.0625; - int levels = 6; - - Model model = getModelForFile("testFiles/other_full/GSTP1 subnetwork_220214.xml", false); - - new CreateHierarchyCommand(model, levels, zoomFactor).execute(); - - for (final Element element : model.getElements()) { - int visibilityLevel = Integer.valueOf(element.getVisibilityLevel()); - assertTrue("Alias " + element.getElementId() + " is not visible even at the bottom level (visibility: " - + element.getVisibilityLevel() + ") ", visibilityLevel <= levels); - } - } - - @Test - public void testCompactComplexesInNestedView() throws Exception { - Model model = getModelForFile("testFiles/problematic/compact_complex_view_problem.xml", false); - Element alias = model.getElementByElementId("sa1"); - Object parent1 = alias.getCompartment(); - new CreateHierarchyCommand(model, 3, 16).execute(); - Object parent2 = alias.getCompartment(); - assertEquals(parent1, parent2); - } - - @Test(expected = InvalidStateException.class) - public void testRecallHierachyCreation() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - CreateHierarchyCommand command = new CreateHierarchyCommand(model, 2, 2); - command.execute(); - command.execute(); - } - - @Test - public void testClear() throws Exception { - Model model = getModelForFile("testFiles/artifitial_compartments.xml", false); - - CreateHierarchyCommand command = new CreateHierarchyCommand(model, 2, 2); - command.clean(); - for (final Element alias : model.getElements()) { - assertNull(alias.getCompartment()); - } - for (final Compartment alias : model.getCompartments()) { - assertNull(alias.getCompartment()); - assertTrue(alias.getElements().isEmpty()); - } - } - - @Test - public void testNestedProblem() throws Exception { - CellDesignerXmlParser parser = new CellDesignerXmlParser(); - Model model = parser - .createModel(new ConverterParams().filename("testFiles/nested_test.xml").sizeAutoAdjust(true)); - - double zoomFactor = Math.max(model.getHeight(), model.getWidth()) / (256); - int zoomLevels = (int) Math.ceil(Math.log(zoomFactor) / Math.log(2)); - - CreateHierarchyCommand command = new CreateHierarchyCommand(model, zoomLevels, zoomFactor); - command.execute(); - - for (final Element alias : model.getElements()) { - Element parentAlias = alias.getCompartment(); - if (parentAlias != null) { - int parentVisibilityLevel = Integer.valueOf(parentAlias.getVisibilityLevel()); - int aliasVisibilityLevel = Integer.valueOf(alias.getVisibilityLevel()); - assertTrue(aliasVisibilityLevel >= parentVisibilityLevel); - } - if (alias instanceof Species) { - parentAlias = ((Species) alias).getComplex(); - if (parentAlias != null) { - int parentVisibilityLevel = Integer.valueOf(parentAlias.getVisibilityLevel()); - int aliasVisibilityLevel = Integer.valueOf(alias.getVisibilityLevel()); - assertTrue(aliasVisibilityLevel >= parentVisibilityLevel); - } - } - } - } - - @Test - public void testDisconnectedChildInComplex() throws Exception { - Model model = getModelForFile("testFiles/problematic/disconnected_child_in_complex.xml", false); - - new CreateHierarchyCommand(model, 8, 80).execute(); - - CellDesignerXmlParser parser = new CellDesignerXmlParser(); - String xmlString = parser.model2String(model); - - InputStream stream = new ByteArrayInputStream(xmlString.getBytes(StandardCharsets.UTF_8)); - - parser.createModel(new ConverterParams().inputStream(stream)); - } - - @Test - public void testHierarchyWithCustomSemanticZooming() throws Exception { - Model model = getModelForFile("testFiles/custom_semantic_zooming.xml", false); - - Map<Element, String> visibilityLevels = new HashMap<>(); - for (final Element element : model.getElements()) { - if (element.getVisibilityLevel() != null && !element.getVisibilityLevel().isEmpty()) { - visibilityLevels.put(element, element.getVisibilityLevel()); - } - } - - new CreateHierarchyCommand(model, 4, 80).execute(); - - for (final Element element : model.getElements()) { - if (visibilityLevels.get(element) != null) { - assertEquals("Visibility level changed, but shouldn't", visibilityLevels.get(element), - element.getVisibilityLevel()); - } - } - } - - @Test - public void testHierarchyWithCustomSemanticZoomingPathwayLevels() throws Exception { - ElementUtils eu = new ElementUtils(); - Model model = getModelForFile("testFiles/custom_semantic_zooming.xml", false); - - Map<Element, String> visibilityLevels = new HashMap<>(); - for (final Element element : model.getElements()) { - if (element.getVisibilityLevel() != null && !element.getVisibilityLevel().isEmpty()) { - visibilityLevels.put(element, element.getVisibilityLevel()); - } - } - - new CreateHierarchyCommand(model, 4, 80).execute(); - - for (final Element element : model.getElements()) { - if (visibilityLevels.get(element) == null) { - int visibilityLevel = Integer.parseInt(element.getVisibilityLevel()); - if (element.getCompartment() != null) { - int parentTransparency = Integer.parseInt(element.getCompartment().getTransparencyLevel()); - assertEquals( - eu.getElementTag(element) + eu.getElementTag(element.getCompartment()) - + "Element should be directly visible when parent is transparent", - parentTransparency, visibilityLevel); - } else if (element instanceof Species) { - int parentTransparency = Integer.parseInt(((Species) element).getComplex().getTransparencyLevel()); - assertEquals( - eu.getElementTag(element) + eu.getElementTag(((Species) element).getComplex()) - + "Element should be directly visible when parent is transparent", - parentTransparency, visibilityLevel); - } - } - } - } - - @Test - public void testLayerWithNotes() throws Exception { - Model model = getModelForFile("testFiles/layer_text_with_notes.xml", false); - - new CreateHierarchyCommand(model, 4, 80).execute(); - - PathwayCompartment pathway = (PathwayCompartment) model.getCompartments().get(0); - - assertEquals("test", pathway.getName()); - assertEquals("5", pathway.getVisibilityLevel()); - assertEquals((Integer) 11, pathway.getZ()); - } - - @Test - public void testCreatePathwayFromRectangle() throws Exception { + public void testCreatePathwayFromRectangle() { Model model = new ModelFullIndexed(null); Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); LayerRect layerRect = createLayerRect(); layer.addLayerRect(layerRect); model.addLayer(layer); @@ -322,18 +43,12 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions { assertEquals(pathway.getBorderColor(), pathway.getFontColor()); } - private LayerRect createLayerRect() { - LayerRect layerRect = new LayerRect(); - layerRect.setBorderColor(Color.BLUE); - layerRect.setFillColor(Color.YELLOW); - return layerRect; - } - @Test public void testCreatePathwayWhenIdIsTaken() throws Exception { Model model = new ModelFullIndexed(null); Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); LayerRect layerRect = createLayerRect(); layer.addLayerRect(layerRect); LayerRect layerRect2 = createLayerRect(); @@ -362,6 +77,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions { Model model = new ModelFullIndexed(null); Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); LayerText layerText = new LayerText(); layerText.setNotes("colors check\n" + "SemanticZoomLevelVisibility: 3\n" @@ -394,7 +110,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions { Model model = new ModelFullIndexed(null); Layer layer = new Layer(); - layer.setName(CreateHierarchyCommand.TEXT_LAYER_NAME); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME + "blah"); LayerRect layerRect = createLayerRect(); layer.addLayerRect(layerRect); model.addLayer(layer); @@ -405,4 +121,40 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions { assertEquals(0, model.getCompartments().size()); } + @Test + public void deletePathwayLayer() { + Model model = new ModelFullIndexed(null); + + Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME); + LayerRect layerRect = createLayerRect(); + layer.addLayerRect(layerRect); + model.addLayer(layer); + + CreateHierarchyCommand command = new CreateHierarchyCommand(model, 4, 80); + command.createArtificials(); + + PathwayCompartment pathway = (PathwayCompartment) model.getCompartments().get(0); + + assertEquals(0, model.getLayers().size()); + } + + @Test + public void testCreateImageFromText() { + Model model = new ModelFullIndexed(null); + + Layer layer = new Layer(); + layer.setName(CreateHierarchyCommand.PATHWAY_LAYER_NAME + "blah"); + LayerText layerText = createLayerText(); + layer.addLayerText(layerText); + model.addLayer(layer); + + CreateHierarchyCommand command = new CreateHierarchyCommand(model, 4, 80); + command.createArtificials(); + + assertEquals(0, model.getCompartments().size()); + assertEquals(1, layer.getImages().size()); + assertEquals(0, layer.getTexts().size()); + } + } diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/MoveElementsCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/MoveElementsCommandTest.java deleted file mode 100644 index 1af849f468c5a51d974f2c0a79be9d8d04a82350..0000000000000000000000000000000000000000 --- a/model-command/src/test/java/lcsb/mapviewer/commands/MoveElementsCommandTest.java +++ /dev/null @@ -1,241 +0,0 @@ -package lcsb.mapviewer.commands; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.awt.geom.Rectangle2D; -import java.util.ArrayList; -import java.util.List; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; - -import lcsb.mapviewer.common.Configuration; -import lcsb.mapviewer.common.exception.InvalidArgumentException; -import lcsb.mapviewer.model.map.BioEntity; -import lcsb.mapviewer.model.map.model.Model; -import lcsb.mapviewer.model.map.model.ModelComparator; -import lcsb.mapviewer.model.map.reaction.Reaction; -import lcsb.mapviewer.model.map.species.Element; - -public class MoveElementsCommandTest extends CommandTestFunctions { - - private ModelComparator modelComparator = new ModelComparator(); - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testMoveAlias() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - Model model2 = getModelForFile("testFiles/spliting_test_Case.xml", false); - Element alias = model.getElementByElementId("sa2"); - Element alias2 = model.getElementByElementId("sa1"); - double anotherAliasX = alias2.getX(); - double anotherAliasY = alias2.getY(); - - List<BioEntity> list = new ArrayList<>(); - list.add(alias); - double x = alias.getX(); - double y = alias.getY(); - - double dx = 10; - double dy = 2; - - // models should be equal before move - assertEquals(0, modelComparator.compare(model, model2)); - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, dx, dy); - moveCommand.execute(); - - // after move models should be different - assertTrue(0 != modelComparator.compare(model, model2)); - - // check new coordinates - assertEquals(x + dx, alias.getX(), Configuration.EPSILON); - assertEquals(y + dy, alias.getY(), Configuration.EPSILON); - - // and check if another alias didn't change coordinates - assertEquals(anotherAliasX, alias2.getX(), Configuration.EPSILON); - assertEquals(anotherAliasY, alias2.getY(), Configuration.EPSILON); - - list = new ArrayList<>(); - list.add(model2.getElementByElementId("sa2")); - MoveElementsCommand moveCommand2 = new MoveElementsCommand(model2, list, dx, dy); - moveCommand2.execute(); - - // if we perform the same operator on the second model then they should be - // equal - assertEquals(0, modelComparator.compare(model, model2)); - } - - @Test(expected = InvalidArgumentException.class) - public void testMoveSpecies() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - List<BioEntity> list = new ArrayList<>(); - list.add(Mockito.mock(BioEntity.class)); - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, 10, 10); - moveCommand.execute(); - } - - @Test - public void testAliasWithReaction() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - Model model2 = getModelForFile("testFiles/spliting_test_Case.xml", false); - Element alias = model.getElementByElementId("sa1"); - Element alias2 = model.getElementByElementId("sa2"); - double anotherAliasX = alias2.getX(); - double anotherAliasY = alias2.getY(); - Reaction reaction = model.getReactionByReactionId("re1"); - - List<BioEntity> list = new ArrayList<>(); - list.add(alias); - double x = reaction.getReactants().get(0).getLine().getStartPoint().getX(); - double y = reaction.getReactants().get(0).getLine().getStartPoint().getY(); - - double dx = 10; - double dy = 2; - - // models should be equal before move - assertEquals(0, modelComparator.compare(model, model2)); - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, dx, dy); - moveCommand.execute(); - - // after move models should be different - assertTrue(0 != modelComparator.compare(model, model2)); - - // check new coordinates of reaction - assertEquals(x + dx, reaction.getReactants().get(0).getLine().getStartPoint().getX(), Configuration.EPSILON); - assertEquals(y + dy, reaction.getReactants().get(0).getLine().getStartPoint().getY(), Configuration.EPSILON); - - // and check if another alias didn't change coordinates - assertEquals(anotherAliasX, alias2.getX(), Configuration.EPSILON); - assertEquals(anotherAliasY, alias2.getY(), Configuration.EPSILON); - - list = new ArrayList<>(); - list.add(model2.getElementByElementId("sa1")); - MoveElementsCommand moveCommand2 = new MoveElementsCommand(model2, list, dx, dy); - moveCommand2.execute(); - - // if we perform the same operator on the second model then they should be - // equal - assertEquals(0, modelComparator.compare(model, model2)); - } - - @Test - public void testMoveReaction() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - Element alias2 = model.getElementByElementId("sa1"); - double anotherAliasX = alias2.getX(); - double anotherAliasY = alias2.getY(); - Reaction reaction = model.getReactionByReactionId("re1"); - - List<BioEntity> list = new ArrayList<>(); - list.add(reaction); - double x = reaction.getReactants().get(0).getLine().getStartPoint().getX(); - double y = reaction.getReactants().get(0).getLine().getStartPoint().getY(); - - double x2 = reaction.getReactants().get(0).getLine().getEndPoint().getX(); - double y2 = reaction.getReactants().get(0).getLine().getEndPoint().getY(); - - double dx = 10; - double dy = 2; - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, dx, dy); - moveCommand.execute(); - - // check new coordinates of reaction (point attached to alias shouldn't - // move, the one not attached should move) - assertEquals(x, reaction.getReactants().get(0).getLine().getStartPoint().getX(), Configuration.EPSILON); - assertEquals(y, reaction.getReactants().get(0).getLine().getStartPoint().getY(), Configuration.EPSILON); - assertEquals(x2 + dx, reaction.getReactants().get(0).getLine().getEndPoint().getX(), Configuration.EPSILON); - assertEquals(y2 + dy, reaction.getReactants().get(0).getLine().getEndPoint().getY(), Configuration.EPSILON); - - // and check if another alias didn't change coordinates - assertEquals(anotherAliasX, alias2.getX(), Configuration.EPSILON); - assertEquals(anotherAliasY, alias2.getY(), Configuration.EPSILON); - } - - @Test - public void testUndo() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - Model model2 = getModelForFile("testFiles/spliting_test_Case.xml", false); - Element alias = model.getElementByElementId("sa2"); - - List<BioEntity> list = new ArrayList<>(); - list.add(alias); - - double dx = 10; - double dy = 2; - - // models should be equal before move - assertEquals(0, modelComparator.compare(model, model2)); - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, dx, dy); - moveCommand.execute(); - - // after move models should be different - assertTrue(0 != modelComparator.compare(model, model2)); - - // undo command - moveCommand.undo(); - - // after undo they should be the same again - assertEquals(0, modelComparator.compare(model, model2)); - - moveCommand.redo(); - - // after redo they should be different again - assertTrue(0 != modelComparator.compare(model, model2)); - } - - @Test - public void testGetAffectedRegion() throws Exception { - Model model = getModelForFile("testFiles/spliting_test_Case.xml", false); - Element alias = model.getElementByElementId("sa2"); - - List<BioEntity> list = new ArrayList<>(); - list.add(alias); - double x = alias.getX(); - double y = alias.getY(); - - double dx = 10; - double dy = 2; - - double minx = x; - double maxx = alias.getWidth() + x + dx; - - double miny = y; - double maxy = alias.getHeight() + y + dy; - - MoveElementsCommand moveCommand = new MoveElementsCommand(model, list, dx, dy); - assertNull(moveCommand.getAffectedRegion()); - moveCommand.execute(); - assertNotNull(moveCommand.getAffectedRegion()); - Rectangle2D affectedRegion = moveCommand.getAffectedRegion(); - assertEquals(minx, affectedRegion.getX(), Configuration.EPSILON); - assertEquals(miny, affectedRegion.getY(), Configuration.EPSILON); - assertEquals(maxx, affectedRegion.getX() + affectedRegion.getWidth(), Configuration.EPSILON); - assertEquals(maxy, affectedRegion.getY() + affectedRegion.getHeight(), Configuration.EPSILON); - - moveCommand.undo(); - - affectedRegion = moveCommand.getAffectedRegion(); - assertEquals(minx, affectedRegion.getX(), Configuration.EPSILON); - assertEquals(miny, affectedRegion.getY(), Configuration.EPSILON); - assertEquals(maxx, affectedRegion.getX() + affectedRegion.getWidth(), Configuration.EPSILON); - assertEquals(maxy, affectedRegion.getY() + affectedRegion.getHeight(), Configuration.EPSILON); - } - -} diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteFieldTest.java b/model-command/src/test/java/lcsb/mapviewer/utils/NoteFieldTest.java similarity index 85% rename from converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteFieldTest.java rename to model-command/src/test/java/lcsb/mapviewer/utils/NoteFieldTest.java index ebdc23cfcefc0cdebc4d3186dee862592f5d48c8..70f45afb46046cebf0f63fefd8ad0135979c22c7 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/NoteFieldTest.java +++ b/model-command/src/test/java/lcsb/mapviewer/utils/NoteFieldTest.java @@ -1,12 +1,12 @@ -package lcsb.mapviewer.converter.model.celldesigner.annotation; - -import static org.junit.Assert.assertNotNull; +package lcsb.mapviewer.utils; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertNotNull; + public class NoteFieldTest { @AfterClass @@ -22,7 +22,7 @@ public class NoteFieldTest { } @Test - public void testVallues() { + public void testValues() { for (final NoteField field : NoteField.values()) { assertNotNull(NoteField.valueOf(field.toString())); assertNotNull(field.getClazz()); diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java b/model-command/src/test/java/lcsb/mapviewer/utils/RestAnnotationParserTest.java similarity index 85% rename from converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java rename to model-command/src/test/java/lcsb/mapviewer/utils/RestAnnotationParserTest.java index 1ab0102ac738e4bc4d7ab1b1516016ea8ae3263d..adf50fc910fa1b67ef315a979f28e33f985e0160 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java +++ b/model-command/src/test/java/lcsb/mapviewer/utils/RestAnnotationParserTest.java @@ -1,19 +1,15 @@ -package lcsb.mapviewer.converter.model.celldesigner.annotation; +package lcsb.mapviewer.utils; -import lcsb.mapviewer.common.exception.InvalidArgumentException; +import lcsb.mapviewer.commands.CommandTestFunctions; import lcsb.mapviewer.common.exception.NotImplementedException; -import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions; -import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement; import lcsb.mapviewer.model.map.BioEntity; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamType; -import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.reaction.Reaction; -import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.GenericProtein; import lcsb.mapviewer.model.map.species.Species; -import org.apache.xerces.dom.DocumentImpl; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; @@ -30,7 +26,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -public class RestAnnotationParserTest extends CellDesignerTestFunctions { +public class RestAnnotationParserTest extends CommandTestFunctions { @Before public void setUp() throws Exception { @@ -126,7 +122,7 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { assertEquals(1, protein.getSynonyms().size()); assertEquals(1, protein.getFormerSymbols().size()); - assertEquals(6, getWarnings().size()); + Assert.assertEquals(6, getWarnings().size()); } @Test @@ -137,7 +133,7 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { Species proteinAlias = new GenericProtein("id"); parser.processNotes(node.getFirstChild(), proteinAlias); - assertEquals(1, getWarnings().size()); + Assert.assertEquals(1, getWarnings().size()); } @Test @@ -156,26 +152,9 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { parser.processNotes(node.getFirstChild(), reaction); - assertEquals(8, getWarnings().size()); + Assert.assertEquals(8, getWarnings().size()); } - @Test - public void testMoveAnnotationsFromNotes() throws Exception { - Model model = getModelForFile("testFiles/copyingAnnotationModel.xml"); - - Set<Element> elements = model.getElements(); - for (final Element element : elements) { - if (element.getName().equals("blabla")) { - assertEquals(2, element.getMiriamData().size()); - element.getMiriamData() - .add(new MiriamData(MiriamType.PUBMED, "12345")); - element.getMiriamData() - .add(new MiriamData(MiriamType.PUBMED, "333666")); - assertEquals(2, element.getMiriamData().size()); - } - assertFalse(element.getNotes().contains("rdf:RDF")); - } - } @Test public void testProcessRdfDescription() throws Exception { @@ -228,10 +207,9 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { boolean importOnly = rap.isFieldAnnotated(field, ImportOnly.class); if (!deprecated && !importOnly) { - if (field.getClazz().isAssignableFrom(element.getClass()) - || CellDesignerElement.class.isAssignableFrom(field.getClazz())) { + if (field.getClazz().isAssignableFrom(element.getClass())) { assertTrue("Export string doesn't contain info about: " + field.getCommonName(), - str.indexOf(field.getCommonName()) >= 0); + str.contains(field.getCommonName())); } } else { assertEquals("Export string contains info about: " + field.getCommonName() + " but shouldn't", @@ -248,10 +226,9 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { String str = rap.createAnnotationString(element, false); for (final NoteField field : NoteField.values()) { - if (field.getClazz().isAssignableFrom(element.getClass()) - || CellDesignerElement.class.isAssignableFrom(field.getClazz())) { + if (field.getClazz().isAssignableFrom(element.getClass())) { assertFalse("Export string contain info about: " + field.getCommonName() + ". But shouldn't", - str.indexOf(field.getCommonName()) >= 0); + str.contains(field.getCommonName())); } } @@ -264,16 +241,6 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { assertEquals(0, rap.getFormerSymbols(null).size()); } - @Test(expected = InvalidArgumentException.class) - public void testGetNotesInvalid() throws Exception { - RestAnnotationParser rap = new RestAnnotationParser(); - - Document xmlDoc = new DocumentImpl(); - Node node = xmlDoc.createElement("bla"); - - rap.getNotes(node); - } - @Test public void testGetNotesWithMissingBody() throws Exception { RestAnnotationParser rap = new RestAnnotationParser(); @@ -324,7 +291,7 @@ public class RestAnnotationParserTest extends CellDesignerTestFunctions { parser.processNotes(str, new GenericProtein("id")); - assertEquals(1, getWarnings().size()); + Assert.assertEquals(1, getWarnings().size()); } @Test diff --git a/model-command/testFiles/annotation/recon_annotation_example.xml b/model-command/testFiles/annotation/recon_annotation_example.xml new file mode 100644 index 0000000000000000000000000000000000000000..78de9aec3cc93d5a139d505d9deb030091604ca1 --- /dev/null +++ b/model-command/testFiles/annotation/recon_annotation_example.xml @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4"> +<model metaid="untitled" id="untitled"> +<annotation> +<celldesigner:extension> +<celldesigner:modelVersion>4.0</celldesigner:modelVersion> +<celldesigner:modelDisplay sizeX="600" sizeY="400"/> +<celldesigner:listOfCompartmentAliases/> +<celldesigner:listOfComplexSpeciesAliases/> +<celldesigner:listOfSpeciesAliases> +<celldesigner:speciesAlias id="sa1" species="s1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="170.0" y="171.5" w="70.0" h="25.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="70.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa2" species="s2"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="399.0" y="173.5" w="70.0" h="25.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="70.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +</celldesigner:listOfSpeciesAliases> +<celldesigner:listOfGroups/> +<celldesigner:listOfProteins/> +<celldesigner:listOfGenes/> +<celldesigner:listOfRNAs/> +<celldesigner:listOfAntisenseRNAs/> +<celldesigner:listOfLayers/> +<celldesigner:listOfBlockDiagrams/> +</celldesigner:extension> +</annotation> +<listOfUnitDefinitions> +<unitDefinition metaid="substance" id="substance" name="substance"> +<listOfUnits> +<unit metaid="CDMT00003" kind="mole"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="volume" id="volume" name="volume"> +<listOfUnits> +<unit metaid="CDMT00004" kind="litre"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="area" id="area" name="area"> +<listOfUnits> +<unit metaid="CDMT00005" kind="metre" exponent="2"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="length" id="length" name="length"> +<listOfUnits> +<unit metaid="CDMT00006" kind="metre"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="time" id="time" name="time"> +<listOfUnits> +<unit metaid="CDMT00007" kind="second"/> +</listOfUnits> +</unitDefinition> +</listOfUnitDefinitions> +<listOfCompartments> +<compartment metaid="default" id="default" size="1" units="volume"/> +</listOfCompartments> +<listOfSpecies> +<species metaid="s1" id="s1" name="s1" compartment="default" initialAmount="0"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body>Symbol: S1_SYMB +Abbreviation: ABREVIATION +ChargedFormula: FORMULA +Charge: 324 +Synonyms: syn44 +DESCRIPTION +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> +<celldesigner:name>s1</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s1"> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:kegg.compound:C05488"/> +</rdf:Bag> +</bqmodel:is> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A28870"/> +</rdf:Bag> +</bqmodel:is> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hmdb:HMDB03141"/> +</rdf:Bag> +</bqmodel:is> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> +<species metaid="s2" id="s2" name="s2" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> +<celldesigner:name>s2</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +</listOfSpecies> +<listOfReactions> +<reaction metaid="re1" id="re1" reversible="false"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body>Symbol: SAW +Abbreviation: ABREVIATION2 +Formula: FORMULA2 +MechanicalConfidenceScore: 100 +LowerBound: 200.201 +UpperBound: 300.301 +Subsystem: SUBSYSTEM2 +GeneProteinReaction: (urn:miriam:ccds:CCDS8639.1) or (urn:miriam:ccds:CCDS26.1) or (urn:miriam:ccds:CCDS314.2) or (urn:miriam:ccds:CCDS314.1) +Synonyms: SYN1 +DESCRIPTION2 +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"/> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"/> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#re1"> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:15035803"/> +</rdf:Bag> +</bqmodel:is> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:8920635"/> +</rdf:Bag> +</bqmodel:is> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:9653080"/> +</rdf:Bag> +</bqmodel:is> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:ec-code:1.4.3.6"/> +</rdf:Bag> +</bqmodel:is> +</rdf:Description> +</rdf:RDF> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> +</listOfReactions> +</model> +</sbml> diff --git a/model-command/testFiles/annotation/sampleDescription.txt b/model-command/testFiles/annotation/sampleDescription.txt new file mode 100644 index 0000000000000000000000000000000000000000..156cd8860b63618ae22909f26d5a9df24c88b2a0 --- /dev/null +++ b/model-command/testFiles/annotation/sampleDescription.txt @@ -0,0 +1,31 @@ +HGNC_ID: 1464 +Symbol: CAMK4 +Name: calcium/calmodulin-dependent protein kinase IV +Description: RecName: Full=Calcium/calmodulin-dependent protein kinase type IV; Short=CaMK IV; EC=2.7.11.17; AltName: Full=CaM kinase-GR; +Previous Symbols: +Synonyms: CAMK, CAMKIV, CAMK-GR +Chromosome: 5q21-q23 +UniProtKB_Acc: Q16566 +RefSeq_ID: NP_001735.1 +EntrezGene_ID: 814 +Ensembl_ID: ENSP00000282356, ENSG00000152495 , ENST00000282356 +UCSC_ID: uc003kpf.1 +Reactome_ID: REACT_16116 +Pubmed_ID: 2536634 +EMBL_ID: AAA18251.1, AAA35639.1, AAH16695.2, AAH25687.1, BAA06403.1, BC016695, BC025687, CH471086, D30742, EAW49033.1, EAW49034.1, L17000, L24959 +IPI_ID: IPI00430411 +UniGene_ID: Hs.591269 +PDB_ID: 2W4O +DIP_ID: DIP-41997N +MINT_ID: +KEGG_ID: hsa:814 +GeneCards_ID: GC05P110587 +PharmGKB_ID: PA26050 +Pathway_Interaction_DB: hdac_classii_pathway, nfat_3pathway, pi3kplctrkpathway +GO_Function: GO:0004683[calmodulin-dependent protein kinase activity][IEA:EC. ], GO:0005516[calmodulin binding][IEA:UniProtKB-KW. ], GO:0005524[ATP binding][IEA:UniProtKB-KW. ] +GO_Process: GO:0006954[inflammatory response][IEA:UniProtKB-KW. ], GO:0007202[activation of phospholipase C activity][TAS:Reactome. ], GO:0007268[synaptic transmission][TAS:Reactome. ], GO:0007616[long-term memory][IGI:UniProtKB. ], GO:0033081[regulation of T cell differentiation in thymus][TAS:UniProtKB. ], GO:0043011[myeloid dendritic cell differentiation][IMP:UniProtKB. ], GO:0045670[regulation of osteoclast differentiation][TAS:UniProtKB. ], GO:0045893[positive regulation of transcription, DNA-dependent][IDA:UniProtKB. ], GO:0048011[nerve growth factor receptor signaling pathway][TAS:Reactome. ] +GO_Component: GO:0005654[nucleoplasm][TAS:Reactome. ], GO:0005829[cytosol][TAS:Reactome. ] +InterPro: IPR000719, IPR002290, IPR008271, IPR011009, IPR017441, IPR017442, Kinase-like_dom. , Protein_kinase_ATP_BS. , Prot_kinase_cat_dom. , Ser/Thr_kinase_AS. , Ser/Thr_kinase_dom. , Se/Thr_kinase-like_dom. +Pfam: PF00069, Pkinase +PANTHER: +HOVERGEN: HBG108055 \ No newline at end of file diff --git a/model-command/testFiles/other_full/GSTP1 subnetwork_220214.xml b/model-command/testFiles/other_full/GSTP1 subnetwork_220214.xml deleted file mode 100644 index 90b3cdce6bd4a26bacf38f8c78e5bd35ee8429e9..0000000000000000000000000000000000000000 --- a/model-command/testFiles/other_full/GSTP1 subnetwork_220214.xml +++ /dev/null @@ -1,12409 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4"> -<model metaid="untitled" id="untitled"> -<annotation> -<celldesigner:extension> -<celldesigner:modelVersion>4.0</celldesigner:modelVersion> -<celldesigner:modelDisplay sizeX="5000" sizeY="3000"/> -<celldesigner:listOfIncludedSpecies> -<celldesigner:species id="s2203" name="MAPK8"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2202</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr879</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2204" name="GSTP1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2202</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr866</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2227" name="PARK7"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2228</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2229" name="KEAP1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2228</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr888</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2238" name="DAXX"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2240</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr890</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2241" name="PARK7"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2240</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2270" name="GSTP1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2269</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr866</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2271" name="TRAF2"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2269</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr898</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2275" name="DAXX"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2274</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr890</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2276" name="PARK7"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2274</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2279" name="MAP3K5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2278</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr899</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2280" name="DAXX"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2278</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr890</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2302" name="CDK5R1 (p25)"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2316</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr906</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2303" name="CDK5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2316</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr880</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2309" name="CDK5R1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2315</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr904</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2310" name="CDK5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2315</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr880</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2317" name="CDK5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2314</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr880</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2318" name="GSTP1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2314</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr866</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2324" name="E1/E2 domain "> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2323</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr910</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2328" name="PSMA5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2327</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr911</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2330" name="PSMA5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2329</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr911</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2347" name="AMPK beta_br_subunit "> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2346</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>AMPK beta_br_subunit </celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2348" name="PRKAB2"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2347</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr914</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2349" name="PRKAB1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2347</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr913</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2350" name="AMPK beta_br_subunit "> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2353</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>AMPK beta_br_subunit </celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2352" name="PRKAB1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2350</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr913</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2355" name="PRKAB2"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2350</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr914</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2357" name="MAPK3K5"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2358</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr915</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2359" name="TXN"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s2358</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr916</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -</celldesigner:listOfIncludedSpecies> -<celldesigner:listOfCompartmentAliases> -<celldesigner:compartmentAlias id="ca1" compartment="c1"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="97.0" y="750.0" w="1772.0" h="1924.0"/> -<celldesigner:namePoint x="875.5" y="2606.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffcccc00" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca3" compartment="c3"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="2373.0" y="754.0" w="1732.0" h="1936.0"/> -<celldesigner:namePoint x="3213.5" y="2653.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffff6699" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca4" compartment="c5"> -<celldesigner:class>SQUARE_CLOSEUP_EAST</celldesigner:class> -<celldesigner:point x="4521.0" y="1370.0"/> -<celldesigner:namePoint x="3957.5" y="2828.0"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffff3333" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca5" compartment="c5"> -<celldesigner:class>SQUARE_CLOSEUP_WEST</celldesigner:class> -<celldesigner:point x="4828.0" y="944.0"/> -<celldesigner:namePoint x="4825.5" y="2734.0"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffff3333" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca6" compartment="c6"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="4300.0" y="739.0" w="200.0" h="1900.0"/> -<celldesigner:namePoint x="4344.5" y="2598.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffcccc00" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca7" compartment="c7"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="753.0" y="769.0" w="490.0" h="304.0"/> -<celldesigner:namePoint x="818.0" y="1036.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffcccc00" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -<celldesigner:compartmentAlias id="ca8" compartment="c8"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="1562.0" y="785.0" w="201.0" h="276.0"/> -<celldesigner:namePoint x="1633.5" y="807.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffcccc00" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -</celldesigner:listOfCompartmentAliases> -<celldesigner:listOfComplexSpeciesAliases> -<celldesigner:complexSpeciesAlias id="csa2" species="s2200" compartmentAlias="ca8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1604.0" y="1028.0" w="73.0" h="51.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="42.0" y="243.0"/> -<celldesigner:boxSize width="73.0" height="51.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa3" species="s2202" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="629.0" y="1706.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="532.0" y="956.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa4" species="s2228" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="169.0" y="776.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="72.0" y="26.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa5" species="s2240" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="291.0" y="1067.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="194.0" y="317.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa6" species="s2261" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1832.0" y="2236.0" w="84.0" h="79.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1735.0" y="1486.0"/> -<celldesigner:boxSize width="84.0" height="79.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa7" species="s2269" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="949.0" y="1695.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="852.0" y="945.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa20" species="s2358" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="192.0" y="1731.0" w="114.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="95.0" y="981.0"/> -<celldesigner:boxSize width="114.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa9" species="s2278" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="632.0" y="2090.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="535.0" y="1340.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa10" species="s2316" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="722.0" y="1299.0" w="101.0" h="131.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="625.0" y="549.0"/> -<celldesigner:boxSize width="101.0" height="131.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa11" species="s2315" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="123.0" y="1299.0" w="106.0" h="131.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="26.0" y="549.0"/> -<celldesigner:boxSize width="106.0" height="131.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa12" species="s2314" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="295.0" y="1485.0" w="100.0" h="120.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="198.0" y="735.0"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa13" species="s2323" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1323.0" y="1177.0" w="120.0" h="88.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1226.0" y="427.0"/> -<celldesigner:boxSize width="120.0" height="88.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa14" species="s2327" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1078.0" y="1103.0" w="96.0" h="94.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="981.0" y="353.0"/> -<celldesigner:boxSize width="96.0" height="94.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa15" species="s2329" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="1315.5" y="1043.0" w="96.0" h="94.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1218.5" y="293.0"/> -<celldesigner:boxSize width="96.0" height="94.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa18" species="s2346" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="864.25" y="2312.5" w="132.0" h="159.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="767.25" y="1562.5"/> -<celldesigner:boxSize width="132.0" height="159.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa16" species="s2353" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1240.0" y="2308.0" w="127.0" h="166.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1143.0" y="1558.0"/> -<celldesigner:boxSize width="127.0" height="166.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa17" species="s2350" complexSpeciesAlias="csa16"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="1255.0" y="2323.0" w="100.0" h="126.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="15.0" y="15.0"/> -<celldesigner:boxSize width="100.0" height="126.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa19" species="s2347" complexSpeciesAlias="csa18"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="879.25" y="2320.5" w="100.0" h="126.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="15.0" y="8.0"/> -<celldesigner:boxSize width="100.0" height="126.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa8" species="s2274" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="229.0" y="1986.0" w="100.0" h="127.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="132.0" y="1236.0"/> -<celldesigner:boxSize width="100.0" height="127.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -</celldesigner:listOfComplexSpeciesAliases> -<celldesigner:listOfSpeciesAliases> -<celldesigner:speciesAlias id="sa220" species="s2222" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="1112.7777777777774" y="1688.0" w="86.0" h="46.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1015.7777777777774" y="938.0"/> -<celldesigner:boxSize width="86.0" height="46.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff00ccff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa224" species="s2294" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3986.0" y="899.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1613.0" y="145.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa225" species="s2153" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4059.0" y="950.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1686.0" y="196.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa226" species="s2154" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3856.857142857143" y="1038.634920634921" w="97.0" h="28.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1483.8571428571431" y="284.63492063492095"/> -<celldesigner:boxSize width="97.0" height="28.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa227" species="s2155" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4198.857142857143" y="1001.634920634921" w="102.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-322.1428571428569" y="-368.36507936507905"/> -<celldesigner:boxSize width="102.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa228" species="s2157" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3554.857142857143" y="1000.634920634921" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1181.8571428571431" y="246.63492063492095"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa229" species="s2365" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4197.857142857143" y="875.634920634921" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-323.1428571428569" y="-494.36507936507905"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa230" species="s2154" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3962.857142857143" y="1012.634920634921" w="99.0" h="29.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1589.8571428571431" y="258.63492063492095"/> -<celldesigner:boxSize width="99.0" height="29.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa234" species="s2158" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3749.5714285714284" y="926.634920634921" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1376.5714285714284" y="172.63492063492095"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa235" species="s2159" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3651.0" y="927.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1278.0" y="173.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa236" species="s2160" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3388.0" y="930.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1015.0" y="176.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa238" species="s2162" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3313.0" y="1000.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="940.0" y="246.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa239" species="s2163" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3472.0" y="1077.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1099.0" y="323.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa240" species="s2164" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2249.1428571428573" y="1002.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2271.8571428571427" y="-368.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa241" species="s2165" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2340.0" y="931.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-33.0" y="177.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa242" species="s2166" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2348.0" y="1069.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-25.0" y="315.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa244" species="s2167" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2251.0" y="1144.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2270.0" y="-225.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa247" species="s2172" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1816.0" y="1207.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1719.0" y="457.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa250" species="s2175" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2251.7142857142862" y="1284.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2269.2857142857138" y="-86.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa251" species="s2173" compartmentAlias="ca6"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4362.9473684210525" y="876.1954887218044" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="62.94736842105249" y="137.1954887218044"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa252" species="s2174"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4556.9473684210525" y="875.1954887218044" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa253" species="s2176" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1823.0" y="1373.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1726.0" y="623.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa254" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1162.518796992481" y="1368.1447368421052" w="83.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1065.518796992481" y="618.1447368421052"/> -<celldesigner:boxSize width="83.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa255" species="s2179" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1244.518796992481" y="1297.6447368421052" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1147.518796992481" y="547.6447368421052"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa256" species="s2180" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1402.375939849624" y="1363.2796574770261" w="70.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1305.375939849624" y="613.2796574770261"/> -<celldesigner:boxSize width="70.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa257" species="s2181" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1430.518796992481" y="1295.6447368421052" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1333.518796992481" y="545.6447368421052"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa258" species="s2182" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1524.0902255639094" y="1296.2796574770261" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1427.0902255639094" y="546.2796574770261"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa259" species="s2183" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1294.518796992481" y="1415.1447368421052" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1197.518796992481" y="665.1447368421052"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa260" species="s2177" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1670.518796992481" y="1284.6447368421052" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1573.518796992481" y="534.6447368421052"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa261" species="s2184" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1667.375939849624" y="1365.2796574770261" w="101.0" h="24.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1570.375939849624" y="615.2796574770261"/> -<celldesigner:boxSize width="101.0" height="24.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa263" species="s2186" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1607.0" y="1515.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1510.0" y="765.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa264" species="s2187" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1822.0" y="1642.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1725.0" y="892.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa265" species="s2188" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2287.75" y="1516.25" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2233.25" y="146.25"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa266" species="s2189" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="874.0" y="1524.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="777.0" y="774.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff00ccff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa267" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1488.9411764705883" y="1632.5882352941178" w="89.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1391.9411764705883" y="882.5882352941178"/> -<celldesigner:boxSize width="89.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa270" species="s2194" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1605.0" y="1775.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1508.0" y="1025.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa271" species="s2195" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2158.9411764705883" y="1773.5882352941178" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2362.0588235294117" y="403.5882352941178"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa272" species="s2196"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4585.0" y="1509.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa274" species="s2197" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3931.0" y="1511.5882352941176" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1558.0" y="757.5882352941176"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa275" species="s2198" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3736.0" y="1515.5882352941176" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1363.0" y="761.5882352941176"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa276" species="s2199" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3830.0" y="1448.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1457.0" y="694.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa277" species="s2201" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="656.0" y="1582.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="559.0" y="832.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa278" species="s2203" complexSpeciesAlias="csa3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="640.875" y="1710.3750000000002" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="11.875" y="4.375000000000227"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa279" species="s2204" complexSpeciesAlias="csa3"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="639.875" y="1758.3750000000002" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.875" y="52.37500000000023"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff00ccff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa281" species="s2206" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1440.0" y="1750.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1343.0" y="1000.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa282" species="s2207" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1372.0" y="1595.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1275.0" y="845.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa283" species="s2325" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1373.0" y="1863.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1276.0" y="1113.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa284" species="s2209" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2150.875" y="1862.375" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2370.125" y="492.375"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa286" species="s2320" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1169.0" y="1909.5" w="85.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1072.0" y="1159.5"/> -<celldesigner:boxSize width="85.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa287" species="s2211" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1170.0" y="1594.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1073.0" y="844.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa288" species="s2212" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1198.0" y="1489.5" w="86.0" h="38.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1101.0" y="739.5"/> -<celldesigner:boxSize width="86.0" height="38.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa289" species="s2211" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1171.625" y="1842.375" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1074.625" y="1092.375"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa290" species="s2213" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4057.0" y="1925.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1684.0" y="1171.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa291" species="s2214" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4060.0" y="2047.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1687.0" y="1293.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa292" species="s2215" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="794.0" y="2019.0" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="697.0" y="1269.0"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffff00ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa293" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="917.5882352941176" y="2062.1176470588234" w="89.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="820.5882352941176" y="1312.1176470588234"/> -<celldesigner:boxSize width="89.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa294" species="s2216" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="2022.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1019.0" y="1272.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa295" species="s2217" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2144.5882352941176" y="2025.1176470588236" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2376.4117647058824" y="655.1176470588236"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa296" species="s2218" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="798.0" y="2105.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="701.0" y="1355.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa297" species="s2220" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1113.0" y="2101.5" w="109.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1016.0" y="1351.5"/> -<celldesigner:boxSize width="109.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa298" species="s2221" compartmentAlias="ca4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2144.470588235294" y="2102.235294117647" w="109.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-2376.529411764706" y="732.2352941176468"/> -<celldesigner:boxSize width="109.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa300" species="s2224" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="500.0" y="816.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="403.0" y="66.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa302" species="s2227" complexSpeciesAlias="csa4"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="176.5454545454545" y="783.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="7.545454545454504" y="7.1818181818180165"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa303" species="s2229" complexSpeciesAlias="csa4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="176.5454545454545" y="831.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="7.545454545454504" y="55.18181818181802"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa304" species="s2230" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="948.0" y="853.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="195.0" y="84.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa306" species="s2231" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="948.0" y="805.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="195.0" y="36.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa308" species="s2233" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="804.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="363.0" y="35.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa309" species="s2234" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="852.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="363.0" y="83.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa310" species="s2235" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="905.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="363.0" y="136.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa311" species="s2236" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="948.0" y="958.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="195.0" y="189.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa312" species="s2237" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="960.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="363.0" y="191.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa307" species="s2232" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="948.0" y="905.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="195.0" y="136.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa301" species="s2225" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="303.0" y="892.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="206.0" y="142.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa313" species="s2238" complexSpeciesAlias="csa5"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="301.0" y="1121.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.0" y="54.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa314" species="s2241" complexSpeciesAlias="csa5"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="301.5454545454545" y="1073.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.545454545454504" y="6.1818181818180165"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa315" species="s2242" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="187.5454545454545" y="962.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="90.5454545454545" y="212.18181818181802"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa316" species="s2243" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="619.5454545454545" y="771.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="522.5454545454545" y="21.181818181818016"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa317" species="s2244" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="948.0" y="1009.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="195.0" y="240.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa318" species="s2245" compartmentAlias="ca7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1116.0" y="1009.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="363.0" y="240.5"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa319" species="s2304" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="478.5454545454545" y="892.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="381.5454545454545" y="142.18181818181802"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa320" species="s2305" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="634.5454545454545" y="891.181818181818" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="537.5454545454545" y="141.18181818181802"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa321" species="s2212" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="394.5454545454545" y="974.181818181818" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="297.5454545454545" y="224.18181818181802"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa322" species="s2212" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="539.5454545454545" y="1005.181818181818" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="442.5454545454545" y="255.18181818181802"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa323" species="s2246" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3554.0" y="2027.0" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1181.0" y="1273.0"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa324" species="s2247"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4551.0" y="2019.0" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa325" species="s2248" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3546.0" y="2098.0" w="109.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1173.0" y="1344.0"/> -<celldesigner:boxSize width="109.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa326" species="s2249"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4547.0" y="2094.0" w="109.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="109.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa327" species="s2250" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3554.0" y="1861.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1181.0" y="1107.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa328" species="s2251"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4558.0" y="1860.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa329" species="s2252" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3572.0" y="1777.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1199.0" y="1023.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa330" species="s2253"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4560.0" y="1773.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa331" species="s2262" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1031.0" y="1521.0" w="30.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="934.0" y="771.0"/> -<celldesigner:boxSize width="30.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa332" species="s2255" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="512.0" y="1561.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="415.0" y="811.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa334" species="s2256" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="510.0" y="1688.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="413.0" y="938.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa335" species="s2257" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="406.0" y="1784.0" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="309.0" y="1034.0"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa336" species="s2258" compartmentAlias="ca6"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4455.666666666667" y="943.6666666666667" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="155.66666666666697" y="204.66666666666674"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa337" species="s2259" compartmentAlias="ca6"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4269.0" y="941.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-31.0" y="202.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa338" species="s2260" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4064.0" y="801.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1691.0" y="47.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa340" species="s2262" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1513.0" y="1591.0" w="30.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1416.0" y="841.0"/> -<celldesigner:boxSize width="30.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa345" species="s2262" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="659.0" y="1057.0" w="30.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="562.0" y="307.0"/> -<celldesigner:boxSize width="30.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa346" species="s2265" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1370.0" y="1926.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1273.0" y="1176.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa347" species="s2266" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1254.0" y="1961.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1157.0" y="1211.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa348" species="s2165" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4059.0" y="2182.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1686.0" y="1428.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa350" species="s2218" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="797.75" y="2155.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="700.75" y="1405.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa351" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="917.75" y="2203.0" w="95.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="820.75" y="1453.0"/> -<celldesigner:boxSize width="95.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa352" species="s2270" complexSpeciesAlias="csa7"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="961.0" y="1748.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="12.0" y="53.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff00ccff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa353" species="s2271" complexSpeciesAlias="csa7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="961.0" y="1700.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="12.0" y="5.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa354" species="s2272" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="783.1176470588234" y="1792.7058823529412" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="686.1176470588234" y="1042.7058823529412"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa355" species="s2273" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="693.0" y="1931.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="596.0" y="1181.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa356" species="s2275" complexSpeciesAlias="csa8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="237.0" y="2042.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="8.0" y="56.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa357" species="s2276" complexSpeciesAlias="csa8"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="237.0" y="1997.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="8.0" y="11.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa358" species="s2225" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="355.52941176470586" y="2101.9411764705883" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="258.52941176470586" y="1351.9411764705883"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa359" species="s2242" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="454.52941176470586" y="2030.9411764705883" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="357.52941176470586" y="1280.9411764705883"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa360" species="s2277" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="367.0" y="1914.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="270.0" y="1164.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa361" species="s2279" complexSpeciesAlias="csa9"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="642.5294117647059" y="2141.9411764705883" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.529411764705856" y="51.94117647058829"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa362" species="s2280" complexSpeciesAlias="csa9"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="639.5294117647059" y="2093.9411764705883" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="7.529411764705856" y="3.941176470588289"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa363" species="s2257" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="642.5294117647059" y="2279.9411764705883" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="545.5294117647059" y="1529.9411764705883"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa366" species="s2283" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2501.0" y="2458.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="128.0" y="1704.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa367" species="s2284" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1648.0" y="2457.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1551.0" y="1707.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa369" species="s2286" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="2351.0" y="2515.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="-22.0" y="1761.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa370" species="s2287" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1819.0454545454545" y="2520.727272727273" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1722.0454545454545" y="1770.727272727273"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa371" species="s2288" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4062.0" y="2534.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1689.0" y="1780.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa372" species="s2289"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="4573.0" y="2455.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa373" species="s2290" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3571.0" y="2459.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1198.0" y="1705.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa374" species="s2291" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1457.0" y="2458.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1360.0" y="1708.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa376" species="s2152" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="3872.0" y="949.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1499.0" y="195.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa377" species="s2295" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="503.0" y="1814.0" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="406.0" y="1064.0"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa379" species="s2297" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="440.0" y="1278.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="343.0" y="528.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa382" species="s2299" compartmentAlias="ca1"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="596.0" y="1203.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="499.0" y="453.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa383" species="s2300" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="871.1428571428573" y="1203.1428571428573" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="774.1428571428573" y="453.14285714285734"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa384" species="s2302" complexSpeciesAlias="csa10"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="733.1428571428573" y="1360.1428571428573" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="11.142857142857338" y="61.14285714285734"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa385" species="s2303" complexSpeciesAlias="csa10"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="732.1428571428573" y="1308.1428571428573" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.142857142857338" y="9.142857142857338"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa386" species="s2309" complexSpeciesAlias="csa11"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="137.090909090909" y="1356.9870129870126" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="14.090909090909008" y="57.98701298701258"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa387" species="s2310" complexSpeciesAlias="csa11"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="138.090909090909" y="1307.9870129870126" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="15.090909090909008" y="8.987012987012577"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa389" species="s2312" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="176.66666666666674" y="1481.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="79.66666666666674" y="731.5"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa390" species="s2311" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="433.66666666666674" y="1407.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="336.66666666666674" y="657.5"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa392" species="s2313" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="599.6666666666667" y="1300.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="502.66666666666674" y="550.5"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa393" species="s2317" complexSpeciesAlias="csa12"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="305.66666666666674" y="1489.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.666666666666742" y="4.5"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa394" species="s2318" complexSpeciesAlias="csa12"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="303.66666666666674" y="1538.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="8.666666666666742" y="53.5"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff00ccff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa395" species="s2186" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="342.66666666666674" y="1281.8333333333335" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="245.66666666666674" y="531.8333333333335"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa396" species="s2277" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="757.0" y="1701.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="660.0" y="951.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa397" species="s2319" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1341.0" y="1974.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1244.0" y="1224.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa398" species="s2186" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="799.0" y="1642.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="702.0" y="892.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa399" species="s2320" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="998.0" y="1368.5" w="78.0" h="44.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="901.0" y="618.5"/> -<celldesigner:boxSize width="78.0" height="44.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa400" species="s2321" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1085.0" y="1447.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="988.0" y="697.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa401" species="s2322" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1073.0" y="1293.0" w="126.0" h="38.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="976.0" y="543.0"/> -<celldesigner:boxSize width="126.0" height="38.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa402" species="s2324" complexSpeciesAlias="csa13"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1338.0" y="1186.0" w="95.0" h="48.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="15.0" y="9.0"/> -<celldesigner:boxSize width="95.0" height="48.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa403" species="s2326" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1045.0" y="1230.0" w="125.0" h="35.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="948.0" y="480.0"/> -<celldesigner:boxSize width="125.0" height="35.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa404" species="s2328" complexSpeciesAlias="csa14"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1087.0" y="1110.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="9.0" y="7.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa405" species="s2330" complexSpeciesAlias="csa15"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1322.5" y="1049.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="7.0" y="6.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa406" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1259.0" y="987.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1162.0" y="237.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa407" species="s2331" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1440.0" y="1800.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1343.0" y="1050.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa408" species="s2352" complexSpeciesAlias="csa17"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1262.0" y="2330.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="7.0" y="7.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa409" species="s2355" complexSpeciesAlias="csa17"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1264.0" y="2374.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="9.0" y="51.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa410" species="s2348" complexSpeciesAlias="csa19"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="888.25" y="2368.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="9.0" y="48.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa411" species="s2349" complexSpeciesAlias="csa19"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="888.25" y="2323.5" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="9.0" y="3.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa412" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1029.0" y="2287.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="932.0" y="1537.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa413" species="s2357" complexSpeciesAlias="csa20"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="206.0" y="1783.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="14.0" y="52.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa414" species="s2359" complexSpeciesAlias="csa20"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="207.0" y="1737.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="15.0" y="6.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa415" species="s2360" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="623.0" y="1865.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:structuralState angle="1.5707963267948966"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="526.0" y="1115.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa417" species="s2362" compartmentAlias="ca8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1723.0" y="956.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="161.0" y="171.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa418" species="s2363" compartmentAlias="ca8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1720.0" y="900.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="158.0" y="115.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa419" species="s2178" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1444.0" y="953.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1347.0" y="203.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa420" species="s2364" compartmentAlias="ca8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1607.0" y="856.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="45.0" y="71.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa421" species="s2326" compartmentAlias="ca1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1595.8571428571431" y="1942.7142857142858" w="125.0" h="35.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="1498.8571428571431" y="1192.7142857142858"/> -<celldesigner:boxSize width="125.0" height="35.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa299" species="s2223" compartmentAlias="ca7"> -<celldesigner:activity>active</celldesigner:activity> -<celldesigner:bounds x="802.0" y="819.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="49.0" y="50.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -</celldesigner:listOfSpeciesAliases> -<celldesigner:listOfGroups/> -<celldesigner:listOfProteins> -<celldesigner:protein id="pr866" name="GSTP1" type="GENERIC"/> -<celldesigner:protein id="pr867" name="SLC7A11" type="GENERIC"/> -<celldesigner:protein id="pr868" name="GCLM" type="GENERIC"/> -<celldesigner:protein id="pr869" name="GCLC" type="GENERIC"/> -<celldesigner:protein id="pr870" name="GSS" type="GENERIC"/> -<celldesigner:protein id="pr872" name="ABCB1" type="GENERIC"/> -<celldesigner:protein id="pr873" name="GGT1" type="GENERIC"/> -<celldesigner:protein id="pr875" name="ANPEP" type="GENERIC"/> -<celldesigner:protein id="pr876" name="SLC1A1" type="GENERIC"/> -<celldesigner:protein id="pr877" name="SLC6A3" type="GENERIC"/> -<celldesigner:protein id="pr878" name="MAOB" type="GENERIC"/> -<celldesigner:protein id="pr879" name="MAPK8" type="GENERIC"> -<celldesigner:listOfModificationResidues> -<celldesigner:modificationResidue angle="2.15" id="rs1" name="Y185" side="none"/> -<celldesigner:modificationResidue angle="3.141592653589793" id="rs2" name="T183" side="none"/> -</celldesigner:listOfModificationResidues> -</celldesigner:protein> -<celldesigner:protein id="pr880" name="CDK5" type="GENERIC"/> -<celldesigner:protein id="pr881" name="PRDX1" type="GENERIC"/> -<celldesigner:protein id="pr883" name="generic_br_proteine" type="GENERIC"/> -<celldesigner:protein id="pr884" name="generic_br_protein" type="GENERIC"/> -<celldesigner:protein id="pr885" name="MRP1" type="GENERIC"/> -<celldesigner:protein id="pr886" name="MRP5" type="GENERIC"/> -<celldesigner:protein id="pr887" name="NFE2L2" type="GENERIC"/> -<celldesigner:protein id="pr888" name="KEAP1" type="GENERIC"/> -<celldesigner:protein id="pr889" name="PARK7" type="GENERIC"/> -<celldesigner:protein id="pr890" name="DAXX" type="GENERIC"/> -<celldesigner:protein id="pr891" name="JUN" type="GENERIC"> -<celldesigner:listOfModificationResidues> -<celldesigner:modificationResidue angle="2.7080936672989937" id="rs2" name="S63" side="none"/> -<celldesigner:modificationResidue angle="3.3169853468936568" id="rs3" name="S73" side="none"/> -</celldesigner:listOfModificationResidues> -</celldesigner:protein> -<celldesigner:protein id="pr892" name="SLC7A5" type="GENERIC"/> -<celldesigner:protein id="pr893" name="SLC3A2" type="GENERIC"/> -<celldesigner:protein id="pr895" name="GLRX" type="GENERIC"/> -<celldesigner:protein id="pr896" name="TRX" type="GENERIC"/> -<celldesigner:protein id="pr898" name="TRAF2" type="GENERIC"/> -<celldesigner:protein id="pr899" name="MAP3K5" type="GENERIC"/> -<celldesigner:protein id="pr902" name="GLUT?" type="GENERIC"/> -<celldesigner:protein id="pr903" name="GLUT1" type="GENERIC"/> -<celldesigner:protein id="pr904" name="CDK5R1" type="GENERIC"/> -<celldesigner:protein id="pr905" name="CAPN1" type="GENERIC"/> -<celldesigner:protein id="pr906" name="CDK5R1 (p25)" type="TRUNCATED"/> -<celldesigner:protein id="pr907" name="PRDX2" type="GENERIC"> -<celldesigner:listOfModificationResidues> -<celldesigner:modificationResidue angle="0.96" id="rs1" name="T89" side="none"/> -</celldesigner:listOfModificationResidues> -</celldesigner:protein> -<celldesigner:protein id="pr908" name="GLRX2" type="GENERIC"/> -<celldesigner:protein id="pr909" name="GSR" type="GENERIC"/> -<celldesigner:protein id="pr910" name="E1/E2 domain " type="GENERIC"/> -<celldesigner:protein id="pr882" name="generic_br_ protein" type="GENERIC"/> -<celldesigner:protein id="pr911" name="PSMA5" type="GENERIC"/> -<celldesigner:protein id="pr912" name="PRDX6" type="GENERIC"/> -<celldesigner:protein id="pr914" name="PRKAB2" type="GENERIC"/> -<celldesigner:protein id="pr913" name="PRKAB1" type="GENERIC"/> -<celldesigner:protein id="pr915" name="MAPK3K5" type="GENERIC"/> -<celldesigner:protein id="pr916" name="TXN" type="GENERIC"/> -<celldesigner:protein id="pr917" name="SLC25A10" type="GENERIC"/> -<celldesigner:protein id="pr918" name="SLC25A11" type="GENERIC"/> -</celldesigner:listOfProteins> -<celldesigner:listOfGenes> -<celldesigner:gene id="gn1" name="SLC1A1" type="GENE"/> -<celldesigner:gene id="gn2" name="GSS" type="GENE"/> -<celldesigner:gene id="gn3" name="GGT1" type="GENE"/> -<celldesigner:gene id="gn4" name="GSTP1" type="GENE"/> -<celldesigner:gene id="gn5" name="TXN" type="GENE"/> -</celldesigner:listOfGenes> -<celldesigner:listOfRNAs> -<celldesigner:RNA id="rn1" name="GSS" type="RNA"/> -<celldesigner:RNA id="rn2" name="SLC1A1" type="RNA"/> -<celldesigner:RNA id="rn3" name="GGT1" type="RNA"/> -<celldesigner:RNA id="rn4" name="GSTP1" type="RNA"/> -<celldesigner:RNA id="rn5" name="TXN" type="RNA"/> -</celldesigner:listOfRNAs> -<celldesigner:listOfAntisenseRNAs/> -<celldesigner:listOfLayers/> -<celldesigner:listOfBlockDiagrams/> -</celldesigner:extension> -</annotation> -<listOfUnitDefinitions> -<unitDefinition metaid="substance" id="substance" name="substance"> -<listOfUnits> -<unit metaid="CDMT00278" kind="mole"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="volume" id="volume" name="volume"> -<listOfUnits> -<unit metaid="CDMT00279" kind="litre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="area" id="area" name="area"> -<listOfUnits> -<unit metaid="CDMT00280" kind="metre" exponent="2"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="length" id="length" name="length"> -<listOfUnits> -<unit metaid="CDMT00281" kind="metre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="time" id="time" name="time"> -<listOfUnits> -<unit metaid="CDMT00282" kind="second"/> -</listOfUnits> -</unitDefinition> -</listOfUnitDefinitions> -<listOfCompartments> -<compartment metaid="default" id="default" size="1" units="volume"/> -<compartment metaid="c3" id="c3" name="Astrocyte" size="1" units="volume" outside="c5"> -<annotation> -<celldesigner:extension> -<celldesigner:name>Astrocyte</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -<compartment metaid="c6" id="c6" name="endothelial cell" size="1" units="volume" outside="c5"> -<annotation> -<celldesigner:extension> -<celldesigner:name>endothelial cell</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -<compartment metaid="c5" id="c5" name="blood vessel" size="1" units="volume" outside="default"> -<annotation> -<celldesigner:extension> -<celldesigner:name>blood vessel</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -<compartment metaid="c1" id="c1" name="Neuron" size="1" units="volume" outside="c5"> -<annotation> -<celldesigner:extension> -<celldesigner:name>Neuron</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -<compartment metaid="c7" id="c7" name="nucleus" size="1" units="volume" outside="c1"> -<annotation> -<celldesigner:extension> -<celldesigner:name>nucleus</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -<compartment metaid="c8" id="c8" name="Mitochondria" size="1" units="volume" outside="c1"> -<annotation> -<celldesigner:extension> -<celldesigner:name>Mitochondria</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -</listOfCompartments> -<listOfSpecies> -<species metaid="s2153" id="s2153" name="SLC7A11" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr867</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re3"/> -<celldesigner:catalyzed reaction="re1"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2157" id="s2157" name="yGluCys" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>yGluCys</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2157"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17515"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2158" id="s2158" name="GCLM" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr868</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re82"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2159" id="s2159" name="GCLC" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr869</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re82"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2160" id="s2160" name="GSS" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr870</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re6"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2162" id="s2162" name="glutathione" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glutathione</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2162"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16856"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2163" id="s2163" name="glycine" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glycine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2163"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A15428"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2164" id="s2164" name="glutathione" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glutathione</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2164"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16856"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2165" id="s2165" name="ABCB1" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr872</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re7"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2166" id="s2166" name="GGT1" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr873</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re8"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2167" id="s2167" name="CysGly" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>CysGly</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2167"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A4047"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2172" id="s2172" name="ANPEP" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr875</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re9"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2173" id="s2173" name="cystine" compartment="c6" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>cystine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2173"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16283"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2174" id="s2174" name="cystine" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>cystine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2174"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16283"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2152" id="s2152" name="L-cysteine" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-cysteine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2152"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17561"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2175" id="s2175" name="L-cysteine" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-cysteine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2175"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17561"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2176" id="s2176" name="SLC1A1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr876</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re13"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2177" id="s2177" name="L-cysteine" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-cysteine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2177"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17561"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2178" id="s2178" name="glutathione" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glutathione</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2178"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16856"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2179" id="s2179" name="GSS" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr870</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re12"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2181" id="s2181" name="GCLC" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr869</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re11"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2182" id="s2182" name="GCLM" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr868</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re11"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2183" id="s2183" name="glycine" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glycine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2183"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A15428"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2186" id="s2186" name="MPP+" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP+</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re25"/> -<celldesigner:catalyzed reaction="re90"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2186"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubchem.compound:39484"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A641"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2187" id="s2187" name="SLC6A3" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr877</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re16"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2188" id="s2188" name="MPP+" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP+</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2188"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubchem.compound:39484"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A641"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2189" id="s2189" name="GSTP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr866</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re92"/> -<celldesigner:catalyzed reaction="re94"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2196" id="s2196" name="MTPT" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MTPT</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2197" id="s2197" name="MTPT" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MTPT</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2197"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubchem.compound:1388"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17963"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2198" id="s2198" name="MPP+" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP+</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2198"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubchem.compound:39484"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A641"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2199" id="s2199" name="MAOB" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr878</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re21"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2202" id="s2202" name="JNK-GSTP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>JNK-GSTP1</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2206" id="s2206" name="PRDX1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr881</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2211" id="s2211" name="generic_br_protein" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr884</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2213" id="s2213" name="MRP1" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr885</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re54"/> -<celldesigner:catalyzed reaction="re55"/> -<celldesigner:catalyzed reaction="re56"/> -<celldesigner:catalyzed reaction="re57"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2214" id="s2214" name="MRP5" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr886</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re54"/> -<celldesigner:catalyzed reaction="re55"/> -<celldesigner:catalyzed reaction="re56"/> -<celldesigner:catalyzed reaction="re57"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2215" id="s2215" name="Paraquat" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>DRUG</celldesigner:class> -<celldesigner:name>Paraquat</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2215"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A34905"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2216" id="s2216" name="Paraquat-SG" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>Paraquat-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2217" id="s2217" name="Paraquat-SG" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>Paraquat-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2218" id="s2218" name="electrophile" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>electrophile</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2220" id="s2220" name="electrophile-SG" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>electrophile-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2221" id="s2221" name="electrophile-SG" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>electrophile-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2222" id="s2222" name="GSTP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr866</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:homodimer>2</celldesigner:homodimer> -</celldesigner:state> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re19"/> -<celldesigner:catalyzed reaction="re26"/> -<celldesigner:catalyzed reaction="re33"/> -<celldesigner:catalyzed reaction="re36"/> -<celldesigner:catalyzed reaction="re108"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2194" id="s2194" name="MPP-SG" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2195" id="s2195" name="MPP-SG" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2224" id="s2224" name="KEAP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr888</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re45"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2225" id="s2225" name="PARK7" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2228" id="s2228" name="PARK7-KEAP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>PARK7-KEAP1</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2230" id="s2230" name="SLC1A1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>GENE</celldesigner:class> -<celldesigner:geneReference>gn1</celldesigner:geneReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2231" id="s2231" name="GSS" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>GENE</celldesigner:class> -<celldesigner:geneReference>gn2</celldesigner:geneReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2232" id="s2232" name="GGT1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>GENE</celldesigner:class> -<celldesigner:geneReference>gn3</celldesigner:geneReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2233" id="s2233" name="GSS" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn1</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2234" id="s2234" name="SLC1A1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn2</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2235" id="s2235" name="GGT1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn3</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2236" id="s2236" name="GSTP1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>GENE</celldesigner:class> -<celldesigner:geneReference>gn4</celldesigner:geneReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2237" id="s2237" name="GSTP1" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn4</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2240" id="s2240" name="PARK7-DAXX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>PARK7-DAXX</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2242" id="s2242" name="DAXX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr890</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2243" id="s2243" name="NFE2L2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr887</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2244" id="s2244" name="TXN" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>GENE</celldesigner:class> -<celldesigner:geneReference>gn5</celldesigner:geneReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2245" id="s2245" name="TXN" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn5</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2246" id="s2246" name="Paraquat-SG" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>Paraquat-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2247" id="s2247" name="Paraquat-SG" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>Paraquat-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2248" id="s2248" name="electrophile-SG" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>electrophile-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2249" id="s2249" name="electrophile-SG" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>electrophile-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2252" id="s2252" name="MPP-SG" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2253" id="s2253" name="MPP-SG" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>MPP-SG</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2255" id="s2255" name="JUN" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr891</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2257" id="s2257" name="Apotosis" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PHENOTYPE</celldesigner:class> -<celldesigner:name>Apotosis</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2257"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0006915"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2258" id="s2258" name="SLC7A11" compartment="c6" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr867</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re63"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2259" id="s2259" name="SLC7A5" compartment="c6" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr892</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re62"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2260" id="s2260" name="SLC3A2" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr893</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re1"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2262" id="s2262" name="UPS" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>DEGRADED</celldesigner:class> -<celldesigner:name>UPS</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2262"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18990698"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2265" id="s2265" name="GLRX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr895</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re32"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2266" id="s2266" name="TRX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr896</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re32"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2269" id="s2269" name="TRAF2-GSTP1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>TRAF2-GSTP1</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2272" id="s2272" name="TRAF2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr898</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2273" id="s2273" name="MAP3K5" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr899</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2274" id="s2274" name="PARK-DAXX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>PARK-DAXX</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2277" id="s2277" name="ROS" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>ROS</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re25"/> -<celldesigner:catalyzed reaction="re72"/> -<celldesigner:catalyzed reaction="re109"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2277"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A26523"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2278" id="s2278" name="ASK1-DAXX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>ASK1-DAXX</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2283" id="s2283" name="lactate" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>lactate</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2284" id="s2284" name="lactate" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>lactate</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2286" id="s2286" name="GLUT?" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr902</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re77"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2287" id="s2287" name="GLUT?" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr902</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re77"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2288" id="s2288" name="GLUT1" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr903</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re75"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2289" id="s2289" name="glucose" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glucose</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2290" id="s2290" name="glucose" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glucose</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2291" id="s2291" name="pyruvate" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>pyruvate</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2294" id="s2294" name="cystine" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>cystine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2294"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16283"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2295" id="s2295" name="Proliferation" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PHENOTYPE</celldesigner:class> -<celldesigner:name>Proliferation</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2295"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.go:GO%3A0014009"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2297" id="s2297" name="CAPN1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr905</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re90"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2299" id="s2299" name="PRDX2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr907</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2300" id="s2300" name="PRDX2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr907</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfModifications> -<celldesigner:modification residue="rs1" state="phosphorylated"/> -</celldesigner:listOfModifications> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2304" id="s2304" name="PARK7" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="SOH/SO2H"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2305" id="s2305" name="PARK7" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr889</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="SO3H"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2311" id="s2311" name="CDK5" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr880</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2312" id="s2312" name="CDK5R1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr904</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2313" id="s2313" name="CDK5R1 (p25)" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr906</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2314" id="s2314" name="GSTP1-CDK5" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>GSTP1-CDK5</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2315" id="s2315" name="CDK5-p35" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>CDK5-p35</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2316" id="s2316" name="CDK5-p25" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>CDK5-p25</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re86"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2319" id="s2319" name="GLRX2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr908</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re32"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2261" id="s2261" name="MRP/ABCC" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:hypothetical>true</celldesigner:hypothetical> -<celldesigner:name>MRP/ABCC</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re18"/> -<celldesigner:catalyzed reaction="re29"/> -<celldesigner:catalyzed reaction="re35"/> -<celldesigner:catalyzed reaction="re37"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2321" id="s2321" name="GSR" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr909</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re97"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2323" id="s2323" name="E1/E2" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>E1/E2</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2320" id="s2320" name="glutathione_br_ disulfide" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glutathione_br_ disulfide</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2320"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17858"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2207" id="s2207" name="generic_br_ protein" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr882</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="oxidized"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2325" id="s2325" name="generic_br_protein" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr884</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2326" id="s2326" name="GSH Depletion" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PHENOTYPE</celldesigner:class> -<celldesigner:name>GSH Depletion</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re107"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2327" id="s2327" name="20S core" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:hypothetical>true</celldesigner:hypothetical> -<celldesigner:name>20S core</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2329" id="s2329" name="20S core" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:hypothetical>true</celldesigner:hypothetical> -<celldesigner:name>20S core</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2331" id="s2331" name="PRDX6" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr912</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2346" id="s2346" name="AMPK" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>AMPK</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2353" id="s2353" name="AMPK" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>AMPK</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2358" id="s2358" name="Thioredoxin-ASK1" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>Thioredoxin-ASK1</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2360" id="s2360" name="TRX" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr896</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="oxidized"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2362" id="s2362" name="SLC25A10" compartment="c8" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr917</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re111"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2363" id="s2363" name="SLC25A11" compartment="c8" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr918</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re111"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2364" id="s2364" name="glutathione" compartment="c8" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>glutathione</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2364"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16856"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2200" id="s2200" name="Complex I" compartment="c8" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>Complex I</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2184" id="s2184" name="L-glutamic acid" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-glutamic acid</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2184"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16015"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2154" id="s2154" name="L-glutamic acid" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-glutamic acid</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2155" id="s2155" name="L-glutamic acid" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>L-glutamic acid</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2201" id="s2201" name="MAPK8" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr879</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfModifications> -<celldesigner:modification residue="rs1" state="phosphorylated"/> -<celldesigner:modification residue="rs2" state="phosphorylated"/> -</celldesigner:listOfModifications> -</celldesigner:state> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re60"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2256" id="s2256" name="JUN" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr891</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfModifications> -<celldesigner:modification residue="rs2" state="phosphorylated"/> -<celldesigner:modification residue="rs3" state="phosphorylated"/> -</celldesigner:listOfModifications> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2212" id="s2212" name="ROS/RNS" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>ROS/RNS</celldesigner:name> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re30"/> -<celldesigner:catalyzed reaction="re38"/> -<celldesigner:catalyzed reaction="re48"/> -<celldesigner:catalyzed reaction="re49"/> -<celldesigner:catalyzed reaction="re58"/> -<celldesigner:catalyzed reaction="re65"/> -<celldesigner:catalyzed reaction="re67"/> -<celldesigner:catalyzed reaction="re96"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2212"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A26523"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A62764"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2180" id="s2180" name="yGluCys" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>yGluCys</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2180"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A17515"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2322" id="s2322" name="GSH/GSSG ratio" compartment="c1" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PHENOTYPE</celldesigner:class> -<celldesigner:name>GSH/GSSG ratio</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2365" id="s2365" name="cystine" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>cystine</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2365"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A16283"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s2250" id="s2250" name="generic_br_proteine" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr883</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2251" id="s2251" name="generic_br_proteine" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr883</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2209" id="s2209" name="generic_br_protein" compartment="c5" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr884</celldesigner:proteinReference> -<celldesigner:state> -<celldesigner:listOfStructuralStates> -<celldesigner:structuralState structuralState="S-glutathione"/> -</celldesigner:listOfStructuralStates> -</celldesigner:state> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2223" id="s2223" name="NFE2L2" compartment="c7" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr887</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re41"/> -<celldesigner:catalyzed reaction="re42"/> -<celldesigner:catalyzed reaction="re43"/> -<celldesigner:catalyzed reaction="re44"/> -<celldesigner:catalyzed reaction="re47"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2223"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A1312"/> -<rdf:li rdf:resource="urn:miriam:pubmed:675675675"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A45454"/> -<rdf:li rdf:resource="urn:miriam:pubmed:34533534"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -</listOfSpecies> -<listOfReactions> -<reaction metaid="re3" id="re3" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2154" alias="sa230"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2155" alias="sa227"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2153" aliases="sa225" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2153" alias="sa225"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re3"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00004" species="s2154"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa230</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00005" species="s2155"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa227</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00006" species="s2153"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa225</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re6" id="re6" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2163" alias="sa239"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2157" alias="sa228"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2162" alias="sa238"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.6421149516609637,0.3330361464815006</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2160" aliases="sa236" targetLineIndex="2,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2160" alias="sa236"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re6"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00012" species="s2163"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa239</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00013" species="s2157"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa228</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00014" species="s2162"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa238</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00015" species="s2160"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa236</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re7" id="re7" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2162" alias="sa238"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2164" alias="sa240"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2165" aliases="sa241" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2165" alias="sa241"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re7"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18400456"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00016" species="s2162"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa238</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00017" species="s2164"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa240</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00018" species="s2165"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa241</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re8" id="re8" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2164" alias="sa240"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2167" alias="sa244"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2166" aliases="sa242" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2166" alias="sa242"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re8"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:11746430"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23201762"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00019" species="s2164"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa240</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00020" species="s2167"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa244</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00021" species="s2166"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa242</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re9" id="re9" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2167" alias="sa244"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2175" alias="sa250"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2172" aliases="sa247" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2172" alias="sa247"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re9"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:11746430"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23201762"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00022" species="s2167"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa244</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00023" species="s2175"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa250</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00024" species="s2172"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa247</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re11" id="re11" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2177" alias="sa260"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2184" alias="sa261"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2180" alias="sa256"> -<celldesigner:linkAnchor position="ENE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5470433666416099,0.41732512051917325</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2182" aliases="sa258" targetLineIndex="2,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2182" alias="sa258"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2181" aliases="sa257" targetLineIndex="2,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2181" alias="sa257"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re11"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00025" species="s2177"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa260</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00026" species="s2184"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa261</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00027" species="s2180"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa256</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00028" species="s2182"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa258</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00029" species="s2181"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa257</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re12" id="re12" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2183" alias="sa259"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2180" alias="sa256"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2178" alias="sa254"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5526692619248301,0.4570379645120184</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2179" aliases="sa255" targetLineIndex="2,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2179" alias="sa255"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re12"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00030" species="s2183"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa259</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00031" species="s2180"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa256</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00032" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa254</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00033" species="s2179"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa255</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re13" id="re13" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2175" alias="sa250"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2177" alias="sa260"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2176" aliases="sa253" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2176" alias="sa253"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re13"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23201762"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00034" species="s2175"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa250</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00035" species="s2177"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa260</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00036" species="s2176"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa253</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re14" id="re14" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2186" alias="sa263"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2176" alias="sa253"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re14"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18093171"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00037" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa263</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00038" species="s2176"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa253</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re16" id="re16" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2188" alias="sa265"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2186" alias="sa263"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2187" aliases="sa264" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2187" alias="sa264"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re16"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15790530"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00039" species="s2188"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa265</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00040" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa263</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00041" species="s2187"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa264</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re18" id="re18" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2194" alias="sa270"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2195" alias="sa271"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2261" aliases="csa6" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2261" alias="csa6"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re18"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18786560"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00042" species="s2194"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa270</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00043" species="s2195"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa271</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00151" species="s2261"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re19" id="re19" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa267"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2186" alias="sa263"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2194" alias="sa270"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5503134650453925,0.44874220273737464</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2222" aliases="sa220" targetLineIndex="2,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re19"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23665395"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00044" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa267</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00045" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa263</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00046" species="s2194"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa270</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00047" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re20" id="re20" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2196" alias="sa272"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2197" alias="sa274"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re20"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15790530"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00048" species="s2196"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa272</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00049" species="s2197"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa274</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re21" id="re21" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2197" alias="sa274"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2198" alias="sa275"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2199" aliases="sa276" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2199" alias="sa276"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re21"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15790530"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00050" species="s2197"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa274</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00051" species="s2198"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa275</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00052" species="s2199"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa276</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re22" id="re22" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2198" alias="sa275"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2188" alias="sa265"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re22"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15790530"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00053" species="s2198"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa275</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00054" species="s2188"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa265</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re23" id="re23" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2186" alias="sa263"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2200" alias="csa2"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re23"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15790530"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00055" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa263</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00056" species="s2200"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa2</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re25" id="re25" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2201" alias="sa277"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2202" alias="csa3"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.2656618535350628,0.1918541103376814</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="INHIBITION" modifiers="s2277" aliases="sa396" targetLineIndex="2,4"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2277" alias="sa396"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="INHIBITION" modifiers="s2186" aliases="sa398" targetLineIndex="2,4"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2186" alias="sa398"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re25"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22539231"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:10064598"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:11279197"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21351850"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00057" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00058" species="s2201"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa277</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00059" species="s2202"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa3</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00001" species="s2277"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa396</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00002" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa398</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re26" id="re26" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa267"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2207" alias="sa282"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2325" alias="sa283"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5406987840430517,0.46311470590629433</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2222" aliases="sa220" targetLineIndex="2,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="SE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re26"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23665395"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21351850"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18400456"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22540427"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00060" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa267</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00061" species="s2207"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa282</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00062" species="s2325"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa283</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00063" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re29" id="re29" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2325" alias="sa283"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2209" alias="sa284"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2261" aliases="csa6" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2261" alias="csa6"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re29"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18786560"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00064" species="s2325"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa283</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00065" species="s2209"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa284</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00152" species="s2261"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re30" id="re30" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2211" alias="sa287"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2207" alias="sa282"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2212" aliases="sa288" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="SSE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re30"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22540427"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00066" species="s2211"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa287</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00067" species="s2207"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa282</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00105" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re32" id="re32" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2325" alias="sa283"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2211" alias="sa289"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -<celldesigner:baseProduct species="s2320" alias="sa286"> -<celldesigner:linkAnchor position="ENE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.34565778159931426,0.15331595151582178</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2265" aliases="sa346" targetLineIndex="0,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2265" alias="sa346"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2266" aliases="sa347" targetLineIndex="0,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2266" alias="sa347"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2319" aliases="sa397" targetLineIndex="0,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2319" alias="sa397"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re32"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18331844"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22530666"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:17098212"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21351850"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18400456"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00069" species="s2325"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa283</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00070" species="s2211"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa289</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00071" species="s2320"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa286</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00153" species="s2265"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa346</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00154" species="s2266"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa347</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00003" species="s2319"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa397</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re33" id="re33" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa293"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2215" alias="sa292"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2216" alias="sa294"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5954623630004363,0.38950740660460426</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2222" aliases="sa220" targetLineIndex="2,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re33"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23665395"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00073" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa293</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00074" species="s2215"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa292</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00075" species="s2216"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa294</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00068" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re35" id="re35" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2216" alias="sa294"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2217" alias="sa295"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2261" aliases="csa6" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2261" alias="csa6"> -<celldesigner:linkAnchor position="WNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re35"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18786560"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00077" species="s2216"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa294</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00078" species="s2217"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa295</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00155" species="s2261"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re36" id="re36" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2218" alias="sa296"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2178" alias="sa293"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2220" alias="sa297"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-0.06137676915602697,0.41566716547913884</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2222" aliases="sa220" targetLineIndex="2,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re36"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23665395"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00079" species="s2218"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa296</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00080" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa293</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00081" species="s2220"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa297</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00072" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re37" id="re37" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2220" alias="sa297"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2221" alias="sa298"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2261" aliases="csa6" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2261" alias="csa6"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re37"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18786560"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00083" species="s2220"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa297</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00084" species="s2221"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa298</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00156" species="s2261"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re38" id="re38" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="SE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2212" aliases="sa288" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re38"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:20481548"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23665395"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22540427"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00085" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00086" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00106" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re41" id="re41" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2231" alias="sa306"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2233" alias="sa308"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="MODULATION" modifiers="s2223" aliases="sa299" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re41"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00093" species="s2231"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa306</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00094" species="s2233"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa308</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00007" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re42" id="re42" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2230" alias="sa304"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2234" alias="sa309"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="MODULATION" modifiers="s2223" aliases="sa299" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re42"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00096" species="s2230"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa304</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00097" species="s2234"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa309</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00008" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re43" id="re43" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2232" alias="sa307"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2235" alias="sa310"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="MODULATION" modifiers="s2223" aliases="sa299" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re43"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00099" species="s2232"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa307</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00100" species="s2235"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa310</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00009" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re44" id="re44" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2236" alias="sa311"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2237" alias="sa312"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="MODULATION" modifiers="s2223" aliases="sa299" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re44"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00102" species="s2236"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa311</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00103" species="s2237"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa312</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00010" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re45" id="re45" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2243" alias="sa316"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="INHIBITION" modifiers="s2224" aliases="sa300" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2224" alias="sa300"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00011" species="s2243"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa316</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00076" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00082" species="s2224"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa300</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re46" id="re46" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2225" alias="sa301"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2242" alias="sa315"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2241" alias="sa314"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.007768908327037138,0.3833429015411589</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re46"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:15983381"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00110" species="s2225"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa301</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00111" species="s2242"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa315</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00112" species="s2240"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa5</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re47" id="re47" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2244" alias="sa317"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2245" alias="sa318"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="MODULATION" modifiers="s2223" aliases="sa299" targetLineIndex="-1,4"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2223" alias="sa299"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re47"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21593323"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22492997"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00113" species="s2244"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa317</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00114" species="s2245"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa318</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00087" species="s2223"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa299</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re48" id="re48" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2225" alias="sa301"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2304" alias="sa319"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2212" aliases="sa321" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa321"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re48"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23766857"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00116" species="s2225"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa301</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00117" species="s2304"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa319</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00118" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa321</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re49" id="re49" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2304" alias="sa319"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2305" alias="sa320"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2212" aliases="sa322" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa322"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re49"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23766857"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00119" species="s2304"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa319</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00120" species="s2305"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa320</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00121" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa322</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re50" id="re50" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2195" alias="sa271"> -<celldesigner:linkAnchor position="ESE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2252" alias="sa329"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00088" species="s2195"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa271</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00089" species="s2252"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa329</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re51" id="re51" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2209" alias="sa284"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2250" alias="sa327"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00090" species="s2209"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa284</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00091" species="s2250"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa327</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re52" id="re52" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2217" alias="sa295"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2246" alias="sa323"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00122" species="s2217"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa295</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00123" species="s2246"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa323</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re53" id="re53" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2221" alias="sa298"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2248" alias="sa325"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00124" species="s2221"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa298</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00125" species="s2248"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa325</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re54" id="re54" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2246" alias="sa323"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2247" alias="sa324"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2213" aliases="sa290" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2213" alias="sa290"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2214" aliases="sa291" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2214" alias="sa291"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00126" species="s2246"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa323</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00127" species="s2247"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa324</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00128" species="s2213"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa290</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00129" species="s2214"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa291</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re55" id="re55" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2248" alias="sa325"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2249" alias="sa326"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2213" aliases="sa290" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2213" alias="sa290"> -<celldesigner:linkAnchor position="SE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2214" aliases="sa291" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2214" alias="sa291"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00130" species="s2248"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa325</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00131" species="s2249"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa326</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00132" species="s2213"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa290</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00133" species="s2214"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa291</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re56" id="re56" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2250" alias="sa327"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2251" alias="sa328"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2213" aliases="sa290" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2213" alias="sa290"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2214" aliases="sa291" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2214" alias="sa291"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00134" species="s2250"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa327</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00135" species="s2251"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa328</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00136" species="s2213"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa290</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00137" species="s2214"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa291</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re57" id="re57" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2252" alias="sa329"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2253" alias="sa330"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2213" aliases="sa290" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2213" alias="sa290"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2214" aliases="sa291" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2214" alias="sa291"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00138" species="s2252"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa329</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00139" species="s2253"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa330</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00140" species="s2213"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa290</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00141" species="s2214"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa291</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re58" id="re58" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2262" alias="sa331"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2212" aliases="sa288" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re58"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22540427"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21351850"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18990698"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00142" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00143" species="s2262"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa331</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00144" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re60" id="re60" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2255" alias="sa332"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2256" alias="sa334"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2201" aliases="sa277" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2201" alias="sa277"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re60"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22539231"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00145" species="s2255"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa332</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00146" species="s2256"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa334</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00147" species="s2201"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa277</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re61" id="re61" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2256" alias="sa334"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2257" alias="sa335"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re61"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22539231"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00148" species="s2256"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa334</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00149" species="s2257"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa335</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re62" id="re62" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2173" alias="sa251"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2365" alias="sa229"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2259" aliases="sa337" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2259" alias="sa337"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re62"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23201762"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22369136"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00157" species="s2173"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa251</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00158" species="s2365"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa229</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00159" species="s2259"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa337</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re63" id="re63" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2174" alias="sa252"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2173" alias="sa251"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2258" aliases="sa336" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2258" alias="sa336"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re63"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23201762"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22369136"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00160" species="s2174"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa252</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00161" species="s2173"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa251</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00162" species="s2258"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa336</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re65" id="re65" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2207" alias="sa282"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2262" alias="sa340"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2212" aliases="sa288" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re65"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22540427"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00163" species="s2207"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa282</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00164" species="s2262"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa340</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00165" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re67" id="re67" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2305" alias="sa320"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2262" alias="sa345"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2212" aliases="sa322" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa322"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re67"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23766857"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00166" species="s2305"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa320</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00167" species="s2262"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa345</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00168" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa322</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re69" id="re69" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa351"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2218" alias="sa350"> -<celldesigner:linkAnchor position="ENE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2220" alias="sa297"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.458817474492232,0.30305718353632116</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re69"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18400456"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00092" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa351</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00169" species="s2218"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa350</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00170" species="s2220"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa297</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re70" id="re70" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2272" alias="sa354"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2269" alias="csa7"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.6941654124811867,0.025941565594077787</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re70"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:16636664"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22539231"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00171" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00172" species="s2272"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa354</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00173" species="s2269"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re71" id="re71" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2272" alias="sa354"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2273" alias="sa355"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re71"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:16636664"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22539231"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00174" species="s2272"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa354</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00175" species="s2273"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa355</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re72" id="re72" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2274" alias="csa8"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2225" alias="sa358"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -<celldesigner:baseProduct species="s2242" alias="sa359"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.010036446372801322,0.5363312772203859</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2277" aliases="sa360" targetLineIndex="0,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2277" alias="sa360"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re72"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:20014998"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00176" species="s2274"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00177" species="s2225"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa358</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00178" species="s2242"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa359</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00179" species="s2277"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa360</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re73" id="re73" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2242" alias="sa359"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2273" alias="sa355"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2278" alias="csa9"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.48305575498856523,0.08415185731921859</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re73"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:16636664"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00180" species="s2242"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa359</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00181" species="s2273"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa355</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00182" species="s2278"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa9</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re74" id="re74" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2278" alias="csa9"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2257" alias="sa363"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00183" species="s2278"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa9</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00184" species="s2257"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa363</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re75" id="re75" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2289" alias="sa372"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2290" alias="sa373"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2288" aliases="sa371" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2288" alias="sa371"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00095" species="s2289"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa372</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00098" species="s2290"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa373</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00101" species="s2288"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa371</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re76" id="re76" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2290" alias="sa373"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2283" alias="sa366"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00104" species="s2290"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa373</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00107" species="s2283"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa366</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re77" id="re77" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2283" alias="sa366"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2284" alias="sa367"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2286" aliases="sa369" targetLineIndex="-1,4"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2286" alias="sa369"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2287" aliases="sa370" targetLineIndex="-1,5"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2287" alias="sa370"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00150" species="s2283"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa366</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00185" species="s2284"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa367</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00186" species="s2286"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa369</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00187" species="s2287"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa370</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re78" id="re78" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2284" alias="sa367"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2291" alias="sa374"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00188" species="s2284"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa367</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00189" species="s2291"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa374</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re1" id="re1" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2365" alias="sa229"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2294" alias="sa224"> -<celldesigner:linkAnchor position="ENE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2153" aliases="sa225" targetLineIndex="-1,5"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2153" alias="sa225"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2260" aliases="sa338" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2260" alias="sa338"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re1"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22369136"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00190" species="s2365"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa229</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00191" species="s2294"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa224</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00192" species="s2153"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa225</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00193" species="s2260"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa338</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re81" id="re81" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2294" alias="sa224"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2152" alias="sa376"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re81"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00194" species="s2294"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa224</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00195" species="s2152"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa376</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re82" id="re82" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2152" alias="sa376"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2154" alias="sa226"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2157" alias="sa228"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.48019880130019743,0.14886383503830558</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2158" aliases="sa234" targetLineIndex="2,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2158" alias="sa234"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2159" aliases="sa235" targetLineIndex="2,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2159" alias="sa235"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re82"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23025925"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00196" species="s2152"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa376</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00197" species="s2154"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa226</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00198" species="s2157"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa228</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00199" species="s2158"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa234</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00200" species="s2159"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa235</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re83" id="re83" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2256" alias="sa334"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2295" alias="sa377"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re83"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21351850"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00201" species="s2256"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa334</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00202" species="s2295"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa377</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re86" id="re86" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2299" alias="sa382"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2300" alias="sa383"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2316" aliases="csa10" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2316" alias="csa10"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re86"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:17680003"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00203" species="s2299"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa382</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00204" species="s2300"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa383</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00205" species="s2316"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa10</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re89" id="re89" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2224" alias="sa300"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2304" alias="sa319"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2228" alias="csa4"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-0.0026849642004815877,0.43150202536145965</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re89"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23766857"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00210" species="s2224"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa300</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00211" species="s2304"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa319</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00212" species="s2228"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re90" id="re90" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2315" alias="csa11"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2316" alias="csa10"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2297" aliases="sa379" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2297" alias="sa379"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2186" aliases="sa395" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2186" alias="sa395"> -<celldesigner:linkAnchor position="SSE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re90"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:17610816"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:17680003"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21600237"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00213" species="s2315"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa11</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00214" species="s2316"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa10</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00215" species="s2297"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa379</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00216" species="s2186"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa395</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re92" id="re92" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2316" alias="csa10"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2313" alias="sa392"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseProduct> -<celldesigner:baseProduct species="s2311" alias="sa390"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-0.5112006014576771,0.6672765640600327</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2189" aliases="sa266" targetLineIndex="0,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re92"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21668448"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00217" species="s2316"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa10</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00218" species="s2313"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa392</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00219" species="s2311"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa390</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00220" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re93" id="re93" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2311" alias="sa390"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2314" alias="csa12"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.22958216463148018,0.7766270452802697</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re93"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21668448"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00221" species="s2311"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa390</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00222" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00223" species="s2314"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa12</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re94" id="re94" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2315" alias="csa11"> -<celldesigner:linkAnchor position="SE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2312" alias="sa389"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseProduct> -<celldesigner:baseProduct species="s2311" alias="sa390"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.20917099123457739,0.5610091142994159</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2189" aliases="sa266" targetLineIndex="0,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2189" alias="sa266"> -<celldesigner:linkAnchor position="WNW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re94"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:21668448"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00224" species="s2315"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa11</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00225" species="s2312"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa389</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00226" species="s2311"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa390</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00227" species="s2189"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa266</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re95" id="re95" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2176" alias="sa253"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re95"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24145751"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:9745361"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:18093171"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00206" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00207" species="s2176"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa253</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re96" id="re96" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa254"> -<celldesigner:linkAnchor position="WNW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2320" alias="sa399"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2212" aliases="sa288" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2212" alias="sa288"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00208" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa254</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00209" species="s2320"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa399</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00228" species="s2212"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa288</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re97" id="re97" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2320" alias="sa399"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2178" alias="sa254"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2321" aliases="sa400" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2321" alias="sa400"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00229" species="s2320"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa399</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00230" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa254</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00231" species="s2321"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa400</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re103" id="re103" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2322" alias="sa401"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2323" alias="csa13"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re103"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23129554"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:19542204"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00236" species="s2322"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa401</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00237" species="s2323"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa13</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re104" id="re104" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2326" alias="sa403"> -<celldesigner:linkAnchor position="ENE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2323" alias="csa13"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re104"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:19542204"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24396728"/> -</rdf:Bag> -</bqmodel:is> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00238" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa403</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00239" species="s2323"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa13</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re107" id="re107" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa406"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2327" alias="csa14"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2329" alias="csa15"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5135936582501457,0.5940105695830855</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="INHIBITION" modifiers="s2326" aliases="sa403" targetLineIndex="2,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2326" alias="sa403"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re107"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:24396728"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00240" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa406</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00241" species="s2327"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa14</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00242" species="s2329"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa15</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00243" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa403</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re108" id="re108" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa412"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2346" alias="csa18"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2353" alias="csa16"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.642419657801069,0.3587625437615536</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2222" aliases="sa220" targetLineIndex="2,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2222" alias="sa220"> -<celldesigner:linkAnchor position="S"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re108"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23741294"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00244" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa412</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00245" species="s2346"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa18</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00246" species="s2353"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa16</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00247" species="s2222"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa220</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re109" id="re109" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2358" alias="csa20"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2360" alias="sa415"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -<celldesigner:baseProduct species="s2273" alias="sa355"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">-0.10605476282297133,0.7498071731584943</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="TRIGGER" modifiers="s2277" aliases="sa360" targetLineIndex="0,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2277" alias="sa360"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re109"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:22066468"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00248" species="s2358"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa20</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00249" species="s2360"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa415</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00250" species="s2273"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa355</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00251" species="s2277"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa360</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re111" id="re111" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa419"> -<celldesigner:linkAnchor position="NE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2364" alias="sa420"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2363" aliases="sa418" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2363" alias="sa418"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -<celldesigner:modification type="CATALYSIS" modifiers="s2362" aliases="sa417" targetLineIndex="-1,6"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:linkTarget species="s2362" alias="sa417"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:linkTarget> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re111"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23283974"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00252" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa419</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00253" species="s2364"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa420</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00254" species="s2363"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa418</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -<modifierSpeciesReference metaid="CDMT00255" species="s2362"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa417</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re112" id="re112" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2225" alias="sa301"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -<celldesigner:baseReactant species="s2224" alias="sa300"> -<celldesigner:linkAnchor position="WNW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2228" alias="csa4"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.5286112477455323,0.8398098048860492</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re112"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:23766857"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00108" species="s2225"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa301</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00109" species="s2224"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa300</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00115" species="s2228"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re113" id="re113" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2178" alias="sa254"> -<celldesigner:linkAnchor position="N"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2322" alias="sa401"> -<celldesigner:linkAnchor position="SSE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00232" species="s2178"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa254</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00233" species="s2322"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa401</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re114" id="re114" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>NEGATIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2320" alias="sa399"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2322" alias="sa401"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00234" species="s2320"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa399</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00235" species="s2322"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa401</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re115" id="re115" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>REDUCED_TRIGGER</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2209" alias="sa284"> -<celldesigner:linkAnchor position="WSW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2326" alias="sa421"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00256" species="s2209"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa284</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00257" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa421</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re116" id="re116" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>REDUCED_TRIGGER</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2217" alias="sa295"> -<celldesigner:linkAnchor position="NW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2326" alias="sa421"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00258" species="s2217"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa295</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00259" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa421</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re117" id="re117" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>REDUCED_TRIGGER</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2195" alias="sa271"> -<celldesigner:linkAnchor position="SW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2326" alias="sa421"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00260" species="s2195"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa271</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00261" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa421</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re118" id="re118" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>REDUCED_TRIGGER</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2221" alias="sa298"> -<celldesigner:linkAnchor position="WNW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2326" alias="sa421"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00262" species="s2221"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa298</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00263" species="s2326"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa421</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -</listOfReactions> -</model> -</sbml> diff --git a/model-command/testFiles/problematic/compact_complex_view_problem.xml b/model-command/testFiles/problematic/compact_complex_view_problem.xml deleted file mode 100644 index d4dd9f7ba25954f2afc0b2b44c75e7a24ff61759..0000000000000000000000000000000000000000 --- a/model-command/testFiles/problematic/compact_complex_view_problem.xml +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4"> -<model metaid="untitled" id="untitled"> -<annotation> -<celldesigner:extension> -<celldesigner:modelVersion>4.0</celldesigner:modelVersion> -<celldesigner:modelDisplay sizeX="600" sizeY="400"/> -<celldesigner:listOfIncludedSpecies> -<celldesigner:species id="s1" name="s1"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s5</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>s1</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -<celldesigner:species id="s2" name="s2"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s1</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr1</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -</celldesigner:listOfIncludedSpecies> -<celldesigner:listOfCompartmentAliases> -<celldesigner:compartmentAlias id="ca3" compartment="c3"> -<celldesigner:class>SQUARE</celldesigner:class> -<celldesigner:bounds x="14.0" y="26.0" w="522.0" h="323.0"/> -<celldesigner:namePoint x="267.5" y="312.5"/> -<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> -<celldesigner:paint color="ffcccc00" scheme="Color"/> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:compartmentAlias> -</celldesigner:listOfCompartmentAliases> -<celldesigner:listOfComplexSpeciesAliases> -<celldesigner:complexSpeciesAlias id="csa3" species="s5" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="219.0" y="79.0" w="289.0" h="240.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="205.0" y="53.0"/> -<celldesigner:boxSize width="289.0" height="240.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa2" species="s3" compartmentAlias="ca3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="31.0" y="75.0" w="165.0" h="252.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="17.0" y="49.0"/> -<celldesigner:boxSize width="165.0" height="252.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -<celldesigner:complexSpeciesAlias id="csa1" species="s1" complexSpeciesAlias="csa3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="308.0" y="139.0" w="103.0" h="56.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="brief"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="92.0" y="35.5"/> -<celldesigner:boxSize width="100.0" height="120.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="89.0" y="60.0"/> -<celldesigner:boxSize width="103.0" height="56.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -</celldesigner:listOfComplexSpeciesAliases> -<celldesigner:listOfSpeciesAliases> -<celldesigner:speciesAlias id="sa1" species="s2" complexSpeciesAlias="csa1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="308.0" y="139.0" w="103.0" h="56.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="brief"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="10.0" y="7.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="103.0" height="56.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -</celldesigner:listOfSpeciesAliases> -<celldesigner:listOfGroups/> -<celldesigner:listOfProteins> -<celldesigner:protein id="pr1" name="s2" type="GENERIC"/> -</celldesigner:listOfProteins> -<celldesigner:listOfGenes/> -<celldesigner:listOfRNAs/> -<celldesigner:listOfAntisenseRNAs/> -<celldesigner:listOfLayers/> -<celldesigner:listOfBlockDiagrams/> -</celldesigner:extension> -</annotation> -<listOfUnitDefinitions> -<unitDefinition metaid="substance" id="substance" name="substance"> -<listOfUnits> -<unit metaid="CDMT00001" kind="mole"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="volume" id="volume" name="volume"> -<listOfUnits> -<unit metaid="CDMT00002" kind="litre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="area" id="area" name="area"> -<listOfUnits> -<unit metaid="CDMT00003" kind="metre" exponent="2"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="length" id="length" name="length"> -<listOfUnits> -<unit metaid="CDMT00004" kind="metre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="time" id="time" name="time"> -<listOfUnits> -<unit metaid="CDMT00005" kind="second"/> -</listOfUnits> -</unitDefinition> -</listOfUnitDefinitions> -<listOfCompartments> -<compartment metaid="default" id="default" size="1" units="volume"/> -<compartment metaid="c3" id="c3" name="c3" size="1" units="volume" outside="default"> -<annotation> -<celldesigner:extension> -<celldesigner:name>c3</celldesigner:name> -</celldesigner:extension> -</annotation> -</compartment> -</listOfCompartments> -<listOfSpecies> -<species metaid="s3" id="s3" name="s3" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>s3</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s5" id="s5" name="s5" compartment="c3" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>s5</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -</listOfSpecies> -</model> -</sbml> diff --git a/model-command/testFiles/sample.xml b/model-command/testFiles/sample.xml deleted file mode 100644 index 8a0755ad0a623095df8241ef97c1f3ab3a917807..0000000000000000000000000000000000000000 --- a/model-command/testFiles/sample.xml +++ /dev/null @@ -1,2420 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4"> -<model metaid="untitled" id="untitled"> -<annotation> -<celldesigner:extension> -<celldesigner:modelVersion>4.0</celldesigner:modelVersion> -<celldesigner:modelDisplay sizeX="1308" sizeY="600"/> -<celldesigner:listOfIncludedSpecies> -<celldesigner:species id="s14" name="s14"> -<celldesigner:notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body/> -</html> -</celldesigner:notes> -<celldesigner:annotation> -<celldesigner:complexSpecies>s12</celldesigner:complexSpecies> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr5</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:annotation> -</celldesigner:species> -</celldesigner:listOfIncludedSpecies> -<celldesigner:listOfCompartmentAliases/> -<celldesigner:listOfComplexSpeciesAliases> -<celldesigner:complexSpeciesAlias id="csa1" species="s12"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="271.0" y="207.0" w="101.0" h="164.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:backupSize w="0.0" h="0.0"/> -<celldesigner:backupView state="none"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="101.0" height="164.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="2.0"/> -<celldesigner:paint color="fff7f7f7" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:complexSpeciesAlias> -</celldesigner:listOfComplexSpeciesAliases> -<celldesigner:listOfSpeciesAliases> -<celldesigner:speciesAlias id="sa1" species="s1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="12.0" y="6.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffffff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa2" species="s2"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="165.0" y="43.0" w="80.0" h="50.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="50.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa3" species="s3"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="289.0" y="39.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa4" species="s4"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="419.0" y="45.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa5" species="s5"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="0.0" y="118.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff66ff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa6" species="s6"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="101.0" y="129.5" w="90.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="90.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffff6666" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa7" species="s7"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="213.0" y="128.0" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffcc99ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa8" species="s8"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="358.5" y="125.5" w="25.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="25.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff9999ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa9" species="s9"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="455.0" y="169.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa10" species="s10"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="0.0" y="186.0" w="80.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffff00ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa11" species="s11"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="105.0" y="203.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="7fcccccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa12" species="s13"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="401.0" y="235.0" w="30.0" h="30.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="30.0" height="30.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffcccc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa13" species="s14" complexSpeciesAlias="csa1"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="279.0" y="233.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="8.0" y="26.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa14" species="s15"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="11.0" y="236.0" w="118.0" h="66.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="118.0" height="66.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa15" species="s16"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="160.0" y="332.0" w="119.0" h="63.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="119.0" height="63.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa22" species="s22"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="712.0" y="384.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa23" species="s22"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="918.0" y="427.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa24" species="s20"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="849.0" y="309.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa25" species="s21"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="959.0" y="271.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa26" species="s23"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="656.0" y="42.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa27" species="s23"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="695.0" y="239.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccffcc" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa28" species="s24"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="683.0" y="132.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa29" species="s25"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="819.0" y="134.0" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa30" species="s2612"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1022.7317629179333" y="209.5" w="140.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2114.4635258358667" y="3282.5"/> -<celldesigner:boxSize width="140.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa31" species="s841"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1197.2682370820667" y="287.5" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2281.0" y="3282.5"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa32" species="s2611"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1225.7682370820667" y="66.0" w="80.0" h="40.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2360.5" y="3189.0"/> -<celldesigner:boxSize width="80.0" height="40.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffffffff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa33" species="s817"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1243.7682370820667" y="12.50000000000091" w="25.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2364.5" y="3112.500000000001"/> -<celldesigner:boxSize width="25.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ff9999ff" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa34" species="s815"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1214.2682370820667" y="128.5000000000009" w="70.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2267.0" y="3112.500000000001"/> -<celldesigner:boxSize width="70.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -<celldesigner:speciesAlias id="sa35" species="s4532"> -<celldesigner:activity>inactive</celldesigner:activity> -<celldesigner:bounds x="1044.7317629179333" y="27.50000000000091" w="140.0" h="25.0"/> -<celldesigner:font size="12"/> -<celldesigner:view state="usual"/> -<celldesigner:usualView> -<celldesigner:innerPosition x="2114.4635258358667" y="3112.500000000001"/> -<celldesigner:boxSize width="140.0" height="25.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="ffccff66" scheme="Color"/> -</celldesigner:usualView> -<celldesigner:briefView> -<celldesigner:innerPosition x="0.0" y="0.0"/> -<celldesigner:boxSize width="80.0" height="60.0"/> -<celldesigner:singleLine width="1.0"/> -<celldesigner:paint color="3fff0000" scheme="Color"/> -</celldesigner:briefView> -<celldesigner:info state="empty" angle="-1.5707963267948966"/> -</celldesigner:speciesAlias> -</celldesigner:listOfSpeciesAliases> -<celldesigner:listOfGroups/> -<celldesigner:listOfProteins> -<celldesigner:protein id="pr1" name="s1" type="GENERIC"/> -<celldesigner:protein id="pr2" name="s2" type="RECEPTOR"/> -<celldesigner:protein id="pr3" name="s3" type="ION_CHANNEL"/> -<celldesigner:protein id="pr4" name="s4" type="TRUNCATED"/> -<celldesigner:protein id="pr5" name="s14" type="GENERIC"/> -<celldesigner:protein id="pr6" name="CNC" type="GENERIC"/> -<celldesigner:protein id="pr7" name="gfsdhj" type="GENERIC"/> -<celldesigner:protein id="pr11" name="s22" type="GENERIC"/> -<celldesigner:protein id="pr12" name="s23" type="GENERIC"/> -<celldesigner:protein id="pr746" name="BDH1" type="GENERIC"/> -</celldesigner:listOfProteins> -<celldesigner:listOfGenes/> -<celldesigner:listOfRNAs> -<celldesigner:RNA id="rn1" name="s5" type="RNA"/> -</celldesigner:listOfRNAs> -<celldesigner:listOfAntisenseRNAs> -<celldesigner:AntisenseRNA id="arn1" name="s6" type="ANTISENSE_RNA"/> -</celldesigner:listOfAntisenseRNAs> -<celldesigner:listOfLayers/> -<celldesigner:listOfBlockDiagrams/> -</celldesigner:extension> -</annotation> -<listOfUnitDefinitions> -<unitDefinition metaid="substance" id="substance" name="substance"> -<listOfUnits> -<unit metaid="CDMT00069" kind="mole"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="volume" id="volume" name="volume"> -<listOfUnits> -<unit metaid="CDMT00070" kind="litre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="area" id="area" name="area"> -<listOfUnits> -<unit metaid="CDMT00071" kind="metre" exponent="2"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="length" id="length" name="length"> -<listOfUnits> -<unit metaid="CDMT00072" kind="metre"/> -</listOfUnits> -</unitDefinition> -<unitDefinition metaid="time" id="time" name="time"> -<listOfUnits> -<unit metaid="CDMT00073" kind="second"/> -</listOfUnits> -</unitDefinition> -</listOfUnitDefinitions> -<listOfCompartments> -<compartment metaid="default" id="default" size="1" units="volume"/> -</listOfCompartments> -<listOfSpecies> -<species metaid="s1" id="s1" name="s1" compartment="default" initialAmount="0"> -<notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body>description of S1 -third line -</body> -</html> -</notes> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr1</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2" id="s2" name="s2" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr2</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s3" id="s3" name="s3" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr3</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s4" id="s4" name="s4" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr4</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s5" id="s5" name="s5" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>RNA</celldesigner:class> -<celldesigner:rnaReference>rn1</celldesigner:rnaReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s6" id="s6" name="s6" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>ANTISENSE_RNA</celldesigner:class> -<celldesigner:antisensernaReference>arn1</celldesigner:antisensernaReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re5"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s7" id="s7" name="s7" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PHENOTYPE</celldesigner:class> -<celldesigner:name>s7</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s8" id="s8" name="s8" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>ION</celldesigner:class> -<celldesigner:name>s8</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s9" id="s9" name="s9" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>s9</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s10" id="s10" name="s10" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>DRUG</celldesigner:class> -<celldesigner:name>s10</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s11" id="s11" name="s11" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>UNKNOWN</celldesigner:class> -<celldesigner:name>s11</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s12" id="s12" name="s12" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>COMPLEX</celldesigner:class> -<celldesigner:name>s12</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s13" id="s13" name="s13" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>DEGRADED</celldesigner:class> -<celldesigner:name>s13</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s15" id="s15" name="CNC" compartment="default" initialAmount="0" charge="0"> -<notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body>ymbol: CNC -Name: Carney complex, multiple neoplasia and lentiginosis -Description: RecName: Full=Sodium/calcium exchanger 1; AltName: Full=Na(+)/Ca(2+)-exchange protein 1; Flags: Precursor; -Previous Symbols: -Synonyms: CNC, NCX1 -ghfjkghfdjkghkdf -fdghjkfdhgjkdfgjhdf -jdsfkljsdklfjsdf -sjdkfjsdklfjkl -dsjfkjl -sdfkkjfskldjfkls -Symbol: CNC -Name: Carney complex, multiple neoplasia and lentiginosis -Description: RecName: Full=Sodium/calcium exchanger 1; AltName: Full=Na(+)/Ca(2+)-exchange protein 1; Flags: Precursor; -Previous Symbols: -Synonyms: CNC, NCX1 -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s15"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:ncbigene:6546"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</body> -</html> -</notes> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr6</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s15"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:refseq:NP_066920.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:refseq:NP_001106273.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa%3A6546"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_20130"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pharmgkb.pathways:PA314"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:refseq:NP_001106272.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa%3A6546"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:refseq:NP_001239553.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:hgnc:2141"/> -</rdf:Bag> -</bqbiol:hasVersion> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:refseq:NP_001106271.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s16" id="s16" name="gfsdhj" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr7</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s20" id="s20" name="GTP" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>GTP</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s21" id="s21" name="GDP" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>GDP</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s22" id="s22" name="s22" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr11</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s23" id="s23" name="s23" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr12</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s24" id="s24" name="ATP" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>ATP</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s25" id="s25" name="ADP" compartment="default" initialAmount="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>ADP</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2612" id="s2612" name="D-beta hydroxybutyrate" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>D-beta hydroxybutyrate</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s841" id="s841" name="NAD+" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>NAD+</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -</annotation> -</species> -<species metaid="s2611" id="s2611" name="BDH1" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>PROTEIN</celldesigner:class> -<celldesigner:proteinReference>pr746</celldesigner:proteinReference> -</celldesigner:speciesIdentity> -<celldesigner:listOfCatalyzedReactions> -<celldesigner:catalyzed reaction="re28"/> -<celldesigner:catalyzed reaction="re29"/> -</celldesigner:listOfCatalyzedReactions> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s2611"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:entrez.gene:622"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s817" id="s817" name="H+" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>ION</celldesigner:class> -<celldesigner:name>H+</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s817"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_5847.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s815" id="s815" name="NADH" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>NADH</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s815"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_2390.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -<species metaid="s4532" id="s4532" name="acetoacetate" compartment="default" initialAmount="0" charge="0"> -<annotation> -<celldesigner:extension> -<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> -<celldesigner:speciesIdentity> -<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> -<celldesigner:name>acetoacetate</celldesigner:name> -</celldesigner:speciesIdentity> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#s4532"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_5224.1"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -</species> -</listOfSpecies> -<listOfReactions> -<reaction metaid="re1" id="re1" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s10" alias="sa10"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s5" alias="sa5"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00001" species="s10"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa10</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00002" species="s5"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa5</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re2" id="re2" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s5" alias="sa5"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s1" alias="sa1"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00003" species="s5"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa5</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00004" species="s1"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re3" id="re3" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s6" alias="sa6"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2" alias="sa2"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00005" species="s6"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00006" species="s2"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa2</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re4" id="re4" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s5" alias="sa5"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s6" alias="sa6"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00007" species="s5"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa5</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00008" species="s6"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re5" id="re5" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s1" alias="sa1"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2" alias="sa2"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="UNKNOWN_CATALYSIS" modifiers="s6" aliases="sa6" targetLineIndex="-1,7"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00009" species="s1"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00010" species="s2"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa2</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00048" species="s6"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re6" id="re6" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s10" alias="sa10"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s11" alias="sa11"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00011" species="s10"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa10</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00012" species="s11"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa11</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re7" id="re7" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s11" alias="sa11"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s12" alias="csa1"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00013" species="s11"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa11</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00014" species="s12"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re8" id="re8" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s11" alias="sa11"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s6" alias="sa6"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00015" species="s11"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa11</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00016" species="s6"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re9" id="re9" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s12" alias="csa1"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s7" alias="sa7"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="2"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -<celldesigner:lineDirection index="1" value="unknown"/> -<celldesigner:lineDirection index="2" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints>0.5575958068511513,0.2645369873821708 0.6392987775053893,-0.3332879174757498</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00017" species="s12"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00018" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re10" id="re10" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s6" alias="sa6"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s7" alias="sa7"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00019" species="s6"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa6</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00020" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re11" id="re11" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s7" alias="sa7"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s3" alias="sa3"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00021" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00022" species="s3"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa3</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re12" id="re12" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s7" alias="sa7"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s4" alias="sa4"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00023" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00024" species="s4"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re13" id="re13" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2" alias="sa2"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s3" alias="sa3"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00025" species="s2"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa2</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00026" species="s3"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa3</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re14" id="re14" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s3" alias="sa3"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s4" alias="sa4"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00027" species="s3"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa3</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00028" species="s4"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re15" id="re15" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s4" alias="sa4"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s9" alias="sa9"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00029" species="s4"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00030" species="s9"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa9</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re16" id="re16" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s4" alias="sa4"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s8" alias="sa8"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00031" species="s4"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00032" species="s8"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re17" id="re17" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s8" alias="sa8"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s13" alias="sa12"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00033" species="s8"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00034" species="s13"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa12</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re18" id="re18" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s12" alias="csa1"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s13" alias="sa12"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00035" species="s12"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00036" species="s13"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa12</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re19" id="re19" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s7" alias="sa7"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s8" alias="sa8"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00037" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00038" species="s8"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re20" id="re20" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s9" alias="sa9"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s8" alias="sa8"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00039" species="s9"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa9</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00040" species="s8"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re21" id="re21" reversible="false"> -<notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body>notes for reaction -</body> -</html> -</notes> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s15" alias="sa14"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s16" alias="sa15"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="1"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -<celldesigner:lineDirection index="1" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints>0.7118419617432699,-0.433495681498556</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re21"> -<bqmodel:is> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:pubmed:123"/> -</rdf:Bag> -</bqmodel:is> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00041" species="s15"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa14</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00042" species="s16"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa15</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re22" id="re22" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s16" alias="sa15"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s15" alias="sa14"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00049" species="s16"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa15</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00050" species="s15"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa14</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re23" id="re23" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s12" alias="csa1"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s8" alias="sa8"/> -<celldesigner:baseProduct species="s7" alias="sa7"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="0" index="1" value="unknown"/> -<celldesigner:lineDirection arm="0" index="2" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="1" index="1" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="1" value="unknown"/> -<celldesigner:lineDirection arm="2" index="2" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="2" num1="1" num2="2" tShapeIndex="2">0.18282782549923482,-0.02987100654295849 0.35006352924185036,-0.10231438664656078 0.3085675700621304,0.07830364386236799 0.08461516922978274,0.12492176357975968 0.29646415360973166,-0.03506343865856057 1.558752596681942,-2.118127685609399</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00043" species="s12"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00044" species="s8"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa8</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00045" species="s7"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa7</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re24" id="re24" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s4" alias="sa4"/> -<celldesigner:baseReactant species="s12" alias="csa1"/> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s9" alias="sa9"/> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection arm="0" index="0" value="unknown"/> -<celldesigner:lineDirection arm="0" index="1" value="unknown"/> -<celldesigner:lineDirection arm="0" index="2" value="unknown"/> -<celldesigner:lineDirection arm="1" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="0" value="unknown"/> -<celldesigner:lineDirection arm="2" index="1" value="unknown"/> -<celldesigner:lineDirection arm="2" index="2" value="unknown"/> -<celldesigner:lineDirection arm="2" index="3" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints num0="2" num1="0" num2="3" tShapeIndex="2">0.4041225406185376,0.1671832431277971 0.5704248266570819,0.08721453185432626 0.35094316257607705,-3.1667282618214054E-4 0.6454315665797781,0.2748705762795411 0.5207541327645231,-0.156262363889701 -0.4844017975381516,2.3675726722098025</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00054" species="s4"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa4</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00055" species="s12"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>csa1</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00056" species="s9"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa9</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re26" id="re26" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s22" alias="sa22"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s22" alias="sa23"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:listOfReactantLinks> -<celldesigner:reactantLink reactant="s20" alias="sa24" targetLineIndex="-1,0"> -<celldesigner:linkAnchor position="S"/> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Curve"/> -</celldesigner:reactantLink> -</celldesigner:listOfReactantLinks> -<celldesigner:listOfProductLinks> -<celldesigner:productLink product="s21" alias="sa25" targetLineIndex="-1,1"> -<celldesigner:linkAnchor position="S"/> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Curve"/> -</celldesigner:productLink> -</celldesigner:listOfProductLinks> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="1"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -<celldesigner:lineDirection index="1" value="unknown"/> -<celldesigner:lineDirection index="2" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints>0.47954866008462904,-0.37000470145745523 0.9297602256699617,-0.5236483309825986</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00061" species="s22"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa22</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00062" species="s20"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa24</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00063" species="s22"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa23</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00064" species="s21"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa25</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re27" id="re27" reversible="false"> -<notes> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<title/> -</head> -<body>asd -</body> -</html> -</notes> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s23" alias="sa26"> -<celldesigner:linkAnchor position="E"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s23" alias="sa27"> -<celldesigner:linkAnchor position="W"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:listOfReactantLinks> -<celldesigner:reactantLink reactant="s24" alias="sa28" targetLineIndex="-1,0"> -<celldesigner:linkAnchor position="S"/> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Curve"/> -</celldesigner:reactantLink> -</celldesigner:listOfReactantLinks> -<celldesigner:listOfProductLinks> -<celldesigner:productLink product="s25" alias="sa29" targetLineIndex="-1,1"> -<celldesigner:linkAnchor position="S"/> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Curve"/> -</celldesigner:productLink> -</celldesigner:listOfProductLinks> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -<celldesigner:lineDirection index="1" value="unknown"/> -<celldesigner:lineDirection index="2" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints>-0.2598501687659524,-1.4924508108998107 0.1811739606709441,-1.5643296326517722</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:extension> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00065" species="s23"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa26</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00066" species="s24"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa28</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00067" species="s23"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa27</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00068" species="s25"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa29</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -</reaction> -<reaction metaid="re885" id="re28" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s4532" alias="sa35"> -<celldesigner:linkAnchor position="SSE"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s2612" alias="sa30"> -<celldesigner:linkAnchor position="NNE"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:listOfReactantLinks> -<celldesigner:reactantLink reactant="s815" alias="sa34" targetLineIndex="-1,0"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Straight"/> -</celldesigner:reactantLink> -<celldesigner:reactantLink reactant="s817" alias="sa33" targetLineIndex="-1,0"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000" type="Straight"/> -</celldesigner:reactantLink> -</celldesigner:listOfReactantLinks> -<celldesigner:listOfProductLinks> -<celldesigner:productLink product="s841" alias="sa31" targetLineIndex="-1,1"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="horizontal"/> -<celldesigner:lineDirection index="1" value="vertical"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:editPoints>0.6252698493415991,-0.5048003480862278</celldesigner:editPoints> -<celldesigner:line width="1.0" color="ff000000" type="Straight"/> -</celldesigner:productLink> -</celldesigner:listOfProductLinks> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2611" aliases="sa32" targetLineIndex="-1,2"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re885"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_631.3"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00046" species="s4532"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa35</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00047" species="s815"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa34</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00051" species="s817"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa33</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00052" species="s2612"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa30</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -<speciesReference metaid="CDMT00053" species="s841"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa31</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00057" species="s2611"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa32</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -<reaction metaid="re886" id="re29" reversible="false"> -<annotation> -<celldesigner:extension> -<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> -<celldesigner:baseReactants> -<celldesigner:baseReactant species="s2612" alias="sa30"> -<celldesigner:linkAnchor position="NNW"/> -</celldesigner:baseReactant> -</celldesigner:baseReactants> -<celldesigner:baseProducts> -<celldesigner:baseProduct species="s4532" alias="sa35"> -<celldesigner:linkAnchor position="SSW"/> -</celldesigner:baseProduct> -</celldesigner:baseProducts> -<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -<celldesigner:listOfModification> -<celldesigner:modification type="CATALYSIS" modifiers="s2611" aliases="sa32" targetLineIndex="-1,3"> -<celldesigner:connectScheme connectPolicy="direct"> -<celldesigner:listOfLineDirection> -<celldesigner:lineDirection index="0" value="unknown"/> -</celldesigner:listOfLineDirection> -</celldesigner:connectScheme> -<celldesigner:line width="1.0" color="ff000000"/> -</celldesigner:modification> -</celldesigner:listOfModification> -</celldesigner:extension> -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> -<rdf:Description rdf:about="#re886"> -<bqbiol:hasVersion> -<rdf:Bag> -<rdf:li rdf:resource="urn:miriam:reactome:REACT_1493.4"/> -</rdf:Bag> -</bqbiol:hasVersion> -</rdf:Description> -</rdf:RDF> -</annotation> -<listOfReactants> -<speciesReference metaid="CDMT00058" species="s2612"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa30</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfReactants> -<listOfProducts> -<speciesReference metaid="CDMT00059" species="s4532"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa35</celldesigner:alias> -</celldesigner:extension> -</annotation> -</speciesReference> -</listOfProducts> -<listOfModifiers> -<modifierSpeciesReference metaid="CDMT00060" species="s2611"> -<annotation> -<celldesigner:extension> -<celldesigner:alias>sa32</celldesigner:alias> -</celldesigner:extension> -</annotation> -</modifierSpeciesReference> -</listOfModifiers> -</reaction> -</listOfReactions> -</model> -</sbml> diff --git a/model-command/testFiles/xmlNodeTestExamples/antisense_rna.xml b/model-command/testFiles/xmlNodeTestExamples/antisense_rna.xml new file mode 100644 index 0000000000000000000000000000000000000000..bba9ae5a93e6ecb12c66b18ec55a48c8f639c314 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/antisense_rna.xml @@ -0,0 +1,15 @@ +<celldesigner:AntisenseRNA id="arn1" name="s1" type="ANTISENSE_RNA"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +some notes +</body> +</html> +</celldesigner:notes> +<celldesigner:listOfRegions> +<celldesigner:region id="tr1" name="zzz" size="0.3" pos="0.29999999999999993" type="CodingRegion"/> +</celldesigner:listOfRegions> +</celldesigner:AntisenseRNA> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/block_diagrams.xml b/model-command/testFiles/xmlNodeTestExamples/block_diagrams.xml new file mode 100644 index 0000000000000000000000000000000000000000..15d462cb5d4afada6184abc3ff55fd267bc22d20 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/block_diagrams.xml @@ -0,0 +1,15 @@ +<celldesigner:listOfBlockDiagrams> +<celldesigner:blockDiagram protein="pr1"> +<celldesigner:canvas height="312" width="476"/> +<celldesigner:block height="90" nameOffsetX="-8.0" nameOffsetY="-8.0" width="140" x="100" y="50"/> +<celldesigner:halo height="150" width="200" x="70" y="20"/> +<celldesigner:listOfResiduesInBlockDiagram> +<celldesigner:residueInBlockDiagram id="0" offsetX="-27.0" type="dontcare"/> +</celldesigner:listOfResiduesInBlockDiagram> +<celldesigner:listOfExternalNamesForResidue/> +<celldesigner:listOfBindingSitesInBlockDiagram/> +<celldesigner:listOfEffectSitesInBlockDiagram/> +<celldesigner:listOfInternalOperatorsInBlockDiagram/> +<celldesigner:listOfInternalLinksInBlockDiagram/> +</celldesigner:blockDiagram> +</celldesigner:listOfBlockDiagrams> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_antisense_rna_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_antisense_rna_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..36c6c6d596924d2e583c08bab474613963754bd4 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_antisense_rna_collection.xml @@ -0,0 +1,4 @@ +<celldesigner:listOfAntisenseRNAs> +<celldesigner:AntisenseRNA id="arn1" name="s6" type="ANTISENSE_RNA"/> +<celldesigner:AntisenseRNA id="arn2" name="s8" type="ANTISENSE_RNA"/> +</celldesigner:listOfAntisenseRNAs> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias.xml b/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias.xml new file mode 100644 index 0000000000000000000000000000000000000000..f2f9049128675f1554eef5a45b1bccc6532342dc --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias.xml @@ -0,0 +1,8 @@ +<celldesigner:compartmentAlias id="ca1" compartment="c1"> +<celldesigner:class>SQUARE</celldesigner:class> +<celldesigner:bounds x="139.0" y="55.0" w="522.0" h="178.0"/> +<celldesigner:namePoint x="392.5" y="196.5"/> +<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> +<celldesigner:paint color="ffcccc00" scheme="Color"/> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:compartmentAlias> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..a278e98f461fb39e7aa8d800dccba9290c72d938 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_compartment_alias_collection.xml @@ -0,0 +1,26 @@ +<celldesigner:listOfCompartmentAliases> +<celldesigner:compartmentAlias id="ca1" compartment="c1"> +<celldesigner:class>SQUARE</celldesigner:class> +<celldesigner:bounds x="139.0" y="55.0" w="522.0" h="178.0"/> +<celldesigner:namePoint x="392.5" y="196.5"/> +<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> +<celldesigner:paint color="ffcccc00" scheme="Color"/> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:compartmentAlias> +<celldesigner:compartmentAlias id="ca2" compartment="c2"> +<celldesigner:class>SQUARE</celldesigner:class> +<celldesigner:bounds x="707.0" y="187.0" w="118.0" h="73.0"/> +<celldesigner:namePoint x="758.5" y="223.5"/> +<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> +<celldesigner:paint color="ffcccc00" scheme="Color"/> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:compartmentAlias> +<celldesigner:compartmentAlias id="ca3" compartment="c3"> +<celldesigner:class>OVAL</celldesigner:class> +<celldesigner:bounds x="185.0" y="143.0" w="86.0" h="50.0"/> +<celldesigner:namePoint x="220.5" y="156.11618483532334"/> +<celldesigner:doubleLine thickness="12.0" outerWidth="2.0" innerWidth="1.0"/> +<celldesigner:paint color="ffcccc00" scheme="Color"/> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:compartmentAlias> +</celldesigner:listOfCompartmentAliases> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias.xml b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias.xml new file mode 100644 index 0000000000000000000000000000000000000000..95ff9bf4150dea3462f9fdea40c4f624fe92da17 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias.xml @@ -0,0 +1,21 @@ +<celldesigner:complexSpeciesAlias id="csa1" species="s2597"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="744.0" y="0.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..22c1ec5c43f6643cc0f7735c1111e13138c84a9d --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_collection.xml @@ -0,0 +1,65 @@ +<celldesigner:listOfComplexSpeciesAliases> +<celldesigner:complexSpeciesAlias id="csa1" species="s2597"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="744.0" y="0.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa2" species="s2598"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="863.0" y="35.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa3" species="s2599" complexSpeciesAlias="csa1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="767.0" y="15.0" w="61.0" h="87.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="23.0" y="15.0"/> +<celldesigner:boxSize width="61.0" height="87.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +</celldesigner:listOfComplexSpeciesAliases> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_empty_state.xml b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_empty_state.xml new file mode 100644 index 0000000000000000000000000000000000000000..bf37613db890d17ecff3ec40fc57b012f9375caf --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_empty_state.xml @@ -0,0 +1,21 @@ +<celldesigner:complexSpeciesAlias id="csa1" species="s2597"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="744.0" y="0.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_parent.xml b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_parent.xml new file mode 100644 index 0000000000000000000000000000000000000000..032fdf22b55c648f3eca0abdd340cfdc74d49c4e --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_complex_alias_with_parent.xml @@ -0,0 +1,21 @@ +<celldesigner:complexSpeciesAlias id="csa2" species="s2" complexSpeciesAlias="csa1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="183.0" y="156.0" w="78.0" h="101.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="11.0" y="9.0"/> +<celldesigner:boxSize width="78.0" height="101.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_gene_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_gene_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..fc0f27d416abf059565bbc52b9ed08bb375b2964 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_gene_collection.xml @@ -0,0 +1,4 @@ +<celldesigner:listOfGenes> +<celldesigner:gene id="gn1" name="s3" type="GENE"/> +<celldesigner:gene id="gn2" name="s4" type="GENE"/> +</celldesigner:listOfGenes> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_included_species_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_included_species_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ac2917c63c1656375360a9c9377dc439af91b25 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_included_species_collection.xml @@ -0,0 +1,53 @@ +<celldesigner:listOfIncludedSpecies> +<celldesigner:species id="s10" name="s10"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s9</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s10</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s11" name="s11"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s9</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr3</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s12" name="s12"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s10</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr4</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +</celldesigner:listOfIncludedSpecies> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_protein_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_protein_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..527d1e134c67dfff3e18e5dd5a15a5a46e758125 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_protein_collection.xml @@ -0,0 +1,6 @@ +<celldesigner:listOfProteins> +<celldesigner:protein id="pr1" name="s1" type="GENERIC"/> +<celldesigner:protein id="pr2" name="s2" type="GENERIC"/> +<celldesigner:protein id="pr3" name="s11" type="GENERIC"/> +<celldesigner:protein id="pr4" name="s12" type="GENERIC"/> +</celldesigner:listOfProteins> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_rna_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_rna_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdee0dee3d1ececd1dee0dd81eff83e58d79cf4a --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_rna_collection.xml @@ -0,0 +1,4 @@ +<celldesigner:listOfRNAs> +<celldesigner:RNA id="rn1" name="s5" type="RNA"/> +<celldesigner:RNA id="rn2" name="s7" type="RNA"/> +</celldesigner:listOfRNAs> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_sbml_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_sbml_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d9b3b4af1bdc66d333c5e41699d325b98e2dba2 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_sbml_collection.xml @@ -0,0 +1,101 @@ +<listOfSpecies> +<species metaid="s1" id="s1" name="s1" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr1</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s2" id="s2" name="s2" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr2</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s3" id="s3" name="s3" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>GENE</celldesigner:class> +<celldesigner:geneReference>gn1</celldesigner:geneReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s4" id="s4" name="s4" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>GENE</celldesigner:class> +<celldesigner:geneReference>gn2</celldesigner:geneReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s5" id="s5" name="s5" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>RNA</celldesigner:class> +<celldesigner:rnaReference>rn1</celldesigner:rnaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s6" id="s6" name="s6" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>ANTISENSE_RNA</celldesigner:class> +<celldesigner:antisensernaReference>arn1</celldesigner:antisensernaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s7" id="s7" name="s7" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>RNA</celldesigner:class> +<celldesigner:rnaReference>rn2</celldesigner:rnaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s8" id="s8" name="s8" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>ANTISENSE_RNA</celldesigner:class> +<celldesigner:antisensernaReference>arn2</celldesigner:antisensernaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s9" id="s9" name="s9" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s9</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +</listOfSpecies> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/cd_species_alias_collection.xml b/model-command/testFiles/xmlNodeTestExamples/cd_species_alias_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..8fe0e36940e95c81170c76f2c113eaac9c8b04da --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/cd_species_alias_collection.xml @@ -0,0 +1,78 @@ +<celldesigner:listOfSpeciesAliases> +<celldesigner:speciesAlias id="sa8" species="s2594"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="510.83547998986796" y="449.34999999999997" w="261.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="1459.6161980749753" y="5346.0"/> +<celldesigner:boxSize width="261.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa9" species="s2506"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="506.33547998986796" y="613.8499999999999" w="262.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="1459.1161980749753" y="5539.5"/> +<celldesigner:boxSize width="262.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa10" species="s2595"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="282.0" y="75.0" w="134.0" h="94.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="134.0" height="94.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa11" species="s2596"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="483.0" y="76.0" w="82.0" h="96.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="82.0" height="96.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +</celldesigner:listOfSpeciesAliases> diff --git a/model-command/testFiles/xmlNodeTestExamples/compartment.xml b/model-command/testFiles/xmlNodeTestExamples/compartment.xml new file mode 100644 index 0000000000000000000000000000000000000000..da23a06a1c93990b3bd370922022f60896674003 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/compartment.xml @@ -0,0 +1,16 @@ +<compartment metaid="c1" id="c1" name="c1" size="1" units="volume" outside="default"> +<annotation> +<celldesigner:extension> +<celldesigner:name>c1</celldesigner:name> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#c1"> +<bqmodel:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:123"/> +</rdf:Bag> +</bqmodel:is> +</rdf:Description> +</rdf:RDF> +</annotation> +</compartment> diff --git a/model-command/testFiles/xmlNodeTestExamples/gene.xml b/model-command/testFiles/xmlNodeTestExamples/gene.xml new file mode 100644 index 0000000000000000000000000000000000000000..82e893f865462671eead57c4acba8a31f9a551de --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/gene.xml @@ -0,0 +1,12 @@ +<celldesigner:gene id="gn3" name="BCL6" type="GENE"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +B-cell CLL/lymphoma 6 +</body> +</html> +</celldesigner:notes> +</celldesigner:gene> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/layer.xml b/model-command/testFiles/xmlNodeTestExamples/layer.xml new file mode 100644 index 0000000000000000000000000000000000000000..ac0718cca948429afc5b3d7381dea7892ae8dcc3 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer.xml @@ -0,0 +1,34 @@ +<celldesigner:layer id="1" name="Layer0001" locked="false" visible="true"> +<celldesigner:listOfTexts> +<celldesigner:layerSpeciesAlias x="0.0" y="0.0"> +<celldesigner:layerNotes> +text node +</celldesigner:layerNotes> +<celldesigner:bounds x="55.0" y="37.0" w="152.0" h="105.0"/> +<celldesigner:paint color="ff000000"/> +<celldesigner:font size="11"/> +</celldesigner:layerSpeciesAlias> +</celldesigner:listOfTexts> +<celldesigner:listOfSquares> +<celldesigner:layerCompartmentAlias type="Oval"> +<celldesigner:bounds x="268.0" y="34.0" w="211.0" h="97.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> +<celldesigner:layerCompartmentAlias type="Square"> +<celldesigner:bounds x="271.0" y="169.0" w="227.0" h="95.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> +</celldesigner:listOfSquares> +<celldesigner:listOfFreeLines> +<celldesigner:layerFreeLine isArrow="false" isDotted="false"> +<celldesigner:bounds sx="75.0" sy="349.0" ex="238.0" ey="279.0"/> +<celldesigner:line width="5.0" color="ff000000"/> +</celldesigner:layerFreeLine> +<celldesigner:layerFreeLine isArrow="true" isDotted="false"> +<celldesigner:bounds sx="56.0" sy="270.0" ex="181.0" ey="193.0"/> +<celldesigner:line width="5.0" color="ff000000"/> +</celldesigner:layerFreeLine> +</celldesigner:listOfFreeLines> +</celldesigner:layer> diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_collection.xml b/model-command/testFiles/xmlNodeTestExamples/layer_collection.xml new file mode 100644 index 0000000000000000000000000000000000000000..818cce79cf0462baba5b90542c379992fb1eac19 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_collection.xml @@ -0,0 +1,36 @@ +<celldesigner:listOfLayers> +<celldesigner:layer id="1" name="Layer0001" locked="false" visible="true"> +<celldesigner:listOfTexts> +<celldesigner:layerSpeciesAlias x="0.0" y="0.0"> +<celldesigner:layerNotes> +text node +</celldesigner:layerNotes> +<celldesigner:bounds x="55.0" y="37.0" w="152.0" h="105.0"/> +<celldesigner:paint color="ff000000"/> +<celldesigner:font size="11"/> +</celldesigner:layerSpeciesAlias> +</celldesigner:listOfTexts> +<celldesigner:listOfSquares> +<celldesigner:layerCompartmentAlias type="Oval"> +<celldesigner:bounds x="268.0" y="34.0" w="211.0" h="97.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> +<celldesigner:layerCompartmentAlias type="Square"> +<celldesigner:bounds x="271.0" y="169.0" w="227.0" h="95.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> +</celldesigner:listOfSquares> +<celldesigner:listOfFreeLines> +<celldesigner:layerFreeLine isArrow="false" isDotted="false"> +<celldesigner:bounds sx="75.0" sy="349.0" ex="238.0" ey="279.0"/> +<celldesigner:line width="5.0" color="ff000000"/> +</celldesigner:layerFreeLine> +<celldesigner:layerFreeLine isArrow="true" isDotted="false"> +<celldesigner:bounds sx="56.0" sy="270.0" ex="181.0" ey="193.0"/> +<celldesigner:line width="5.0" color="ff000000"/> +</celldesigner:layerFreeLine> +</celldesigner:listOfFreeLines> +</celldesigner:layer> +</celldesigner:listOfLayers> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_line.xml b/model-command/testFiles/xmlNodeTestExamples/layer_line.xml new file mode 100644 index 0000000000000000000000000000000000000000..54eed30828ebf78f052c9d9d0528a1f50637ded7 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_line.xml @@ -0,0 +1,4 @@ +<celldesigner:layerFreeLine isArrow="true" isDotted="false"> +<celldesigner:bounds sx="56.0" sy="270.0" ex="181.0" ey="193.0"/> +<celldesigner:line width="5.0" color="ff000000"/> +</celldesigner:layerFreeLine> diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_oval.xml b/model-command/testFiles/xmlNodeTestExamples/layer_oval.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ac57f3ae62d3d85bfdbf683fb3bf7dfcde6065f --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_oval.xml @@ -0,0 +1,5 @@ +<celldesigner:layerCompartmentAlias type="Oval"> +<celldesigner:bounds x="268.0" y="34.0" w="211.0" h="97.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_square.xml b/model-command/testFiles/xmlNodeTestExamples/layer_square.xml new file mode 100644 index 0000000000000000000000000000000000000000..c1a7322b1526d7ebf6e30427ca77c1f62b813525 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_square.xml @@ -0,0 +1,5 @@ +<celldesigner:layerCompartmentAlias type="Square"> +<celldesigner:bounds x="271.0" y="169.0" w="227.0" h="95.0"/> +<celldesigner:paint color="ff000000" scheme="Gradation"/> +<celldesigner:ispaint inner="false"/> +</celldesigner:layerCompartmentAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_text.xml b/model-command/testFiles/xmlNodeTestExamples/layer_text.xml new file mode 100644 index 0000000000000000000000000000000000000000..70e0c5a798136b222da097762b5fcf4ca2dd8ee2 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_text.xml @@ -0,0 +1,8 @@ +<celldesigner:layerSpeciesAlias x="0.0" y="0.0"> +<celldesigner:layerNotes> +text node +</celldesigner:layerNotes> +<celldesigner:bounds x="55.0" y="37.0" w="152.0" h="105.0"/> +<celldesigner:paint color="ff000000"/> +<celldesigner:font size="11"/> +</celldesigner:layerSpeciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/layer_text_with_z_index.xml b/model-command/testFiles/xmlNodeTestExamples/layer_text_with_z_index.xml new file mode 100644 index 0000000000000000000000000000000000000000..68185b6d00a516db4d300ca2d6cd24028b22efbb --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/layer_text_with_z_index.xml @@ -0,0 +1,9 @@ +<celldesigner:layerSpeciesAlias x="0.0" y="0.0"> +<celldesigner:layerNotes> +text node +Z-Index: 19 +</celldesigner:layerNotes> +<celldesigner:bounds x="55.0" y="37.0" w="152.0" h="105.0"/> +<celldesigner:paint color="ff000000"/> +<celldesigner:font size="11"/> +</celldesigner:layerSpeciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/nested_complex.xml b/model-command/testFiles/xmlNodeTestExamples/nested_complex.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b1edfd3d04d554c15a6122a3ff4f5b98fc45981 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/nested_complex.xml @@ -0,0 +1,490 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sbml xmlns="http://www.sbml.org/sbml/level2/version4" xmlns:celldesigner="http://www.sbml.org/2001/ns/celldesigner" level="2" version="4"> +<model metaid="untitled" id="untitled"> +<annotation> +<celldesigner:extension> +<celldesigner:modelVersion>4.0</celldesigner:modelVersion> +<celldesigner:modelDisplay sizeX="600" sizeY="400"/> +<celldesigner:listOfIncludedSpecies> +<celldesigner:species id="s3" name="s3"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s1</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s3</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s4" name="s4"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s6</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s4</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s5" name="s5"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s6</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s5</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s7" name="s7"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s2</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr1</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s8" name="s8"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s2</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr2</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s9" name="s9"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s1</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> +<celldesigner:name>s9</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s10" name="s10"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s5</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr3</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s11" name="s11"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s5</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr4</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +<celldesigner:species id="s12" name="s12"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body/> +</html> +</celldesigner:notes> +<celldesigner:annotation> +<celldesigner:complexSpecies>s6</celldesigner:complexSpecies> +<celldesigner:speciesIdentity> +<celldesigner:class>GENE</celldesigner:class> +<celldesigner:geneReference>gn1</celldesigner:geneReference> +</celldesigner:speciesIdentity> +</celldesigner:annotation> +</celldesigner:species> +</celldesigner:listOfIncludedSpecies> +<celldesigner:listOfCompartmentAliases/> +<celldesigner:listOfComplexSpeciesAliases> +<celldesigner:complexSpeciesAlias id="csa1" species="s1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="49.0" y="33.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa6" species="s6"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="329.0" y="22.0" w="178.0" h="195.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="178.0" height="195.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa3" species="s3" complexSpeciesAlias="csa1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="59.0" y="44.0" w="46.0" h="41.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="10.0" y="11.0"/> +<celldesigner:boxSize width="46.0" height="41.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa5" species="s5" complexSpeciesAlias="csa6"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="341.0" y="76.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="12.0" y="54.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa2" species="s2"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="194.0" y="29.0" w="100.0" h="120.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="100.0" height="120.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +<celldesigner:complexSpeciesAlias id="csa4" species="s4" complexSpeciesAlias="csa6"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="445.0" y="35.0" w="56.0" h="68.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:backupSize w="0.0" h="0.0"/> +<celldesigner:backupView state="none"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="116.0" y="13.0"/> +<celldesigner:boxSize width="56.0" height="68.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="2.0"/> +<celldesigner:paint color="fff7f7f7" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:complexSpeciesAlias> +</celldesigner:listOfComplexSpeciesAliases> +<celldesigner:listOfSpeciesAliases> +<celldesigner:speciesAlias id="sa1" species="s7" complexSpeciesAlias="csa2"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="203.0" y="39.0" w="80.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="9.0" y="10.0"/> +<celldesigner:boxSize width="80.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa2" species="s8" complexSpeciesAlias="csa2"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="204.0" y="94.0" w="80.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="10.0" y="65.0"/> +<celldesigner:boxSize width="80.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa3" species="s9" complexSpeciesAlias="csa1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="56.0" y="101.5" w="70.0" h="25.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="7.0" y="68.5"/> +<celldesigner:boxSize width="70.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa4" species="s10" complexSpeciesAlias="csa5"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="347.0" y="87.0" w="80.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="6.0" y="11.0"/> +<celldesigner:boxSize width="80.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa5" species="s11" complexSpeciesAlias="csa5"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="350.0" y="139.0" w="80.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="9.0" y="63.0"/> +<celldesigner:boxSize width="80.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffffcccc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +<celldesigner:speciesAlias id="sa6" species="s12" complexSpeciesAlias="csa6"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="339.0" y="35.5" w="70.0" h="25.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="10.0" y="13.5"/> +<celldesigner:boxSize width="70.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffffff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> +</celldesigner:listOfSpeciesAliases> +<celldesigner:listOfGroups/> +<celldesigner:listOfProteins> +<celldesigner:protein id="pr1" name="s7" type="GENERIC"/> +<celldesigner:protein id="pr2" name="s8" type="GENERIC"/> +<celldesigner:protein id="pr3" name="s10" type="GENERIC"/> +<celldesigner:protein id="pr4" name="s11" type="TRUNCATED"/> +</celldesigner:listOfProteins> +<celldesigner:listOfGenes> +<celldesigner:gene id="gn1" name="s12" type="GENE"/> +</celldesigner:listOfGenes> +<celldesigner:listOfRNAs/> +<celldesigner:listOfAntisenseRNAs/> +<celldesigner:listOfLayers/> +<celldesigner:listOfBlockDiagrams/> +</celldesigner:extension> +</annotation> +<listOfUnitDefinitions> +<unitDefinition metaid="substance" id="substance" name="substance"> +<listOfUnits> +<unit metaid="CDMT00001" kind="mole"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="volume" id="volume" name="volume"> +<listOfUnits> +<unit metaid="CDMT00002" kind="litre"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="area" id="area" name="area"> +<listOfUnits> +<unit metaid="CDMT00003" kind="metre" exponent="2"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="length" id="length" name="length"> +<listOfUnits> +<unit metaid="CDMT00004" kind="metre"/> +</listOfUnits> +</unitDefinition> +<unitDefinition metaid="time" id="time" name="time"> +<listOfUnits> +<unit metaid="CDMT00005" kind="second"/> +</listOfUnits> +</unitDefinition> +</listOfUnitDefinitions> +<listOfCompartments> +<compartment metaid="default" id="default" size="1" units="volume"/> +</listOfCompartments> +<listOfSpecies> +<species metaid="s1" id="s1" name="s1" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s1</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s2" id="s2" name="s2" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s2</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +<species metaid="s6" id="s6" name="s6" compartment="default" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>s6</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> +</listOfSpecies> +</model> +</sbml> diff --git a/model-command/testFiles/xmlNodeTestExamples/notes.xml b/model-command/testFiles/xmlNodeTestExamples/notes.xml new file mode 100644 index 0000000000000000000000000000000000000000..07e958faee7d9bb5fd682ca528679300524a2818 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes.xml @@ -0,0 +1,10 @@ +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Description: some notes +</body> +</html> +</celldesigner:notes> diff --git a/model-command/testFiles/xmlNodeTestExamples/notes2.xml b/model-command/testFiles/xmlNodeTestExamples/notes2.xml new file mode 100644 index 0000000000000000000000000000000000000000..fe5db406a203836ada3d7592b72be7b174c84350 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes2.xml @@ -0,0 +1,23 @@ +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Symbol: SNCA +Previous Symbols: X1, X2, X3 +Synonyms: Y1, Y2, Y3 +Name: Synuclein alpha (or something) +Abbreviation: SN +Formula: form +MechanicalConfidenceScore: 2 +LowerBound: 2 +UpperBound: 2 +Subsystem: 2 +GeneProteinReaction: 1 +ChargedFormula: 1 +Charge:15 +some notes +</body> +</html> +</celldesigner:notes> diff --git a/model-command/testFiles/xmlNodeTestExamples/notes3.xml b/model-command/testFiles/xmlNodeTestExamples/notes3.xml new file mode 100644 index 0000000000000000000000000000000000000000..68f0aadbf7ce91b973d5a570b05d3385e6d72f11 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes3.xml @@ -0,0 +1,11 @@ +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Description: some notes +some notes +</body> +</html> +</celldesigner:notes> diff --git a/model-command/testFiles/xmlNodeTestExamples/notes4.xml b/model-command/testFiles/xmlNodeTestExamples/notes4.xml new file mode 100644 index 0000000000000000000000000000000000000000..444dade224bdda399f10283c4da4dec8f280c86f --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes4.xml @@ -0,0 +1,11 @@ +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Description: some notes some notes Symbol: strange2 +some notes some notes Symbol: strange3 +</body> +</html> +</celldesigner:notes> diff --git a/model-command/testFiles/xmlNodeTestExamples/notes5.xml b/model-command/testFiles/xmlNodeTestExamples/notes5.xml new file mode 100644 index 0000000000000000000000000000000000000000..b4d6531235e9a014514bc722dc172b7c9226f549 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes5.xml @@ -0,0 +1,43 @@ +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdfa:Description rdf:about="#s6095"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hgnc:18429"/></rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family:PTHR11695"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_036344.2"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001139580.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family:ADH_Sf_Zn"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa:22949"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001139581.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:ncbigene:22949"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/notes_invalid_charge.xml b/model-command/testFiles/xmlNodeTestExamples/notes_invalid_charge.xml new file mode 100644 index 0000000000000000000000000000000000000000..8e2a9d5f76a483fecc5a5ff93c8f2859bfae17de --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/notes_invalid_charge.xml @@ -0,0 +1,11 @@ +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Charge:a15 +some notes +</body> +</html> +</celldesigner:notes> diff --git a/model-command/testFiles/xmlNodeTestExamples/protein.xml b/model-command/testFiles/xmlNodeTestExamples/protein.xml new file mode 100644 index 0000000000000000000000000000000000000000..835d0522dc38d576d721da4db15daef26aaf0383 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/protein.xml @@ -0,0 +1,16 @@ +<celldesigner:protein id="pr23" name="SDHA" type="GENERIC"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +UniProtKB P31040 SDHA GO:0005749 GO_REF:0000024|UniProtKB:Q0QF01 ISS UniProtKB:Q0QF01 C Succinate dehydrogenase [ubiquinone] flavoprotein subunit, mitochondrial A8K5J6|DHSA_HUMAN|IPI00305166|Q16395|Q9UMY5|SDH2|SDHA|SDHF protein taxon:9606 20100125 UniProtKB +UniProtKB P31040 SDHA GO:0005749 PMID:7550341 TAS C Succinate dehydrogenase [ubiquinone] flavoprotein subunit, mitochondrial A8K5J6|DHSA_HUMAN|IPI00305166|Q16395|Q9UMY5|SDH2|SDHA|SDHF protein taxon:9606 20060419 UniProtKB +</body> +</html> +</celldesigner:notes> +<celldesigner:listOfModificationResidues> +<celldesigner:modificationResidue angle="3.141592653589793" name="S176 bla bla" id="rs1" side="none"/> +</celldesigner:listOfModificationResidues> +</celldesigner:protein> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_dissociation_with_addition.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_dissociation_with_addition.xml new file mode 100644 index 0000000000000000000000000000000000000000..15b2c0852ad7302848f0eabbbdb5a128f1f0406a --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_dissociation_with_addition.xml @@ -0,0 +1,102 @@ +<reaction metaid="re1" id="re1" name="aloha" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>DISSOCIATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="SSE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="NNE"/> +</celldesigner:baseProduct> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="NW"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s4" alias="sa4" targetLineIndex="0,0"> +<celldesigner:linkAnchor position="W"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s5" alias="sa5" targetLineIndex="0,1"> +<celldesigner:linkAnchor position="WNW"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="0" index="1" value="unknown"/> +<celldesigner:lineDirection arm="0" index="2" value="unknown"/> +<celldesigner:lineDirection arm="0" index="3" value="unknown"/> +<celldesigner:lineDirection arm="0" index="4" value="unknown"/> +<celldesigner:lineDirection arm="0" index="5" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="1" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="2" value="unknown"/> +<celldesigner:lineDirection arm="1" index="3" value="unknown"/> +<celldesigner:lineDirection arm="1" index="4" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="1" value="unknown"/> +<celldesigner:lineDirection arm="2" index="2" value="unknown"/> +<celldesigner:lineDirection arm="2" index="3" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="5" num1="4" num2="3" tShapeIndex="4">0.24786965283331241,1.4184399101982113 -0.2596602279438036,1.409877231858308 -0.35727191415681503,1.804760442830816 -2.2937599753831828,2.3784995538158102 0.363430985846696,2.922639182307759 0.6907115513398443,-0.8263950664174549 2.4806278565589914,-0.4844627944362667 2.1882644295694513,0.7795393156288313 0.5889014911814525,0.4467636503788679 1.5935032940046754,-0.8321513746664665 2.865325410784639,0.40459762305228997 1.0122523879316598,0.7052996795089067 0.1856396292788527,0.3448028007035582</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00011" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00012" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa5</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer.xml new file mode 100644 index 0000000000000000000000000000000000000000..f759f74c79c412a8fad4d6f0eda5f4bbbd5e8545 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer.xml @@ -0,0 +1,54 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseReactant> +<celldesigner:baseReactant species="s2" alias="sa2"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="0" num1="0" num2="0" tShapeIndex="0">0.3543143297380586,0.41502311248073964</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer_with_additions.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer_with_additions.xml new file mode 100644 index 0000000000000000000000000000000000000000..83738af5929eef26384ac1b2595e82e4c817ae35 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_heterodimer_with_additions.xml @@ -0,0 +1,101 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +<celldesigner:baseReactant species="s2" alias="sa2"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s4" alias="sa4" targetLineIndex="-1,0"> +<celldesigner:linkAnchor position="SSE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s5" alias="sa5" targetLineIndex="-1,1"> +<celldesigner:linkAnchor position="SSW"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="0" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="1" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="2" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="1" value="unknown"/> +<celldesigner:lineDirection arm="2" index="2" value="unknown"/> +<celldesigner:lineDirection arm="2" index="3" value="unknown"/> +<celldesigner:lineDirection arm="2" index="4" value="unknown"/> +<celldesigner:lineDirection arm="2" index="5" value="unknown"/> +<celldesigner:lineDirection arm="2" index="6" value="unknown"/> +<celldesigner:lineDirection arm="2" index="7" value="unknown"/> +<celldesigner:lineDirection arm="2" index="8" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="1" num1="2" num2="8" tShapeIndex="6">0.6898190045248871,0.41493212669683266 0.3690344574394102,0.4436355655530426 0.4067830423940162,-0.618154613466328 0.2057070196067705,0.27418031666165343 0.5573109932903977,0.24900556265208795 0.24307206195228326,0.011601570519530924 0.32722922889758355,-0.3519683205847308 0.23631167935790365,-0.6299101283205016 0.4451161869205815,-0.42463489483307004 2.1976031495216395,-0.051531612298451046 2.125528547270494,0.29079378866696914 0.34738186462324405,0.46335826795596924</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00009" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00010" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa5</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_positive_influence.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_positive_influence.xml new file mode 100644 index 0000000000000000000000000000000000000000..6f969cbb9a88aae0d26229fe3b8154f82f132936 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_positive_influence.xml @@ -0,0 +1,41 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>POSITIVE_INFLUENCE</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transcription.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transcription.xml new file mode 100644 index 0000000000000000000000000000000000000000..ce5e630ed7ea90d676ef2a968afda2b1a77c3e0a --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transcription.xml @@ -0,0 +1,41 @@ +<reaction metaid="re4" id="re4" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s4" alias="sa4"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transcription_with_additions.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transcription_with_additions.xml new file mode 100644 index 0000000000000000000000000000000000000000..5686ed88800d7fbcea292d09ea2a8ffafb2701ea --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transcription_with_additions.xml @@ -0,0 +1,80 @@ +<reaction metaid="re4" id="re4" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRANSCRIPTION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s4" alias="sa4"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s6" alias="sa6" targetLineIndex="-1,0"> +<celldesigner:linkAnchor position="NNE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="vertical"/> +<celldesigner:lineDirection index="1" value="horizontal"/> +<celldesigner:lineDirection index="2" value="vertical"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints>0.3275574775411034,-0.25113523762663204 0.6977609748292235,0.23172381829317268</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s5" alias="sa5" targetLineIndex="-1,1"> +<celldesigner:linkAnchor position="NNE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00008" species="s6"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa6</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00009" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa5</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transition.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transition.xml new file mode 100644 index 0000000000000000000000000000000000000000..0f8edfbdda56b01e196837ebfcc7ec6012252d89 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transition.xml @@ -0,0 +1,45 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="2"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +<celldesigner:lineDirection index="2" value="unknown"/> +<celldesigner:lineDirection index="3" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints>0.24477145008979806,0.2737964196744106 0.3030703119434812,-0.2478987966128221 0.845451600125741,-0.29800234330419595</celldesigner:editPoints> +<celldesigner:line width="2.0" color="ff120000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transitionWithAdditionalNodes.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transitionWithAdditionalNodes.xml new file mode 100644 index 0000000000000000000000000000000000000000..2154bc1a73eccecc094cef9c641cf190b88f298f --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transitionWithAdditionalNodes.xml @@ -0,0 +1,86 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s4" alias="sa4" targetLineIndex="-1,0"> +<celldesigner:linkAnchor position="NNE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints>0.2694923595421561,0.03113391403065835</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s5" alias="sa5" targetLineIndex="-1,1"> +<celldesigner:linkAnchor position="N"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +<celldesigner:lineDirection index="2" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints>0.5963993894126993,-0.05429989069902841 0.5448875616378848,-1.603902125616216</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="2"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +<celldesigner:lineDirection index="2" value="unknown"/> +<celldesigner:lineDirection index="3" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints>0.11233758456827642,0.12302432727767126 0.13628805800643468,-0.11389609817852006 0.7741123124570151,-0.15496432192880294</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00008" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00009" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa5</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transition_omitted.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transition_omitted.xml new file mode 100644 index 0000000000000000000000000000000000000000..379f3cb93327774a9899e7d2f5ffd1315486890e --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transition_omitted.xml @@ -0,0 +1,45 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>KNOWN_TRANSITION_OMITTED</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="1"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +<celldesigner:lineDirection index="2" value="unknown"/> +<celldesigner:lineDirection index="3" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints omittedShapeIndex="1">0.1395721196429789,-0.2928391360632283 0.7711466302645423,0.20147252877787603 1.0166295304909794,0.12192232640388895</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_translation.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_translation.xml new file mode 100644 index 0000000000000000000000000000000000000000..a39da860607dc653a9611713aeb2af2da88c3558 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_translation.xml @@ -0,0 +1,77 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRANSLATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s3" alias="sa3" targetLineIndex="-1,0"> +<celldesigner:linkAnchor position="NNE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s6" alias="sa5" targetLineIndex="-1,1"> +<celldesigner:linkAnchor position="N"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00002" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00003" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00004" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>csa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_transport.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_transport.xml new file mode 100644 index 0000000000000000000000000000000000000000..99be4f10416a9eb3256e9d1c03b885f18c26845a --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_transport.xml @@ -0,0 +1,59 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body>asd +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRANSPORT</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="E"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#re885"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:reactome:REACT_631.3"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_truncation.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_truncation.xml new file mode 100644 index 0000000000000000000000000000000000000000..393d0347e4d590e041fdf7dab901951019e8c9a0 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_truncation.xml @@ -0,0 +1,60 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRUNCATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="ESE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="N"/> +</celldesigner:baseProduct> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="0" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="1" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="2" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="1" value="unknown"/> +<celldesigner:lineDirection arm="2" index="2" value="unknown"/> +<celldesigner:lineDirection arm="2" index="3" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="1" num1="2" num2="3" tShapeIndex="0">0.584187648650865,0.5254654309849918 0.23345636699182837,-0.5527287107830219 0.4553770651333544,0.19492621754274708 1.948293047595317,1.096062795913281 2.214822748707086,-0.10695975741860275 0.932772869523844,-0.5673310998204193 0.3691743208436597,0.3600379064003501</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_truncationWithModifier.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_truncationWithModifier.xml new file mode 100644 index 0000000000000000000000000000000000000000..dccad1d1d777b5512f8d847be4b1c70064d8c70f --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_truncationWithModifier.xml @@ -0,0 +1,187 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>TRUNCATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="ESE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="S"/> +</celldesigner:baseProduct> +<celldesigner:baseProduct species="s3" alias="sa3"> +<celldesigner:linkAnchor position="W"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="0" index="1" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="1" num1="0" num2="0" tShapeIndex="0">0.8318308545720352,-0.014828828365314406 2.21439801599832E-5,0.5674837795345327</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +<celldesigner:listOfModification> +<celldesigner:modification type="CATALYSIS" modifiers="s4" aliases="sa4" targetLineIndex="0,5"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s4" alias="sa4"> +<celldesigner:linkAnchor position="SSE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="INHIBITION" modifiers="s10" aliases="sa10" targetLineIndex="0,3" editPoints="0.4895706964240256,0.34520664086062736 0.7400505289017092,-0.16597816296424608"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +<celldesigner:lineDirection index="2" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s10" alias="sa10"> +<celldesigner:linkAnchor position="N"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="UNKNOWN_CATALYSIS" modifiers="s11" aliases="sa11" targetLineIndex="0,4"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s11" alias="sa11"> +<celldesigner:linkAnchor position="SSE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="UNKNOWN_INHIBITION" modifiers="s12" aliases="sa12" targetLineIndex="0,2"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s12" alias="sa12"> +<celldesigner:linkAnchor position="SSE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="PHYSICAL_STIMULATION" modifiers="s13" aliases="sa13" targetLineIndex="0,6"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s13" alias="sa13"> +<celldesigner:linkAnchor position="NNW"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="MODULATION" modifiers="s14" aliases="sa14" targetLineIndex="0,7"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s14" alias="sa14"> +<celldesigner:linkAnchor position="NW"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="TRIGGER" modifiers="s15" aliases="sa15" targetLineIndex="0,3"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s15" alias="sa15"> +<celldesigner:linkAnchor position="NE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +</celldesigner:listOfModification> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +<listOfModifiers> +<modifierSpeciesReference metaid="CDMT00009" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00014" species="s10"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa10</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00015" species="s11"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa11</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00016" species="s12"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa12</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00017" species="s13"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa13</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00018" species="s14"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa14</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00019" species="s15"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa15</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +</listOfModifiers> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_unknown_transition.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_unknown_transition.xml new file mode 100644 index 0000000000000000000000000000000000000000..546a2740e2bc5108d302ce0b0fa2f7261684d2e6 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_unknown_transition.xml @@ -0,0 +1,41 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>UNKNOWN_TRANSITION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="S"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="N"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_with_modifiers.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_with_modifiers.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa32d43ad2c2cf980d62d53c64534afc0c32aa3f --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_with_modifiers.xml @@ -0,0 +1,91 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>STATE_TRANSITION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s2" alias="sa2"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:connectScheme connectPolicy="direct" rectangleIndex="0"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +<celldesigner:listOfModification> +<celldesigner:modification type="BOOLEAN_LOGIC_GATE_AND" modifiers="s3,s4" aliases="sa3,sa4" modificationType="CATALYSIS" targetLineIndex="-1,2" editPoints="190.66666666666666,117.66666666666667"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="CATALYSIS" modifiers="s3" aliases="sa3" editPoints="0.3546405445791134,0.4532624937738668"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s3" alias="sa3"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +<celldesigner:modification type="CATALYSIS" modifiers="s4" aliases="sa4" targetLineIndex="-1,0" editPoints="0.04371287754328368,-0.803475293820294"> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +<celldesigner:lineDirection index="1" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:linkTarget species="s4" alias="sa4"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:linkTarget> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:modification> +</celldesigner:listOfModification> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00002" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +<listOfModifiers> +<modifierSpeciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +<modifierSpeciesReference metaid="CDMT00004" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</modifierSpeciesReference> +</listOfModifiers> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/reaction_with_operators.xml b/model-command/testFiles/xmlNodeTestExamples/reaction_with_operators.xml new file mode 100644 index 0000000000000000000000000000000000000000..da5e508d960591dcd376126a97b8d40eb9cf9fc9 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/reaction_with_operators.xml @@ -0,0 +1,91 @@ +<reaction metaid="re1" id="re1" reversible="false"> +<annotation> +<celldesigner:extension> +<celldesigner:reactionType>HETERODIMER_ASSOCIATION</celldesigner:reactionType> +<celldesigner:baseReactants> +<celldesigner:baseReactant species="s2" alias="sa2"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseReactant> +<celldesigner:baseReactant species="s1" alias="sa1"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseReactant> +</celldesigner:baseReactants> +<celldesigner:baseProducts> +<celldesigner:baseProduct species="s4" alias="sa4"> +<celldesigner:linkAnchor position="INACTIVE"/> +</celldesigner:baseProduct> +</celldesigner:baseProducts> +<celldesigner:listOfReactantLinks> +<celldesigner:reactantLink reactant="s3" alias="sa3" targetLineIndex="2,0"> +<celldesigner:linkAnchor position="INACTIVE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:reactantLink> +</celldesigner:listOfReactantLinks> +<celldesigner:listOfProductLinks> +<celldesigner:productLink product="s5" alias="sa5" targetLineIndex="2,1"> +<celldesigner:linkAnchor position="INACTIVE"/> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection index="0" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:line width="1.0" color="ff000000" type="Straight"/> +</celldesigner:productLink> +</celldesigner:listOfProductLinks> +<celldesigner:connectScheme connectPolicy="direct"> +<celldesigner:listOfLineDirection> +<celldesigner:lineDirection arm="0" index="0" value="unknown"/> +<celldesigner:lineDirection arm="1" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="0" value="unknown"/> +<celldesigner:lineDirection arm="2" index="1" value="unknown"/> +</celldesigner:listOfLineDirection> +</celldesigner:connectScheme> +<celldesigner:editPoints num0="0" num1="0" num2="1" tShapeIndex="1">0.0339412438306228,-0.1656317895311532 0.7249666221628845,0.4813084112149532</celldesigner:editPoints> +<celldesigner:line width="1.0" color="ff000000"/> +</celldesigner:extension> +</annotation> +<listOfReactants> +<speciesReference metaid="CDMT00001" species="s2"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa2</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00002" species="s1"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa1</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00003" species="s3"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa3</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfReactants> +<listOfProducts> +<speciesReference metaid="CDMT00004" species="s4"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa4</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +<speciesReference metaid="CDMT00005" species="s5"> +<annotation> +<celldesigner:extension> +<celldesigner:alias>sa5</celldesigner:alias> +</celldesigner:extension> +</annotation> +</speciesReference> +</listOfProducts> +</reaction> diff --git a/model-command/testFiles/xmlNodeTestExamples/rna.xml b/model-command/testFiles/xmlNodeTestExamples/rna.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6cf0548471445776f352e8fb19c38a280a075d2 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/rna.xml @@ -0,0 +1,12 @@ +<celldesigner:RNA id="rn36" name="BCL6" type="RNA"> +<celldesigner:notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +B-cell CLL/lymphoma 6 +</body> +</html> +</celldesigner:notes> +</celldesigner:RNA> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/rna_with_region.xml b/model-command/testFiles/xmlNodeTestExamples/rna_with_region.xml new file mode 100644 index 0000000000000000000000000000000000000000..52566ea024fa319f50e1dde5d0c1d75d1ac8b94a --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/rna_with_region.xml @@ -0,0 +1,5 @@ +<celldesigner:RNA id="rn49" name="TRNAU1" type="RNA"> +<celldesigner:listOfRegions> +<celldesigner:region id="tr1" size="0.0" pos="0.10569105691056911" type="Modification Site"/> +</celldesigner:listOfRegions> +</celldesigner:RNA> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_antisense_rna.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_antisense_rna.xml new file mode 100644 index 0000000000000000000000000000000000000000..b3a9173dc8eb8d2477e9424bd3c7224c5277af57 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_antisense_rna.xml @@ -0,0 +1,11 @@ +<species metaid="s1" id="s2" name="s3" compartment="default" initialAmount="2" hasOnlySubstanceUnits="true" charge="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>ANTISENSE_RNA</celldesigner:class> +<celldesigner:antisensernaReference>arn1</celldesigner:antisensernaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_complex.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_complex.xml new file mode 100644 index 0000000000000000000000000000000000000000..d51eb1284575a60f5dfef88d6fcded8c73ac1eca --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_complex.xml @@ -0,0 +1,11 @@ +<species metaid="s6549" id="s6549" name="LC3-II" compartment="c1" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>COMPLEX</celldesigner:class> +<celldesigner:name>LC3-II</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_degraded.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_degraded.xml new file mode 100644 index 0000000000000000000000000000000000000000..0e8b347258fdf30f3cc03e0d03a263fdcfe6d13e --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_degraded.xml @@ -0,0 +1,11 @@ +<species metaid="s1275" id="s1275" name="s1275" compartment="c20" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>DEGRADED</celldesigner:class> +<celldesigner:name>s1275</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_drug.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_drug.xml new file mode 100644 index 0000000000000000000000000000000000000000..ebb8c4a7a95e64a33cf960c6702d34c4fa195d12 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_drug.xml @@ -0,0 +1,11 @@ +<species metaid="s6104" id="s6104" name="geldanamycin" compartment="c1" charge="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>DRUG</celldesigner:class> +<celldesigner:name>geldanamycin</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_gene.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_gene.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d176259f8c172c99f0fff8d06bd5a6d5fc58c1c --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_gene.xml @@ -0,0 +1,73 @@ +<species metaid="s5916" id="s5916" name="Ptgr1" compartment="c20" initialAmount="0" charge="0"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Symbol: PTGR1 +Name: prostaglandin reductase 1 +Description: RecName: Full=Prostaglandin reductase 1; Short=PRG-1; EC=1.3.1.-; AltName: Full=15-oxoprostaglandin 13-reductase; EC=1.3.1.48; AltName: Full=NADP-dependent leukotriene B4 12-hydroxydehydrogenase; EC=1.3.1.74; +Previous Symbols: LTB4DH +Synonyms: LTB4DH +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s6095"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:ncbigene:22949"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>GENE</celldesigner:class> +<celldesigner:geneReference>gn95</celldesigner:geneReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s5916"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hgnc:18429"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family%3APTHR11695"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_036344.2"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001139580.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family%3AADH_Sf_Zn"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa%3A22949"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001139581.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_ion.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_ion.xml new file mode 100644 index 0000000000000000000000000000000000000000..5c2222a435b30b39aa5a3d4375f4f8b2bf1e9901 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_ion.xml @@ -0,0 +1,124 @@ +<species metaid="s6029" id="s6029" name="Pi" compartment="c1" initialConcentration="0" charge="0"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Long Name: PiSynonym: Synonym not specifiedAccession: U02720 +Symbol: SERPINA1 +Name: serpin peptidase inhibitor, clade A (alpha-1 antiproteinase, antitrypsin), member 1 +Description: RecName: Full=Alpha-1-antitrypsin; AltName: Full=Alpha-1 protease inhibitor; AltName: Full=Alpha-1-antiproteinase; AltName: Full=Serpin A1; Contains: RecName: Full=Short peptide from AAT; Short=SPAAT; Flags: Precursor; +Previous Symbols: PI +Synonyms: AAT, PI +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s6095"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:ncbigene:5265"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>ION</celldesigner:class> +<celldesigner:name>Pi</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s6029"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121172.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family%3AProt_inh_serpin"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pharmgkb.pathways:PA35509"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:panther.family%3APTHR11461"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121174.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hgnc:8941"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001002235.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121175.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121176.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121179.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121173.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121177.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:reactome:REACT_3705"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001121178.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001002236.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_000286.3"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa%3A5265"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_phenotype.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_phenotype.xml new file mode 100644 index 0000000000000000000000000000000000000000..62bbee07b09e23caf5a6d59fd02c9bd373fb2aa5 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_phenotype.xml @@ -0,0 +1,15 @@ +<species metaid="s5462" id="s5462" name="Neuronal damage and death" compartment="c1" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>PHENOTYPE</celldesigner:class> +<celldesigner:name>Neuronal damage and death</celldesigner:name> +</celldesigner:speciesIdentity> +<celldesigner:listOfCatalyzedReactions> +<celldesigner:catalyzed reaction="re1435"/> +<celldesigner:catalyzed reaction="re1434"/> +</celldesigner:listOfCatalyzedReactions> +</celldesigner:extension> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_protein.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_protein.xml new file mode 100644 index 0000000000000000000000000000000000000000..0f8d55a9f69c7fe05edd1eff4180ce09e5b5692c --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_protein.xml @@ -0,0 +1,63 @@ +<species metaid="s5456" id="s5456" name="PTPRC" compartment="c27" initialAmount="0" charge="0"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body>protein tyrosine phosphatase, receptor type, C +also known as CED45 +Symbol: PTPRC +Name: protein tyrosine phosphatase, receptor type, C +Description: RecName: Full=Receptor-type tyrosine-protein phosphatase C; EC=3.1.3.48; AltName: Full=Leukocyte common antigen; Short=L-CA; AltName: Full=T200; AltName: CD_antigen=CD45; Flags: Precursor; +Previous Symbols: CD45 +Synonyms: CD45 +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s5456"> +<bqbiol:is> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:entrez.gene:5788"/></rdf:Bag> +</bqbiol:is> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_002829.2"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:reactome:REACT_13296"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>transmembrane</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>PROTEIN</celldesigner:class> +<celldesigner:proteinReference>pr1116</celldesigner:proteinReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s5456"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_563578.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pharmgkb.pathways:PA34011"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hgnc:9666"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_rna.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_rna.xml new file mode 100644 index 0000000000000000000000000000000000000000..a848f327dc38d38126e832a04b89f039b7d817a0 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_rna.xml @@ -0,0 +1,78 @@ +<species metaid="s5914" id="s5914" name="Fmo3" compartment="c20" initialAmount="0" charge="0"> +<notes> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title/> +</head> +<body> +Symbol: FMO3 +Name: flavin containing monooxygenase 3 +Description: RecName: Full=Dimethylaniline monooxygenase [N-oxide-forming] 3; EC=1.14.13.8; AltName: Full=Dimethylaniline oxidase 3; AltName: Full=FMO II; AltName: Full=FMO form 2; AltName: Full=Hepatic flavin-containing monooxygenase 3; Short=FMO 3; +Previous Symbols: +Synonyms: +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s6095"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:ncbigene:2328"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</body> +</html> +</notes> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>RNA</celldesigner:class> +<celldesigner:rnaReference>rn101</celldesigner:rnaReference> +</celldesigner:speciesIdentity> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s5914"> +<bqbiol:isVersionOf> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:8486388"/> +</rdf:Bag> +</bqbiol:isVersionOf> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_001002294.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:reactome:REACT_5740"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pharmgkb.pathways:PA166"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:kegg.genes:hsa%3A2328"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:refseq:NP_008825.4"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:hgnc:3771"/> +</rdf:Bag> +</bqbiol:hasVersion> +<bqbiol:isVersionOf> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:pubmed:9417913"/> +</rdf:Bag> +</bqbiol:isVersionOf> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_simple_molecule.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_simple_molecule.xml new file mode 100644 index 0000000000000000000000000000000000000000..db9afbef0800f907e06a8b5367023fc5954f1b9c --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_simple_molecule.xml @@ -0,0 +1,11 @@ +<species metaid="s5463" id="s5463" name="Peroxides" compartment="c1" initialAmount="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>SIMPLE_MOLECULE</celldesigner:class> +<celldesigner:name>Peroxides</celldesigner:name> +</celldesigner:speciesIdentity> +</celldesigner:extension> +</annotation> +</species> diff --git a/model-command/testFiles/xmlNodeTestExamples/sbml_unknown.xml b/model-command/testFiles/xmlNodeTestExamples/sbml_unknown.xml new file mode 100644 index 0000000000000000000000000000000000000000..e8891db4fbdfd8654c5fb96c248232bac23e6056 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/sbml_unknown.xml @@ -0,0 +1,23 @@ +<species metaid="s1356" id="s1356" name="unidentified caspase acting on Occludin" compartment="c1" initialAmount="0" charge="0"> +<annotation> +<celldesigner:extension> +<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment> +<celldesigner:speciesIdentity> +<celldesigner:class>UNKNOWN</celldesigner:class> +<celldesigner:name>unidentified caspase acting on Occludin</celldesigner:name> +</celldesigner:speciesIdentity> +<celldesigner:listOfCatalyzedReactions> +<celldesigner:catalyzed reaction="re514"/> +</celldesigner:listOfCatalyzedReactions> +</celldesigner:extension> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/"> +<rdf:Description rdf:about="#s1356"> +<bqbiol:hasVersion> +<rdf:Bag> +<rdf:li rdf:resource="urn:miriam:reactome:REACT_21584.1"/> +</rdf:Bag> +</bqbiol:hasVersion> +</rdf:Description> +</rdf:RDF> +</annotation> +</species> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/species_alias.xml b/model-command/testFiles/xmlNodeTestExamples/species_alias.xml new file mode 100644 index 0000000000000000000000000000000000000000..f3e98a79102afd980f9876205615e4f0be22fdc9 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/species_alias.xml @@ -0,0 +1,19 @@ +<celldesigner:speciesAlias id="sa36" species="s78" compartmentAlias="ca1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="11813.0" y="2840.5" w="80.0" h="25.0"/> +<celldesigner:font size="16"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="10416.0" y="2424.5"/> +<celldesigner:boxSize width="80.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> \ No newline at end of file diff --git a/model-command/testFiles/xmlNodeTestExamples/species_alias_with_font.xml b/model-command/testFiles/xmlNodeTestExamples/species_alias_with_font.xml new file mode 100644 index 0000000000000000000000000000000000000000..893947c964229bd2c87122606ce6871170ac4f9c --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/species_alias_with_font.xml @@ -0,0 +1,19 @@ +<celldesigner:speciesAlias id="sa1" species="s78"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="78.0" y="207.0" w="307.0" h="110.0"/> +<celldesigner:font size="30"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="307.0" height="110.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/species_alias_with_state.xml b/model-command/testFiles/xmlNodeTestExamples/species_alias_with_state.xml new file mode 100644 index 0000000000000000000000000000000000000000..86a9a4163397e8007edcdf4e3e046fe60557ed55 --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/species_alias_with_state.xml @@ -0,0 +1,19 @@ +<celldesigner:speciesAlias id="sa1" species="s78"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="69.0" y="75.0" w="80.0" h="40.0"/> +<celldesigner:font size="12"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="40.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccffcc" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="0.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="open" prefix="free input" label="test" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> diff --git a/model-command/testFiles/xmlNodeTestExamples/species_alias_without_state.xml b/model-command/testFiles/xmlNodeTestExamples/species_alias_without_state.xml new file mode 100644 index 0000000000000000000000000000000000000000..267d16430a0c9bc1636be7798c2387a24fdd4e0c --- /dev/null +++ b/model-command/testFiles/xmlNodeTestExamples/species_alias_without_state.xml @@ -0,0 +1,19 @@ +<celldesigner:speciesAlias id="sa36" species="s78" compartmentAlias="ca1"> +<celldesigner:activity>inactive</celldesigner:activity> +<celldesigner:bounds x="11813.0" y="2840.5" w="80.0" h="25.0"/> +<celldesigner:font size="16"/> +<celldesigner:view state="usual"/> +<celldesigner:usualView> +<celldesigner:innerPosition x="10416.0" y="2424.5"/> +<celldesigner:boxSize width="80.0" height="25.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="ffccff66" scheme="Color"/> +</celldesigner:usualView> +<celldesigner:briefView> +<celldesigner:innerPosition x="0.0" y="0.0"/> +<celldesigner:boxSize width="80.0" height="60.0"/> +<celldesigner:singleLine width="1.0"/> +<celldesigner:paint color="3fff0000" scheme="Color"/> +</celldesigner:briefView> +<celldesigner:info state="empty" angle="-1.5707963267948966"/> +</celldesigner:speciesAlias> \ No newline at end of file diff --git a/model/src/main/java/lcsb/mapviewer/model/ProjectComparator.java b/model/src/main/java/lcsb/mapviewer/model/ProjectComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..c11a06102de6742aba62ab93fed73425569b183c --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/ProjectComparator.java @@ -0,0 +1,67 @@ +package lcsb.mapviewer.model; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.common.Configuration; +import lcsb.mapviewer.common.comparator.SetComparator; +import lcsb.mapviewer.model.map.layout.graphics.Glyph; +import lcsb.mapviewer.model.map.layout.graphics.GlyphComparator; +import lcsb.mapviewer.model.map.model.ModelComparator; +import lcsb.mapviewer.model.map.model.ModelData; +import lcsb.mapviewer.model.map.model.ModelDataComparator; +import lcsb.mapviewer.model.overlay.DataOverlay; +import lcsb.mapviewer.model.overlay.DataOverlayComparator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.util.HashSet; + +public class ProjectComparator extends Comparator<Project> { + + private static final Logger logger = LogManager.getLogger(); + + private final ModelComparator modelComparator; + private final SetComparator<ModelData> modelDataSetComparator; + private final SetComparator<DataOverlay> dataOverlaySetComparator; + private final SetComparator<Glyph> glyphSetComparator; + + public ProjectComparator(final double epsilon) { + super(Project.class); + modelComparator = new ModelComparator(epsilon); + modelDataSetComparator = new SetComparator<>(new ModelDataComparator(epsilon)); + glyphSetComparator = new SetComparator<>(new GlyphComparator()); + dataOverlaySetComparator = new SetComparator<>(new DataOverlayComparator(epsilon)); + } + + public ProjectComparator() { + this(Configuration.EPSILON); + } + + @Override + protected int internalCompare(final Project arg0, final Project arg1) { + int compareResult = glyphSetComparator.compare(new HashSet<>(arg0.getGlyphs()), new HashSet<>(arg1.getGlyphs())); + if (compareResult != 0) { + logger.debug("Glyphs different"); + return compareResult; + } + + compareResult = modelComparator.compare(arg0.getTopModel(), arg1.getTopModel()); + if (compareResult != 0) { + logger.debug("Top model different: {}, {}", arg0.getTopModel(), arg1.getTopModel()); + return compareResult; + } + + if (modelDataSetComparator.compare(arg0.getModels(), arg1.getModels()) != 0) { + logger.debug("Models different"); + return modelDataSetComparator.compare(arg0.getModels(), arg1.getModels()); + } + + int status = dataOverlaySetComparator.compare(new HashSet<>(arg0.getDataOverlays()), new HashSet<>(arg1.getDataOverlays())); + if (status != 0) { + logger.debug("Data overlays different"); + return status; + } + + return 0; + } + +} diff --git a/model/src/main/java/lcsb/mapviewer/model/cache/UploadedFileEntryComparator.java b/model/src/main/java/lcsb/mapviewer/model/cache/UploadedFileEntryComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..2dda81abcb2ae007c29ca5aaba6f5ad1e1f87e4c --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/cache/UploadedFileEntryComparator.java @@ -0,0 +1,32 @@ +package lcsb.mapviewer.model.cache; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.common.comparator.StringComparator; + +import java.util.Arrays; + +public class UploadedFileEntryComparator extends Comparator<UploadedFileEntry> { + + public UploadedFileEntryComparator() { + super(UploadedFileEntry.class, true); + } + + + @Override + protected int internalCompare(final UploadedFileEntry arg0, final UploadedFileEntry arg1) { + StringComparator stringComparator = new StringComparator(); + + if (stringComparator.compare(arg0.getOriginalFileName(), arg1.getOriginalFileName()) != 0) { + logger.debug("Original file name is different: {} != {}", arg0.getOriginalFileName(), arg1.getOriginalFileName()); + return stringComparator.compare(arg0.getOriginalFileName(), arg1.getOriginalFileName()); + } + + if (!Arrays.equals(arg0.getFileContent(), arg1.getFileContent())) { + logger.debug("Glyph content different for file {}.", arg0.getOriginalFileName()); + return -1; + } + + return 0; + } + +} diff --git a/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java b/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java index 5c1dbdd87533991c929af53a79e00d5a13f3ff73..be9eb77da23132592b61099c3efd8ff11cdce9c0 100644 --- a/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java @@ -1,35 +1,32 @@ package lcsb.mapviewer.model.graphics; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.DoubleComparator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * This class implements comparator interface for ArrowTypeData. It compares the * content, but skip database identifier. - * + * * @author Piotr Gawron - * */ public class ArrowTypeDataComparator extends Comparator<ArrowTypeData> { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public ArrowTypeDataComparator(final double epsilon) { super(ArrowTypeData.class); @@ -48,22 +45,22 @@ public class ArrowTypeDataComparator extends Comparator<ArrowTypeData> { DoubleComparator doubleComparator = new DoubleComparator(epsilon); if (arg0.getArrowType().compareTo(arg1.getArrowType()) != 0) { - logger.debug("Different arrow type: " + arg0.getArrowType() + ", " + arg1.getArrowType()); + logger.debug("Different arrow type: {}, {}", arg0.getArrowType(), arg1.getArrowType()); return arg0.getArrowType().compareTo(arg1.getArrowType()); } if (arg0.getArrowLineType().compareTo(arg1.getArrowLineType()) != 0) { - logger.debug("Different arrow line type: " + arg0.getArrowLineType() + ", " + arg1.getArrowLineType()); + logger.debug("Different arrow line type: {}, {}", arg0.getArrowLineType(), arg1.getArrowLineType()); return arg0.getArrowLineType().compareTo(arg1.getArrowLineType()); } if (doubleComparator.compare(arg0.getLen(), arg1.getLen()) != 0) { - logger.debug("Different length: " + arg0.getLen() + ", " + arg1.getLen()); + logger.debug("Different length: {}, {}", arg0.getLen(), arg1.getLen()); return doubleComparator.compare(arg0.getLen(), arg1.getLen()); } if (doubleComparator.compare(arg0.getAngle(), arg1.getAngle()) != 0) { - logger.debug("Different angle: " + arg0.getAngle() + ", " + arg1.getAngle()); + logger.debug("Different angle: {}, {}", arg0.getAngle(), arg1.getAngle()); return doubleComparator.compare(arg0.getAngle(), arg1.getAngle()); } return 0; diff --git a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java index f74203ca56a54aabb4d82a22266c0e16e44bc03f..63e6fc9f589354a7b4e709000ed78ffbed991639 100644 --- a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java @@ -1,36 +1,33 @@ package lcsb.mapviewer.model.graphics; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.comparator.IntegerComparator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * This class implements comparator interface for {@link PolylineData}. It * compares the content, but skip database identifier. - * + * * @author Piotr Gawron - * */ public class PolylineDataComparator extends Comparator<PolylineData> { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public PolylineDataComparator(final double epsilon) { super(PolylineData.class, true); @@ -51,7 +48,7 @@ public class PolylineDataComparator extends Comparator<PolylineData> { ArrowTypeDataComparator atdComparator = new ArrowTypeDataComparator(epsilon); if (integerComparator.compare(arg0.getLines().size(), arg1.getLines().size()) != 0) { - logger.debug("Lines have different segments number: " + arg0.getLines().size() + ", " + arg1.getLines().size()); + logger.debug("Lines have different segments number: {}, {}", arg0.getLines().size(), arg1.getLines().size()); return integerComparator.compare(arg0.getLines().size(), arg1.getLines().size()); } // TODO this should be fixed @@ -68,27 +65,27 @@ public class PolylineDataComparator extends Comparator<PolylineData> { // } if (atdComparator.compare(arg0.getBeginAtd(), arg1.getBeginAtd()) != 0) { - logger.debug("Lines have different begin adt: " + arg0.getBeginAtd() + ", " + arg1.getBeginAtd()); + logger.debug("Lines have different begin atd: {}, {}", arg0.getBeginAtd(), arg1.getBeginAtd()); return atdComparator.compare(arg0.getBeginAtd(), arg1.getBeginAtd()); } if (atdComparator.compare(arg0.getEndAtd(), arg1.getEndAtd()) != 0) { - logger.debug("Lines have different end adt: " + arg0.getEndAtd() + ", " + arg1.getEndAtd()); + logger.debug("Lines have different end atd: {}, {}", arg0.getEndAtd(), arg1.getEndAtd()); return atdComparator.compare(arg0.getEndAtd(), arg1.getEndAtd()); } if (doubleComparator.compare(arg0.getWidth(), arg1.getWidth()) != 0) { - logger.debug("Lines have different width: " + arg0.getWidth() + ", " + arg1.getWidth()); + logger.debug("Lines have different width: {}, {}", arg0.getWidth(), arg1.getWidth()); return doubleComparator.compare(arg0.getWidth(), arg1.getWidth()); } if (integerComparator.compare(arg0.getColor().getRGB(), arg1.getColor().getRGB()) != 0) { - logger.debug("Lines have different color: " + arg0.getColor() + ", " + arg1.getColor()); + logger.debug("Lines have different color: {}, {}", arg0.getColor(), arg1.getColor()); return integerComparator.compare(arg0.getColor().getRGB(), arg1.getColor().getRGB()); } if (arg0.getType().compareTo(arg1.getType()) != 0) { - logger.debug("Lines have different type: " + arg0.getType() + ", " + arg1.getType()); + logger.debug("Lines have different type: {}, {}", arg0.getType(), arg1.getType()); return arg0.getType().compareTo(arg1.getType()); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java index ce6428dd066b246d9d00f121c2c6cda15809ef3f..b3e03db228d5f922fcd896393e8b7f33741951c4 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java @@ -4248,7 +4248,7 @@ public enum MiriamType { new Class<?>[]{}, "MIR:00000127", new Class<?>[]{}, "obi", - "OBI:0000070"), + "OBI_0000070"), OMA_GROUP("OMA Group", "https://omabrowser.org/cgi-bin/gateway.pl", diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/GlyphComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/GlyphComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..e217a4bc5d86d30bfb5e4fe12435bf3c95fea74e --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/GlyphComparator.java @@ -0,0 +1,24 @@ +package lcsb.mapviewer.model.map.layout.graphics; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.model.cache.UploadedFileEntryComparator; + +public class GlyphComparator extends Comparator<Glyph> { + + + public GlyphComparator() { + super(Glyph.class, true); + } + + @Override + protected int internalCompare(final Glyph arg0, final Glyph arg1) { + UploadedFileEntryComparator fileComparator = new UploadedFileEntryComparator(); + + if (fileComparator.compare(arg0.getFile(), arg1.getFile()) != 0) { + return fileComparator.compare(arg0.getFile(), arg1.getFile()); + } + + return 0; + } + +} diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java index 7ccf3708f6c06f557926eeebff97ae13a2b1e206..fd635e43dae7aff8c2ab93436af79fbbbead22a7 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java @@ -434,6 +434,7 @@ public class Layer implements MinervaEntity { result.addAll(ovals); result.addAll(rectangles); result.addAll(texts); + result.addAll(images); return result; } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerImageComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerImageComparator.java index 1849718e2111159baf115ef83277056a4bf566c3..9c45516173d42374815022e853a3ebc2505aade2 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerImageComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerImageComparator.java @@ -23,23 +23,29 @@ public class LayerImageComparator extends Comparator<LayerImage> { DoubleComparator doubleComparator = new DoubleComparator(epsilon); IntegerComparator integerComparator = new IntegerComparator(); - if (doubleComparator.compare(arg0.getWidth(), arg1.getWidth()) != 0) { - return doubleComparator.compare(arg0.getWidth(), arg1.getWidth()); + int status = doubleComparator.compare(arg0.getWidth(), arg1.getWidth()); + if (status != 0) { + logger.debug("Image width different: {} != {}", arg0.getWidth(), arg1.getWidth()); + return status; } if (doubleComparator.compare(arg0.getHeight(), arg1.getHeight()) != 0) { + logger.debug("Image Height different: {} != {}", arg0.getHeight(), arg1.getHeight()); return doubleComparator.compare(arg0.getHeight(), arg1.getHeight()); } if (doubleComparator.compare(arg0.getX(), arg1.getX()) != 0) { + logger.debug("Image X different: {} != {}", arg0.getX(), arg1.getX()); return doubleComparator.compare(arg0.getX(), arg1.getX()); } if (doubleComparator.compare(arg0.getY(), arg1.getY()) != 0) { + logger.debug("Image Y different: {} != {}", arg0.getY(), arg1.getY()); return doubleComparator.compare(arg0.getY(), arg1.getY()); } if (integerComparator.compare(arg0.getZ(), arg1.getZ()) != 0) { + logger.debug("Image Z different: {} != {}", arg0.getZ(), arg1.getZ()); return integerComparator.compare(arg0.getZ(), arg1.getZ()); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java index e6e6be49e6dc342833516e2b5826050656ddd3ce..3cb94de59267845468099013216c6abdd173397a 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java @@ -43,7 +43,7 @@ public class LayerText implements MinervaEntity, Drawable { /** * Default font size of the text. */ - private static final double DEFAULT_LAYER_FONT_SIZE = 11.0; + public static final double DEFAULT_LAYER_FONT_SIZE = 11.0; /** * Default class logger. diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java index b9c683193f3b421dbe0a78938610e3115966f65c..d3525bfdb0dd8f169020e033f9a7b5ce1b82b2a9 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java @@ -507,4 +507,6 @@ public interface Model { Set<Drawable> getDrawables(boolean onlyVisible); Collection<Element> getSortedElements(); + + void removeLayer(Layer pathwayLayer); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java index 16f6065ca420fe5e99e1da9463be5cddcb51962b..f31d8915ffc0f3f0d8e8eab2952584f5060f4049 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java @@ -1,14 +1,5 @@ package lcsb.mapviewer.model.map.model; -import java.util.Calendar; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.CalendarComparator; @@ -33,22 +24,24 @@ import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.ElementComparator; import lcsb.mapviewer.modelutils.map.ElementUtils; +import java.util.Calendar; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + /** * Comparator for {@link Model} class. - * + * * @author Piotr Gawron - * */ public class ModelComparator extends Comparator<Model> { - /** - * Default class logger. - */ - private static Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; private SetComparator<SbmlUnit> unitSetComparator = new SetComparator<>(new SbmlUnitComparator()); @@ -56,13 +49,12 @@ public class ModelComparator extends Comparator<Model> { private ElementComparator elementComparator; - private ElementUtils eu = new ElementUtils(); + private final ElementUtils eu = new ElementUtils(); /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public ModelComparator(final double epsilon) { super(Model.class); @@ -121,11 +113,20 @@ public class ModelComparator extends Comparator<Model> { int status = compareElements(arg0.getElements(), arg1.getElements()); if (status != 0) { - logger.debug("Set of elements different"); + Set<String> model0ids = new HashSet<>(); + Set<String> model1ids = new HashSet<>(); + + for (Element element : arg0.getElements()) { + model0ids.add(element.getElementId()); + } + for (Element element : arg1.getElements()) { + model1ids.add(element.getElementId()); + } + logger.debug("Set of elements different: {}, {}", model1ids, model0ids); return status; } - SetComparator<Layer> layerSetComparator = new SetComparator<Layer>(new LayerComparator(epsilon)); + SetComparator<Layer> layerSetComparator = new SetComparator<Layer>(new LayerComparator(epsilon)); status = layerSetComparator.compare(arg0.getLayers(), arg1.getLayers()); if (status != 0) { @@ -202,13 +203,10 @@ public class ModelComparator extends Comparator<Model> { /** * Compares two sets of elements. - * - * @param elements - * first set of elements - * @param elements2 - * second set of elements - * @return if sets are equal then returns 0. If they are different then -1/1 - * is returned. + * + * @param elements first set of elements + * @param elements2 second set of elements + * @return if sets are equal then returns 0. If they are different then -1/1 is returned. */ private int compareElements(final Set<Element> elements, final Set<Element> elements2) { @@ -216,8 +214,8 @@ public class ModelComparator extends Comparator<Model> { Map<String, Element> map2 = new HashMap<>(); if (elements.size() != elements2.size()) { - logger.debug("Number of elements different: " + elements.size() + ", " + elements2.size()); - return ((Integer) elements.size()).compareTo(elements2.size()); + logger.debug("Number of elements different: {}, {}", elements.size(), elements2.size()); + return Integer.compare(elements.size(), elements2.size()); } for (final Element element : elements) { @@ -248,15 +246,13 @@ public class ModelComparator extends Comparator<Model> { /** * Compares two collection of models. - * - * @param collection1 - * first collection to compare - * @param collection2 - * second collection to compare + * + * @param collection1 first collection to compare + * @param collection2 second collection to compare * @return 0 if the collections are identical, -1/1 otherwise */ private int compareSubmodels(final Collection<ModelSubmodelConnection> collection1, - final Collection<ModelSubmodelConnection> collection2) { + final Collection<ModelSubmodelConnection> collection2) { IntegerComparator integerComparator = new IntegerComparator(); if (integerComparator.compare(collection1.size(), collection2.size()) != 0) { logger.debug("collection of submodels doesn't match: " + collection1.size() + ", " + collection2.size()); diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java index 9258dcedb579239edc6c703a61d23e89e7992222..996edbb7250bdfc94a6ed954e61e4b3c7df2aa21 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java @@ -793,4 +793,8 @@ public class ModelData implements MinervaEntity { public EntityType getEntityType() { throw new NotImplementedException(); } + + public void removeLayer(final Layer pathwayLayer) { + this.layers.remove(pathwayLayer); + } } \ No newline at end of file diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelDataComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelDataComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..21ca1415b96e2c351b1a9cf14ddfdf45374c3188 --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelDataComparator.java @@ -0,0 +1,26 @@ +package lcsb.mapviewer.model.map.model; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.common.Configuration; + +public class ModelDataComparator extends Comparator<ModelData> { + + private final ModelComparator modelComparator; + + public ModelDataComparator(final double epsilon) { + super(ModelData.class); + modelComparator = new ModelComparator(epsilon); + } + + /** + * Default constructor. + */ + public ModelDataComparator() { + this(Configuration.EPSILON); + } + + @Override + protected int internalCompare(final ModelData arg0, final ModelData arg1) { + return modelComparator.compare(new ModelFullIndexed(arg0), new ModelFullIndexed(arg1)); + } +} diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java index ffa13ff0832c8ee05f30e028ec815bcff95b131e..3a672046de4fe8e9fa4b2a159d1e652971b9214a 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java @@ -739,4 +739,9 @@ public class ModelFullIndexed implements Model { result.sort(new ElementByIdComparator()); return result; } + + @Override + public void removeLayer(final Layer pathwayLayer) { + modelData.removeLayer(pathwayLayer); + } } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java index ecbd93fbacf95a2d0426fcdbaf3e5f387fc33a92..2cb72be7eb3a052f3ae0a2b080bc03925106adc9 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java @@ -1,36 +1,33 @@ package lcsb.mapviewer.model.map.model; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.StringComparator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * This class implements comparator interface for {@link SubmodelConnection}. It * handles comparison of subclasses of {@link SubmodelConnection} class. - * + * * @author Piotr Gawron - * */ public class SubmodelConnectionComparator extends Comparator<SubmodelConnection> { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public SubmodelConnectionComparator(final double epsilon) { super(SubmodelConnection.class, true); @@ -60,7 +57,7 @@ public class SubmodelConnectionComparator extends Comparator<SubmodelConnection> } if (stringComparator.compare(arg0.getName(), arg1.getName()) != 0) { - logger.debug("Name different: " + arg0.getName() + ", " + arg1.getName()); + logger.debug("Name different: {}, {}", arg0.getName(), arg1.getName()); return stringComparator.compare(arg0.getName(), arg1.getName()); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java index c84733e90ae90e6cbf1d43fd4463275c85fd191b..68a975713ffec544e13837667119da71fc6ba096 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java @@ -1,8 +1,5 @@ package lcsb.mapviewer.model.map.reaction; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.model.graphics.PolylineDataComparator; @@ -10,28 +7,22 @@ import lcsb.mapviewer.model.graphics.PolylineDataComparator; /** * This class implements comparator interface for AbstractNode. It also handles * comparison of subclasses of AbstractNode class. - * + * * @author Piotr Gawron - * */ public class AbstractNodeComparator extends Comparator<AbstractNode> { - /** - * Default class logger. - */ - private static Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; - private boolean ignoreLayout; + private final boolean ignoreLayout; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public AbstractNodeComparator(final double epsilon, final boolean ignoreLayout) { super(AbstractNode.class, true); diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java index e29bd2f9ac45a4dfd52316bfc08a1282ab85c373..518e95b87768d8c02c742036f81012d576c9dfb0 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java @@ -1,8 +1,5 @@ package lcsb.mapviewer.model.map.reaction; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.BooleanComparator; @@ -16,31 +13,31 @@ import lcsb.mapviewer.model.graphics.PolylineDataComparator; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamDataComparator; import lcsb.mapviewer.model.map.kinetics.SbmlKineticsComparator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * This class implements comparator interface for {@link Reaction}. - * + * * @author Piotr Gawron - * */ public class ReactionComparator extends Comparator<Reaction> { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; - private boolean ignoreLayout; + private final boolean ignoreLayout; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public ReactionComparator(final double epsilon, final boolean ignoreLayout) { super(Reaction.class); @@ -66,12 +63,12 @@ public class ReactionComparator extends Comparator<Reaction> { AbstractNodeComparator nodeComparator = new AbstractNodeComparator(epsilon, ignoreLayout); if (stringComparator.compare(arg0.getName(), arg1.getName()) != 0) { - logger.debug("Name different: " + arg0.getName() + ", " + arg1.getName()); + logger.debug("Name different: {}, {}", arg0.getName(), arg1.getName()); return stringComparator.compare(arg0.getName(), arg1.getName()); } if (stringComparator.compare(arg0.getNotes().trim(), arg1.getNotes().trim()) != 0) { - logger.debug("Notes different: " + arg0.getNotes() + ", " + arg1.getNotes()); + logger.debug("Notes different: {}, {}", arg0.getNotes(), arg1.getNotes()); return stringComparator.compare(arg0.getNotes(), arg1.getNotes()); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java index cb649f940f8beeb37a06082ba79c0e60009df8c6..7858e94c4ac26510f2e9ffc100829d109c9e24a7 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java @@ -366,6 +366,7 @@ public abstract class Element implements BioEntity, MinervaEntity, SbmlArgument setGlyph(new Glyph(original.getGlyph())); } setBorderColor(original.getBorderColor()); + setImmediateLink(original.getImmediateLink()); } /** diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java index b5bf17b05a83eb3592fbdfdb78892a8ffef38c1e..e4cd56e75133735ca72d43f0461967a92b483846 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java @@ -1,8 +1,5 @@ package lcsb.mapviewer.model.map.species; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - import lcsb.mapviewer.common.Comparator; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.comparator.ColorComparator; @@ -17,30 +14,25 @@ import lcsb.mapviewer.model.graphics.VerticalAlign; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamDataComparator; import lcsb.mapviewer.model.map.compartment.CompartmentComparator; +import lcsb.mapviewer.model.map.layout.graphics.GlyphComparator; import lcsb.mapviewer.model.map.model.ElementSubmodelConnectionComparator; /** * Comparator class used for comparing {@link Element} objects. - * - * @author Piotr Gawron * + * @author Piotr Gawron */ public class ElementComparator extends Comparator<Element> { - /** - * Default class logger. - */ - private static Logger logger = LogManager.getLogger(); /** * Epsilon value used for comparison of doubles. */ - private double epsilon; + private final double epsilon; /** * Constructor that requires {@link #epsilon} parameter. - * - * @param epsilon - * {@link #epsilon} + * + * @param epsilon {@link #epsilon} */ public ElementComparator(final double epsilon) { super(Element.class, true); @@ -72,99 +64,100 @@ public class ElementComparator extends Comparator<Element> { StringComparator stringComparator = new StringComparator(); ColorComparator colorComparator = new ColorComparator(); DoubleComparator doubleComparator = new DoubleComparator(epsilon); + GlyphComparator glyphComparator = new GlyphComparator(); if (stringComparator.compare(arg0.getElementId(), arg1.getElementId()) != 0) { - logger.debug("ElementId different: " + arg0.getElementId() + ", " + arg1.getElementId()); + logger.debug("ElementId different: {}, {}", arg0.getElementId(), arg1.getElementId()); return stringComparator.compare(arg0.getElementId(), arg1.getElementId()); } if (doubleComparator.compare(arg0.getX(), arg1.getX()) != 0) { - logger.debug("X different: " + arg0.getX() + ", " + arg1.getX()); + logger.debug("X different: {}, {}", arg0.getX(), arg1.getX()); return doubleComparator.compare(arg0.getX(), arg1.getX()); } if (doubleComparator.compare(arg0.getY(), arg1.getY()) != 0) { - logger.debug("Y different: " + arg0.getY() + ", " + arg1.getY()); + logger.debug("Y different: {}, {}", arg0.getY(), arg1.getY()); return doubleComparator.compare(arg0.getY(), arg1.getY()); } IntegerComparator integerComparator = new IntegerComparator(); if (integerComparator.compare(arg0.getZ(), arg1.getZ()) != 0) { - logger.debug("Z-index different: " + arg0.getZ() + ", " + arg1.getZ()); + logger.debug("Z-index different: {}, {}", arg0.getZ(), arg1.getZ()); return integerComparator.compare(arg0.getZ(), arg1.getZ()); } if (doubleComparator.compare(arg0.getWidth(), arg1.getWidth()) != 0) { - logger.debug("Width different: " + arg0.getWidth() + ", " + arg1.getWidth()); + logger.debug("Width different: {}, {}", arg0.getWidth(), arg1.getWidth()); return doubleComparator.compare(arg0.getWidth(), arg1.getWidth()); } if (doubleComparator.compare(arg0.getHeight(), arg1.getHeight()) != 0) { - logger.debug("Height different: " + arg0.getHeight() + ", " + arg1.getHeight()); + logger.debug("Height different: {}, {}", arg0.getHeight(), arg1.getHeight()); return doubleComparator.compare(arg0.getHeight(), arg1.getHeight()); } if (doubleComparator.compare(arg0.getFontSize(), arg1.getFontSize()) != 0) { - logger.debug("Font size different: " + arg0.getFontSize() + ", " + arg1.getFontSize()); + logger.debug("Font size different: {}, {}", arg0.getFontSize(), arg1.getFontSize()); return doubleComparator.compare(arg0.getFontSize(), arg1.getFontSize()); } if (stringComparator.compare(arg0.getVisibilityLevel(), arg1.getVisibilityLevel()) != 0) { - logger.debug("Visibility level different: " + arg0.getVisibilityLevel() + ", " + arg1.getVisibilityLevel()); + logger.debug("Visibility level different: {}, {}", arg0.getVisibilityLevel(), arg1.getVisibilityLevel()); return stringComparator.compare(arg0.getVisibilityLevel(), arg1.getVisibilityLevel()); } if (colorComparator.compare(arg0.getFillColor(), arg1.getFillColor()) != 0) { - logger.debug("Fill color different: " + arg0.getFillColor() + ", " + arg1.getFillColor()); + logger.debug("Fill color different: {}, {}", arg0.getFillColor(), arg1.getFillColor()); return colorComparator.compare(arg0.getFillColor(), arg1.getFillColor()); } if (colorComparator.compare(arg0.getBorderColor(), arg1.getBorderColor()) != 0) { - logger.debug("Border color different: " + arg0.getBorderColor() + ", " + arg1.getBorderColor()); + logger.debug("Border color different: {}, {}", arg0.getBorderColor(), arg1.getBorderColor()); return colorComparator.compare(arg0.getBorderColor(), arg1.getBorderColor()); } if (colorComparator.compare(arg0.getFontColor(), arg1.getFontColor()) != 0) { - logger.debug("Font color different: " + arg0.getFontColor() + ", " + arg1.getFontColor()); + logger.debug("Font color different: {}, {}", arg0.getFontColor(), arg1.getFontColor()); return colorComparator.compare(arg0.getFontColor(), arg1.getFontColor()); } // this should be somehow modified, because it can create a situation where // comparison will fall into infinite loop (in cyclic submodels) - ElementSubmodelConnectionComparator ascc = new ElementSubmodelConnectionComparator(epsilon); - int status = ascc.compare(arg0.getSubmodel(), arg1.getSubmodel()); + ElementSubmodelConnectionComparator connectionComparator = new ElementSubmodelConnectionComparator(epsilon); + int status = connectionComparator.compare(arg0.getSubmodel(), arg1.getSubmodel()); if (status != 0) { - logger.debug("Element submodel different: " + arg0.getSubmodel() + ", " + arg1.getSubmodel()); + logger.debug("Element submodel different: {}, {}", arg0.getSubmodel(), arg1.getSubmodel()); return status; } if (stringComparator.compare(arg0.getName(), arg1.getName()) != 0) { - logger.debug("Name different: " + arg0.getName() + ", " + arg1.getName()); + logger.debug("Name different: {}, {}", arg0.getName(), arg1.getName()); return stringComparator.compare(arg0.getName(), arg1.getName()); } if (stringComparator.compare(arg0.getNotes(), arg1.getNotes(), true) != 0) { - logger.debug("notes different: \n\"" + arg0.getNotes() + "\"\n\"" + arg1.getNotes() + "\""); + logger.debug("notes different: \n\"{}\"\n\"{}\"", arg0.getNotes(), arg1.getNotes()); return stringComparator.compare(arg0.getNotes(), arg1.getNotes()); } if (stringComparator.compare(arg0.getSymbol(), arg1.getSymbol()) != 0) { - logger.debug("symbol different: \"" + arg0.getSymbol() + "\", \"" + arg1.getSymbol() + "\""); + logger.debug("symbol different: \"{}\", \"{}\"", arg0.getSymbol(), arg1.getSymbol()); return stringComparator.compare(arg0.getSymbol(), arg1.getSymbol()); } if (stringComparator.compare(arg0.getFullName(), arg1.getFullName()) != 0) { - logger.debug("full name different: \"" + arg0.getFullName() + "\", \"" + arg1.getFullName() + "\""); + logger.debug("full name different: \"{}\", \"{}\"", arg0.getFullName(), arg1.getFullName()); return stringComparator.compare(arg0.getFullName(), arg1.getFullName()); } if (stringComparator.compare(arg0.getAbbreviation(), arg1.getAbbreviation()) != 0) { - logger.debug("Abbreviation different: \"" + arg0.getAbbreviation() + "\", \"" + arg1.getAbbreviation() + "\""); + logger.debug("Abbreviation different: \"{}\", \"{}\"", arg0.getAbbreviation(), arg1.getAbbreviation()); return stringComparator.compare(arg0.getAbbreviation(), arg1.getAbbreviation()); } if (stringComparator.compare(arg0.getFormula(), arg1.getFormula()) != 0) { - logger.debug("formula different: \"" + arg0.getFormula() + "\", \"" + arg1.getFormula() + "\""); + logger.debug("formula different: \"{}\", \"{}\"", arg0.getFormula(), arg1.getFormula()); return stringComparator.compare(arg0.getFormula(), arg1.getFormula()); } @@ -184,46 +177,52 @@ public class ElementComparator extends Comparator<Element> { status = miriamDataSetComparator.compare(arg0.getMiriamData(), arg1.getMiriamData()); if (status != 0) { - logger.debug("miriam data different"); - logger.debug(arg0.getMiriamData()); - logger.debug(arg1.getMiriamData()); + logger.debug("miriam data different:\n{}\n{}", arg0.getMiriamData(), arg1.getMiriamData()); return status; } if (doubleComparator.compare(arg0.getNameX(), arg1.getNameX()) != 0) { - logger.debug("NameX different: " + arg0.getNameX() + ", " + arg1.getNameX()); + logger.debug("NameX different: {}, {}", arg0.getNameX(), arg1.getNameX()); return doubleComparator.compare(arg0.getNameX(), arg1.getNameX()); } if (doubleComparator.compare(arg0.getNameY(), arg1.getNameY()) != 0) { - logger.debug("NameY different: " + arg0.getNameY() + ", " + arg1.getNameY()); + logger.debug("NameY different: {}, {}", arg0.getNameY(), arg1.getNameY()); return doubleComparator.compare(arg0.getNameY(), arg1.getNameY()); } if (doubleComparator.compare(arg0.getNameWidth(), arg1.getNameWidth()) != 0) { - logger.debug("NameWidth different: " + arg0.getNameWidth() + ", " + arg1.getNameWidth()); + logger.debug("NameWidth different: {}, {}", arg0.getNameWidth(), arg1.getNameWidth()); return doubleComparator.compare(arg0.getNameWidth(), arg1.getNameWidth()); } if (doubleComparator.compare(arg0.getNameHeight(), arg1.getNameHeight()) != 0) { - logger.debug("NameHeight different: " + arg0.getNameHeight() + ", " + arg1.getNameHeight()); + logger.debug("NameHeight different: {}, {}", arg0.getNameHeight(), arg1.getNameHeight()); return doubleComparator.compare(arg0.getNameHeight(), arg1.getNameHeight()); } EnumComparator<VerticalAlign> verticalAlignComparator = new EnumComparator<>(); if (verticalAlignComparator.compare(arg0.getNameVerticalAlign(), arg1.getNameVerticalAlign()) != 0) { - logger.debug("Name vertical alignment different: " + arg0.getNameVerticalAlign() + ", " - + arg1.getNameVerticalAlign()); + logger.debug("Name vertical alignment different: {}, {}", arg0.getNameVerticalAlign(), arg1.getNameVerticalAlign()); return verticalAlignComparator.compare(arg0.getNameVerticalAlign(), arg1.getNameVerticalAlign()); } EnumComparator<HorizontalAlign> horizontalAlignComparator = new EnumComparator<>(); if (horizontalAlignComparator.compare(arg0.getNameHorizontalAlign(), arg1.getNameHorizontalAlign()) != 0) { - logger.debug("Name horizontal alignment different: " + arg0.getNameHorizontalAlign() + ", " - + arg1.getNameHorizontalAlign()); + logger.debug("Name horizontal alignment different: {}, {}", arg0.getNameHorizontalAlign(), arg1.getNameHorizontalAlign()); return horizontalAlignComparator.compare(arg0.getNameHorizontalAlign(), arg1.getNameHorizontalAlign()); } + if (stringComparator.compare(arg0.getImmediateLink(), arg1.getImmediateLink()) != 0) { + logger.debug("Immediate link different: {}, {}", arg0.getImmediateLink(), arg1.getImmediateLink()); + return stringComparator.compare(arg0.getImmediateLink(), arg1.getImmediateLink()); + } + + if (glyphComparator.compare(arg0.getGlyph(), arg1.getGlyph()) != 0) { + logger.debug("Glyph different: {}, {}", arg0.getGlyph(), arg1.getGlyph()); + return glyphComparator.compare(arg0.getGlyph(), arg1.getGlyph()); + } + return 0; } diff --git a/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayComparator.java b/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..5937141f60786af39cbdc2cf1923d5b19886ce92 --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayComparator.java @@ -0,0 +1,59 @@ +package lcsb.mapviewer.model.overlay; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.common.Configuration; +import lcsb.mapviewer.common.comparator.SetComparator; +import lcsb.mapviewer.common.comparator.StringComparator; + +import java.util.HashSet; + +public class DataOverlayComparator extends Comparator<DataOverlay> { + + private final SetComparator<DataOverlayEntry> dataOverlayEntrySetComparator; + + public DataOverlayComparator(final double epsilon) { + super(DataOverlay.class, true); + this.dataOverlayEntrySetComparator = new SetComparator<>(new DataOverlayEntryComparator(epsilon)); + } + + public DataOverlayComparator() { + this(Configuration.EPSILON); + } + + @Override + protected int internalCompare(final DataOverlay arg0, final DataOverlay arg1) { + StringComparator stringComparator = new StringComparator(); + + int status = stringComparator.compare(arg0.getName(), arg1.getName()); + if (status != 0) { + logger.debug("Name different: {}, {}", arg0.getName(), arg1.getName()); + return status; + } + + status = stringComparator.compare(arg0.getDescription(), arg1.getDescription()); + if (status != 0) { + logger.debug("Description different: {}, {}", arg0.getDescription(), arg1.getDescription()); + return status; + } + + status = stringComparator.compare(arg0.getGenomeVersion(), arg1.getGenomeVersion()); + if (status != 0) { + logger.debug("GenomeVersion different: {}, {}", arg0.getGenomeVersion(), arg1.getGenomeVersion()); + return status; + } + + status = stringComparator.compare(arg0.getGenomeVersion(), arg1.getGenomeVersion()); + if (status != 0) { + logger.debug("GenomeVersion different: {}, {}", arg0.getGenomeVersion(), arg1.getGenomeVersion()); + return status; + } + + status = dataOverlayEntrySetComparator.compare(new HashSet<>(arg0.getEntries()), new HashSet<>(arg1.getEntries())); + if (status != 0) { + logger.debug("Entries different"); + return status; + } + + return 0; + } +} diff --git a/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayEntryComparator.java b/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayEntryComparator.java new file mode 100644 index 0000000000000000000000000000000000000000..8ab3b2deef71f2a44625ac8e39b3fd5187afcd59 --- /dev/null +++ b/model/src/main/java/lcsb/mapviewer/model/overlay/DataOverlayEntryComparator.java @@ -0,0 +1,107 @@ +package lcsb.mapviewer.model.overlay; + +import lcsb.mapviewer.common.Comparator; +import lcsb.mapviewer.common.Configuration; +import lcsb.mapviewer.common.comparator.BooleanComparator; +import lcsb.mapviewer.common.comparator.ColorComparator; +import lcsb.mapviewer.common.comparator.DoubleComparator; +import lcsb.mapviewer.common.comparator.SetComparator; +import lcsb.mapviewer.common.comparator.StringComparator; +import lcsb.mapviewer.model.map.BioEntity; +import lcsb.mapviewer.model.map.MiriamData; +import lcsb.mapviewer.model.map.MiriamDataComparator; +import lcsb.mapviewer.modelutils.map.ClassNameComparator; + +public class DataOverlayEntryComparator extends Comparator<DataOverlayEntry> { + + private final SetComparator<MiriamData> miriamDataSetComparator = new SetComparator<>(new MiriamDataComparator()); + + private final SetComparator<String> stringSetComparator = new SetComparator<>(new StringComparator()); + private final SetComparator<Class<? extends BioEntity>> classSetComparator = new SetComparator<>(new ClassNameComparator<>()); + + private final ColorComparator colorComparator = new ColorComparator(); + private final BooleanComparator booleanComparator = new BooleanComparator(); + private final DoubleComparator doubleComparator; + + public DataOverlayEntryComparator(final double epsilon) { + super(DataOverlayEntry.class); + doubleComparator = new DoubleComparator(epsilon); + } + + public DataOverlayEntryComparator() { + this(Configuration.EPSILON); + } + + @Override + protected int internalCompare(final DataOverlayEntry arg0, final DataOverlayEntry arg1) { + StringComparator stringComparator = new StringComparator(); + + int status = stringComparator.compare(arg0.getName(), arg1.getName()); + if (status != 0) { + logger.debug("Name different: {}, {}", arg0.getName(), arg1.getName()); + return status; + } + + status = stringComparator.compare(arg0.getDescription(), arg1.getDescription()); + if (status != 0) { + logger.debug("Description different: {}, {}", arg0.getDescription(), arg1.getDescription()); + return status; + } + + status = stringComparator.compare(arg0.getElementId(), arg1.getElementId()); + if (status != 0) { + logger.debug("ElementId different: {}, {}", arg0.getElementId(), arg1.getElementId()); + return status; + } + + status = stringComparator.compare(arg0.getModelName(), arg1.getModelName()); + if (status != 0) { + logger.debug("ModelName different: {}, {}", arg0.getModelName(), arg1.getModelName()); + return status; + } + + status = colorComparator.compare(arg0.getColor(), arg1.getColor()); + if (status != 0) { + logger.debug("Color different: {}, {}", arg0.getColor(), arg1.getColor()); + return status; + } + + status = miriamDataSetComparator.compare(arg0.getMiriamData(), arg1.getMiriamData()); + if (status != 0) { + logger.debug("MiriamData different: {}, {}", arg0.getMiriamData(), arg1.getMiriamData()); + return status; + } + + status = stringSetComparator.compare(arg0.getCompartments(), arg1.getCompartments()); + if (status != 0) { + logger.debug("Compartments different: {}, {}", arg0.getCompartments(), arg1.getCompartments()); + return status; + } + + status = doubleComparator.compare(arg0.getLineWidth(), arg1.getLineWidth()); + if (status != 0) { + logger.debug("LineWidth different: {}, {}", arg0.getLineWidth(), arg1.getLineWidth()); + return status; + } + + status = booleanComparator.compare(arg0.getReverseReaction(), arg1.getReverseReaction()); + if (status != 0) { + logger.debug("ReverseReaction different: {}, {}", arg0.getReverseReaction(), arg1.getReverseReaction()); + return status; + } + + status = doubleComparator.compare(arg0.getValue(), arg1.getValue()); + if (status != 0) { + logger.debug("Value different: {}, {}", arg0.getValue(), arg1.getValue()); + return status; + } + + status = classSetComparator.compare(arg0.getTypes(), arg1.getTypes()); + if (status != 0) { + logger.debug("Types different: {}, {}", arg0.getTypes(), arg1.getTypes()); + return status; + } + + return 0; + } +} diff --git a/model/src/main/java/lcsb/mapviewer/modelutils/map/ClassNameComparator.java b/model/src/main/java/lcsb/mapviewer/modelutils/map/ClassNameComparator.java index f88c513a5b0cf88965dc9449d84420229e517fc6..a25bcd8764fcbc2d7b94d0f8dc1636e62c5b4519 100644 --- a/model/src/main/java/lcsb/mapviewer/modelutils/map/ClassNameComparator.java +++ b/model/src/main/java/lcsb/mapviewer/modelutils/map/ClassNameComparator.java @@ -4,14 +4,13 @@ import java.util.Comparator; /** * Class used to compare classes using class names (SimpleName). - * + * * @author Piotr Gawron - * */ -public class ClassNameComparator implements Comparator<Class<?>> { +public class ClassNameComparator<T> implements Comparator<Class<? extends T>> { @Override - public int compare(final Class<?> o1, final Class<?> o2) { + public int compare(final Class<? extends T> o1, final Class<? extends T> o2) { return o1.getSimpleName().compareTo(o2.getSimpleName()); } diff --git a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java index 019eb8ff2f6ec2c9d2a6b792c8605bb27debbe8e..d47c340960a78094ec732900ca32aa14b00e3b77 100644 --- a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java +++ b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java @@ -1,5 +1,15 @@ package lcsb.mapviewer.modelutils.map; +import lcsb.mapviewer.model.map.BioEntity; +import lcsb.mapviewer.model.map.Drawable; +import lcsb.mapviewer.model.map.reaction.Reaction; +import lcsb.mapviewer.model.map.reaction.ReactionNode; +import lcsb.mapviewer.model.map.species.Element; +import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.reflections.Reflections; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -11,22 +21,10 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.reflections.Reflections; - -import lcsb.mapviewer.model.map.BioEntity; -import lcsb.mapviewer.model.map.Drawable; -import lcsb.mapviewer.model.map.reaction.Reaction; -import lcsb.mapviewer.model.map.reaction.ReactionNode; -import lcsb.mapviewer.model.map.species.Element; -import lcsb.mapviewer.model.map.species.field.ModificationResidue; - /** * Class with some util method for {@link BioEntity} objects. - * + * * @author Piotr Gawron - * */ public final class ElementUtils { @@ -52,23 +50,21 @@ public final class ElementUtils { /** * Default class logger. */ - private static Logger logger = LogManager.getLogger(); + private static final Logger logger = LogManager.getLogger(); /** - * @param elementClasses - * the elementClasses to set + * @param elementClasses the elementClasses to set * @see #elementClasses */ - protected static void setElementClasses(final Map<String, Class<? extends Element>> elementClasses) { + static void setElementClasses(final Map<String, Class<? extends Element>> elementClasses) { ElementUtils.elementClasses = elementClasses; } /** - * @param reactionClasses - * the reactionClasses to set + * @param reactionClasses the reactionClasses to set * @see #reactionClasses */ - protected static void setReactionClasses(final Map<String, Class<? extends Reaction>> reactionClasses) { + static void setReactionClasses(final Map<String, Class<? extends Reaction>> reactionClasses) { ElementUtils.reactionClasses = reactionClasses; } @@ -76,8 +72,7 @@ public final class ElementUtils { * This method return tag that identifies {@link BioEntity}. This tag should * be used in warning messages. * - * @param element - * tag for this element is created + * @param element tag for this element is created * @return tag that identifies element */ public String getElementTag(final Drawable element) { @@ -88,11 +83,9 @@ public final class ElementUtils { * This method return tag that identifies {@link BioEntity}. This tag should * be used in warning messages. * - * @param element - * tag for this element is created - * @param annotator - * this object identifies class that will produce warning. it can be - * null (in such situation it will be skipped in the tag) + * @param element tag for this element is created + * @param annotator this object identifies class that will produce warning. it can be + * null (in such situation it will be skipped in the tag) * @return tag that identifies element */ public String getElementTag(final Drawable element, final Object annotator) { @@ -182,8 +175,7 @@ public final class ElementUtils { * Returns list of classes that extends {@link Element} class, but don't have * children (leaves in the hierarchy tree). * - * @return list of classes that extends {@link Element} class, but don't have - * children (leaves in the hierarchy tree) + * @return list of classes that extends {@link Element} class, but don't have children (leaves in the hierarchy tree) */ public List<Class<? extends Element>> getAvailableElementSubclasses() { List<Class<? extends Element>> result = new ArrayList<>(); @@ -191,14 +183,14 @@ public final class ElementUtils { refreshClasses(); } result.addAll(elementClasses.values()); - Collections.sort(result, new ClassNameComparator()); + Collections.sort(result, new ClassNameComparator<>()); return result; } /** * Refresh list of known implementation of {@link Element} class. */ - protected void refreshClasses() { + private void refreshClasses() { bioEntityClassByStringName = new HashMap<>(); List<Class<? extends Element>> tmp = new ArrayList<>(); @@ -270,8 +262,7 @@ public final class ElementUtils { /** * Returns a {@link Class} that extends {@link BioEntity} for a given name. * - * @param name - * name of the class + * @param name name of the class * @return {@link Class} that extends {@link BioEntity} for a given name */ public Class<?> getClassByName(final String name) { diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java index 4c8e741187274935a4dce99945ce97f07576396e..b6408a09ad8ada8b70afaba745bc784b52ec5199 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementComparatorTest.java @@ -307,4 +307,24 @@ public class ElementComparatorTest extends ModelTestFunctions { assertEquals(0, comparator.compare(species2, species1)); } + @Test + public void testCompareImmediateLink() throws Exception { + SimpleMolecule species1 = createSimpleMolecule(); + SimpleMolecule species2 = new SimpleMolecule(species1); + + species1.setImmediateLink(faker.internet().url()); + assertTrue(comparator.compare(species1, species2) != 0); + assertTrue(comparator.compare(species2, species1) != 0); + + species1 = createSimpleMolecule(); + species2 = createSimpleMolecule(); + + species1.setImmediateLink(faker.internet().url()); + species2.setImmediateLink(species1.getImmediateLink()); + + assertEquals(0, comparator.compare(species1, species2)); + assertEquals(0, comparator.compare(species2, species1)); + + } + } diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java index 1a5e038d828f02de032647013a10f83af4b726e6..2bab07e31452439d40bbf76528192763045a83bb 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ElementTest.java @@ -1,22 +1,5 @@ package lcsb.mapviewer.model.map.species; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; - import lcsb.mapviewer.ModelTestFunctions; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.exception.InvalidArgumentException; @@ -30,10 +13,27 @@ import lcsb.mapviewer.model.map.model.ElementSubmodelConnection; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelData; import lcsb.mapviewer.model.map.model.ModelFullIndexed; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; public class ElementTest extends ModelTestFunctions { - private static double EPSILON = Configuration.EPSILON; + private static final double EPSILON = Configuration.EPSILON; @Before public void setUp() throws Exception { @@ -103,9 +103,11 @@ public class ElementTest extends ModelTestFunctions { GenericProtein protein = new GenericProtein(); protein.setId(-17); protein.setSubmodel(new ElementSubmodelConnection()); + protein.setImmediateLink(faker.internet().url()); Element copy = new GenericProtein(protein); assertNotNull(copy); assertEquals(protein.getId(), copy.getId()); + assertEquals(protein.getImmediateLink(), copy.getImmediateLink()); } @Test @@ -350,7 +352,7 @@ public class ElementTest extends ModelTestFunctions { synonyms = new ArrayList<>(); synonyms.add(syn); element.addSynonyms(synonyms); - assertFalse(syn.equals(element.getSynonyms().get(1))); + assertNotEquals(syn, element.getSynonyms().get(1)); } @Test @@ -369,7 +371,7 @@ public class ElementTest extends ModelTestFunctions { formerSymbols = new ArrayList<>(); formerSymbols.add(syn); element.addFormerSymbols(formerSymbols); - assertFalse(syn.equals(element.getFormerSymbols().get(1))); + assertNotEquals(syn, element.getFormerSymbols().get(1)); } } diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ModelContructor.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ModelContructor.java index f20dc52948b2e0496dd2b38203e222c178a849db..ea330674da7974d55e721bb4d7e90e610d586746 100644 --- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ModelContructor.java +++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ModelContructor.java @@ -1,13 +1,13 @@ package lcsb.mapviewer.wikipathway.xml; import lcsb.mapviewer.commands.CreateHierarchyCommand; +import lcsb.mapviewer.commands.layout.ModifierType; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.InvalidStateException; import lcsb.mapviewer.converter.ConverterException; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.PolylineDataFactory; import lcsb.mapviewer.converter.model.celldesigner.reaction.ReactionLineData; -import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType; import lcsb.mapviewer.converter.model.celldesigner.types.ModifierTypeUtils; import lcsb.mapviewer.model.LogMarker; import lcsb.mapviewer.model.ProjectLogEntryType; @@ -106,7 +106,7 @@ public class ModelContructor { */ private static final double EPSILON = 1e-6; /** - * List of {@link Shape#shape shapes} that are not supported to be part of a + * List of shapes that are not supported to be part of a * {@link Complex complex}. */ private static final Set<GpmlShape> INALID_COMPLEX_SHAPE_CHILDREN = new HashSet<>(); @@ -1252,7 +1252,7 @@ public class ModelContructor { } if (complex.getName() == null || (complex.getName().isEmpty())) { for (final Layer layer : model.getLayers()) { - if (layer.getName().equals(CreateHierarchyCommand.TEXT_LAYER_NAME)) { + if (!layer.getName().equals(CreateHierarchyCommand.PATHWAY_LAYER_NAME)) { LayerText toRemove = null; for (final LayerText lt : layer.getTexts()) { if (complex.contains(lt)) { @@ -1297,7 +1297,7 @@ public class ModelContructor { for (final Compartment compartment : model.getCompartments()) { if (compartment.getName() == null || compartment.getName().isEmpty()) { for (final Layer layer : model.getLayers()) { - if (layer.getName().equals(CreateHierarchyCommand.TEXT_LAYER_NAME)) { + if (!layer.getName().equals(CreateHierarchyCommand.PATHWAY_LAYER_NAME)) { LayerText toRemove = null; for (final LayerText lt : layer.getTexts()) { if (compartment.contains(lt)) { @@ -1322,12 +1322,6 @@ public class ModelContructor { } } - /** - * Creates list of {@link LayerLine} in the model from gpml model. - * - * @param graph gpml model - * @return list of {@link LayerLine} - */ private Collection<PolylineData> createLines(final Graph graph) { final List<PolylineData> result = new ArrayList<PolylineData>(); for (final PolylineData pd : graph.getLines()) { @@ -1398,7 +1392,7 @@ public class ModelContructor { layer.setVisible(true); layer.setLayerId(1); layer.setZ(1); - layer.setName(CreateHierarchyCommand.TEXT_LAYER_NAME); + layer.setName("text"); } } } diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ReactionLayoutFinder.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ReactionLayoutFinder.java index 6a8a3ba912f8edbcb12dd4f6cc44605a34a8ed20..fea5c243fbf1392960aa049457866ea4b4282088 100644 --- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ReactionLayoutFinder.java +++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/xml/ReactionLayoutFinder.java @@ -1,24 +1,12 @@ package lcsb.mapviewer.wikipathway.xml; -import java.awt.geom.Line2D; -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - +import lcsb.mapviewer.commands.layout.ReactionData; import lcsb.mapviewer.common.Configuration; import lcsb.mapviewer.common.Pair; import lcsb.mapviewer.common.comparator.DoubleComparator; import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.geometry.LineTransformation; import lcsb.mapviewer.common.geometry.PointTransformation; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.PolylineDataFactory; import lcsb.mapviewer.model.graphics.PolylineData; import lcsb.mapviewer.model.map.reaction.Modifier; @@ -27,17 +15,28 @@ import lcsb.mapviewer.model.map.reaction.Reactant; import lcsb.mapviewer.wikipathway.model.Edge; import lcsb.mapviewer.wikipathway.model.Interaction; import lcsb.mapviewer.wikipathway.utils.Geo; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.awt.geom.Line2D; +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; class ReactionLayoutFinder { - private Logger logger = LogManager.getLogger(); + private final Logger logger = LogManager.getLogger(); - private LineTransformation lt = new LineTransformation(); - private PointTransformation pt = new PointTransformation(); + private final LineTransformation lt = new LineTransformation(); + private final PointTransformation pt = new PointTransformation(); private Interaction interaction; - public static enum LineLocation { + public enum LineLocation { PRODUCT, MODIFIER, REACTANT, @@ -48,11 +47,10 @@ class ReactionLayoutFinder { /** * Return coordinates where all {@link Reactant} should end, all * {@link Modifier} should end, and all {@link Product} should start. - * - * @param interaction - * GPML {@link Interaction} + * + * @param interaction GPML {@link Interaction} * @return map consisted of three entries for classes: {@link Product}, - * {@link Reactant}, {@link Modifier} + * {@link Reactant}, {@link Modifier} */ public Map<Class<?>, Point2D> getNodeStartPoints(final Interaction interaction) { this.interaction = interaction; @@ -78,12 +76,12 @@ class ReactionLayoutFinder { points.get(Reactant.class)); PolylineData inputReactionLine = getSubline(interaction.getLine(), points.get(Reactant.class), points.get(Modifier.class)); - inputReactionLine.trimEnd(ReactionCellDesignerConverter.RECT_SIZE / 2); + inputReactionLine.trimEnd(ReactionData.RECT_SIZE / 2); PolylineData outputReactionLine = getSubline(interaction.getLine(), points.get(Modifier.class), points.get(Product.class)); - outputReactionLine.trimBegin(ReactionCellDesignerConverter.RECT_SIZE / 2); + outputReactionLine.trimBegin(ReactionData.RECT_SIZE / 2); PolylineData productLine = getSubline(interaction.getLine(), points.get(Product.class), interaction.getLine().getEndPoint()); PolylineData modifierLine = new PolylineData(pt.copyPoint(inputReactionLine.getEndPoint()), @@ -320,7 +318,6 @@ class ReactionLayoutFinder { PolylineData result = new PolylineData(originalPolylineData); List<Line2D> lines = new ArrayList<>(result.getLines().subList(start, end + 1)); result.removeLines(); - ; result.addLines(lines); result.setStartPoint(pt.copyPoint(startPoint)); diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java index 908bc74ddbe876471a2dc6f16ec71a36c94f9a76..c591c36b99ab27b490305f2a9d18eb57ac897315 100644 --- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java +++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java @@ -1,7 +1,7 @@ package lcsb.mapviewer.wikipathway; +import lcsb.mapviewer.commands.layout.ReactionData; import lcsb.mapviewer.common.geometry.PointTransformation; -import lcsb.mapviewer.converter.model.celldesigner.geometry.ReactionCellDesignerConverter; import lcsb.mapviewer.model.graphics.HorizontalAlign; import lcsb.mapviewer.model.graphics.VerticalAlign; import lcsb.mapviewer.model.map.Drawable; @@ -37,7 +37,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions { private ModelComparator mc; - private PointTransformation pt = new PointTransformation(); + private final PointTransformation pt = new PointTransformation(); @Before public void setUp() { @@ -278,6 +278,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions { for (final Complex species : model.getComplexList()) { if ("p70 S6 Kinases".equals(species.getName())) { nameFound = true; + break; } } assertTrue("Complex parsed from gpml should have a valid name", nameFound); @@ -381,7 +382,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions { String fileName = "testFiles/small/protein_with_modification.gpml"; Model model1 = new GPMLToModel().getModel(fileName); - Gene gene = (Gene) model1.getElementByElementId("be3de"); + Gene gene = model1.getElementByElementId("be3de"); assertNotNull(gene); assertEquals(2, gene.getModificationResidues().size()); for (ModificationResidue mr : gene.getModificationResidues()) { @@ -398,7 +399,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions { String fileName = "testFiles/small/protein_with_modification_2.gpml"; Model model1 = new GPMLToModel().getModel(fileName); - Gene protein = (Gene) model1.getElementByElementId("be3de"); + Gene protein = model1.getElementByElementId("be3de"); assertNotNull(protein); assertEquals(2, protein.getModificationResidues().size()); @@ -418,7 +419,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions { double distance = pt.getPointOnLine(centerLine.getP1(), centerLine.getP2(), 0.5) .distance(reaction.getModifiers().get(0).getLine().getEndPoint()); assertTrue("Modifier is too far from center point: " + distance, - distance < ReactionCellDesignerConverter.RECT_SIZE); + distance < ReactionData.RECT_SIZE); assertEquals(0, getWarnings().size()); } diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java index 87aa9ea10fa440b82d74bffad4800ee36d85c8fe..141626a385e1024b57ba177d697a671736d2b5af 100644 --- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java +++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java @@ -5,7 +5,6 @@ import lcsb.mapviewer.common.tests.UnitTestFailedWatcher; import lcsb.mapviewer.converter.ConverterException; import lcsb.mapviewer.converter.ConverterParams; import lcsb.mapviewer.converter.InvalidInputDataExecption; -import lcsb.mapviewer.converter.ZIndexPopulator; import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser; import lcsb.mapviewer.model.graphics.HorizontalAlign; import lcsb.mapviewer.model.graphics.PolylineData; @@ -23,6 +22,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.Unknown; import lcsb.mapviewer.model.map.species.field.StructuralState; +import lcsb.mapviewer.utils.ZIndexPopulator; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Rule; diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java index 11e01fb110b161a1daef817dfa9260062bbddf80..559cb14632fb65cf335bfdecb9da0fba0a200aa0 100644 --- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java +++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java @@ -36,12 +36,12 @@ import lcsb.mapviewer.model.job.MinervaJob; import lcsb.mapviewer.model.job.MinervaJobPriority; import lcsb.mapviewer.model.job.MinervaJobType; import lcsb.mapviewer.model.map.BioEntity; +import lcsb.mapviewer.model.map.InconsistentModelException; import lcsb.mapviewer.model.map.MiriamData; import lcsb.mapviewer.model.map.MiriamType; import lcsb.mapviewer.model.map.layout.ProjectBackground; import lcsb.mapviewer.model.map.layout.ProjectBackgroundImageLayer; import lcsb.mapviewer.model.map.layout.ProjectBackgroundStatus; -import lcsb.mapviewer.model.map.layout.graphics.Layer; import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.model.ModelData; import lcsb.mapviewer.model.map.model.ModelSubmodelConnection; @@ -58,7 +58,6 @@ import lcsb.mapviewer.persist.dao.ProjectDao; import lcsb.mapviewer.persist.dao.ProjectLogEntryDao; import lcsb.mapviewer.persist.dao.ProjectLogEntryProperty; import lcsb.mapviewer.persist.dao.ProjectProperty; -import lcsb.mapviewer.persist.dao.graphics.LayerProperty; import lcsb.mapviewer.persist.dao.map.ModelProperty; import lcsb.mapviewer.persist.dao.user.UserAnnotationSchemaDao; import lcsb.mapviewer.services.interfaces.ICommentService; @@ -470,6 +469,18 @@ public class ProjectService implements IProjectService { } } + @Override + public byte[] getGeneratedSourceZipForProject(final Project project) throws ConverterException { + try { + ComplexZipConverter converter = new ComplexZipConverter(CellDesignerXmlParser.class); + Project dbProject = self.getProjectByProjectId(project.getProjectId()); + ProjectFactory factory = new ProjectFactory(converter); + return factory.project2zip(dbProject); + } catch (ConverterException | InconsistentModelException e) { + throw new ConverterException(e); + } + } + @Override public Set<MiriamData> getMiriamForProject(final String projectId) { return new HashSet<>(self.getMiriamWithDuplicatesForProject(projectId)); @@ -602,16 +613,6 @@ public class ProjectService implements IProjectService { self.createSimpleProject(params); } - Map<LayerProperty, Object> layerFilter = new HashMap<>(); - layerFilter.put(LayerProperty.PROJECT_ID, params.getProjectId()); - List<Layer> layers = layerService.getAll(layerFilter, Pageable.unpaged()).getContent(); - for (final Layer layer : layers) { - if (!layer.getName().equals(CreateHierarchyCommand.TEXT_LAYER_NAME)) { - layer.setVisible(false); - layerService.update(layer); - } - } - self.updateProjectStatus(params.getProjectId(), ProjectStatus.UPLOADING_TO_DB, 0.0); self.addBuiltInBackgrounds(params); @@ -735,6 +736,7 @@ public class ProjectService implements IProjectService { } for (ModelData modelData : project.getModels()) { project.addLogEntries(fixModelIssues(modelData)); + modelData.setTileSize(MapGenerator.TILE_SIZE); } self.update(project); } catch (final IOException | ConverterException e) { diff --git a/service/src/main/java/lcsb/mapviewer/services/interfaces/IProjectService.java b/service/src/main/java/lcsb/mapviewer/services/interfaces/IProjectService.java index 0f73a7bcca41dc17fcdac39724d66f7593159904..904a308ddd4b0860041720e9fc022a3fb600cb44 100644 --- a/service/src/main/java/lcsb/mapviewer/services/interfaces/IProjectService.java +++ b/service/src/main/java/lcsb/mapviewer/services/interfaces/IProjectService.java @@ -182,4 +182,8 @@ public interface IProjectService extends MinervaJobExecutor, CrudService<Project void submitAnnotateProjectJob(final String projectId, final UserAnnotationSchema schema); void submitRefreshChemicalInfoJobs(final String projectId); + + @Transactional + byte[] getGeneratedSourceZipForProject(final Project project) throws ConverterException; + } diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceNoTransactionTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceNoTransactionTest.java index 000a7709de727c9ec0257db9e571669131b4dacb..6de23de428a1ec2bed75aee1a3d6dc1bdb6b7571 100644 --- a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceNoTransactionTest.java +++ b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceNoTransactionTest.java @@ -572,7 +572,7 @@ public class ProjectServiceNoTransactionTest extends TestUtils { for (final ZipEntryFile entry : params.getZipEntries()) { complexParams.entry(entry); } - Model model = parser.createModel(complexParams); + Model model = parser.createModel(complexParams, new Project()); assertNotNull(model); assertEquals("main", model.getName()); diff --git a/web/src/main/java/lcsb/mapviewer/web/api/project/NewProjectController.java b/web/src/main/java/lcsb/mapviewer/web/api/project/NewProjectController.java index c7bdce6b3c82fa2adf3741fdc7c3bb91c9925457..15716dc9964e963c25b035146ca436d9e4ec9d68 100644 --- a/web/src/main/java/lcsb/mapviewer/web/api/project/NewProjectController.java +++ b/web/src/main/java/lcsb/mapviewer/web/api/project/NewProjectController.java @@ -4,6 +4,8 @@ import lcsb.mapviewer.api.OperationNotAllowedException; import lcsb.mapviewer.api.QueryException; import lcsb.mapviewer.api.UpdateConflictException; import lcsb.mapviewer.api.minervanet.MinervaNetController; +import lcsb.mapviewer.common.MimeType; +import lcsb.mapviewer.converter.ConverterException; import lcsb.mapviewer.model.Project; import lcsb.mapviewer.model.job.MinervaJob; import lcsb.mapviewer.model.security.Privilege; @@ -27,6 +29,7 @@ import org.hibernate.validator.constraints.NotBlank; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -239,4 +242,21 @@ public class NewProjectController { return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects(), meshService, taxonomyService)); } + @PreAuthorize("hasAnyAuthority('IS_ADMIN', 'READ_PROJECT:' + #projectId)") + @GetMapping(value = "/{projectId}:downloadGeneratedZip") + public ResponseEntity<?> downloadGeneratedZip(final @PathVariable(value = "projectId") String projectId) + throws ObjectNotFoundException, ConverterException { + Project project = projectService.getProjectByProjectId(projectId); + if (project == null) { + throw new ObjectNotFoundException("Project with given projectId does not exist"); + } + + byte[] content = projectService.getGeneratedSourceZipForProject(project); + final HttpHeaders responseHeaders = new HttpHeaders(); + responseHeaders.add("content-disposition", "attachment; filename=" + projectId + ".zip"); + responseHeaders.add("Content-Type", MimeType.ZIP.getTextRepresentation()); + + return new ResponseEntity<>(content, responseHeaders, HttpStatus.OK); + } + } \ No newline at end of file diff --git a/web/src/test/java/lcsb/mapviewer/web/api/NewApiDocs.java b/web/src/test/java/lcsb/mapviewer/web/api/NewApiDocs.java index ad3c9406ca953663e2d65d5b662f2c727fe25061..b157a93fc5fc61d0a7185c38db8df4ddc85deb05 100644 --- a/web/src/test/java/lcsb/mapviewer/web/api/NewApiDocs.java +++ b/web/src/test/java/lcsb/mapviewer/web/api/NewApiDocs.java @@ -1315,6 +1315,10 @@ public class NewApiDocs { fieldWithPath(prefix + "id") .description("job id") .type(JsonFieldType.NUMBER), + fieldWithPath(prefix + "progress") + .description("optional info about job progress (0-100)") + .optional() + .type(JsonFieldType.NUMBER), fieldWithPath(prefix + "jobType") .description("job type") .type(JsonFieldType.STRING), @@ -1329,6 +1333,14 @@ public class NewApiDocs { .description("when the job execution finished") .optional() .type(JsonFieldType.STRING), + fieldWithPath(prefix + "externalObjectClass") + .description("if job is attached to object here is the type of the object") + .optional() + .type(JsonFieldType.STRING), + fieldWithPath(prefix + "externalObjectId") + .description("if job is attached to object here is the id of the object") + .optional() + .type(JsonFieldType.NUMBER), fieldWithPath(prefix + "priority") .description("job priority (1 is the highest priority)") .type(JsonFieldType.NUMBER) diff --git a/web/src/test/java/lcsb/mapviewer/web/api/plugin/NewPluginControllerTest.java b/web/src/test/java/lcsb/mapviewer/web/api/plugin/NewPluginControllerTest.java index 7d7ad5c1023a5872cea9b14a65a2d51559d27e36..d4255f3975b9915ec29f4ee145ad50da25fc8190 100644 --- a/web/src/test/java/lcsb/mapviewer/web/api/plugin/NewPluginControllerTest.java +++ b/web/src/test/java/lcsb/mapviewer/web/api/plugin/NewPluginControllerTest.java @@ -59,6 +59,7 @@ public class NewPluginControllerTest extends ControllerIntegrationTest { public void setUp() throws Exception { objectMapper = newApiResponseSerializer.getObjectMapper(); pluginHashes = new ArrayList<>(); + pluginHashes.add(PLUGIN_HASH); } @After diff --git a/web/src/test/java/lcsb/mapviewer/web/api/project/NewProjectControllerTest.java b/web/src/test/java/lcsb/mapviewer/web/api/project/NewProjectControllerTest.java index 75c4b7c2ac308f498843ed909d3eca8898bd6620..a34b6578dfa3af2578ca7c9c34d8864c968a8eab 100644 --- a/web/src/test/java/lcsb/mapviewer/web/api/project/NewProjectControllerTest.java +++ b/web/src/test/java/lcsb/mapviewer/web/api/project/NewProjectControllerTest.java @@ -599,4 +599,18 @@ public class NewProjectControllerTest extends ControllerIntegrationTest { } + @Test + public void testGeneratedZip() throws Exception { + createProjectWithGlyph(TEST_PROJECT); + + final MockHttpSession session = createSession(BUILT_IN_TEST_ADMIN_LOGIN, BUILT_IN_TEST_ADMIN_PASSWORD); + + final RequestBuilder request = get("/minerva/new_api/projects/{projectId}:downloadGeneratedZip", TEST_PROJECT) + .session(session); + + mockMvc.perform(request) + .andExpect(status().isOk()) + .andExpect(status().is2xxSuccessful()); + } + }