How Metanodes Are Stored In An XGMML File?

(Under construction)

There are three types of nodes in Cytoscape XGMML files.

  1. Base Node - node without children.
  2. Meta Node - node which has at least one child.
  3. Node Reference - pointer to actual node data structure.

Base Node

<node id="GAL80" label="GAL80" name="base">
    <att value="GAL80" name="commonName"/>
    <att value="GAL80 " name="ALIASES"/>
    <att value="GAL80" name="canonicalName"/>
    <att value="Saccharomyces cerevisiae" name="species"/>
    <graphics fill="#00ff00" outline="#000000" h="30.0" w="50.0" x="199.5" y="-53.5" type="rectangle"/>
</node>

A Base Node is a node which has no internal structure. This type of entry has the following members.

Metanode

(The example below does not have edges. Will be updated shortly.)

<node id="MetaNode_-14" label="MetaNode_-14" name="metaNode">
    <att value="GAL80,GAL4,GAL6" name="commonName"/>
    <att name="ALIASES"/>
    <att value="MetaNode_-14" name="canonicalName"/>
    <att value="Saccharomyces cerevisiae" name="species"/>
    <att name="metanodeChildren">
        <graph>
            <node id="GAL80" label="GAL80" name="reference"/>
            <node id="GAL4" label="GAL4" name="reference"/>
            <node id="MetaNode_-16" label="MetaNode_-16" name="reference"/>
        </graph>
    </att>
    <graphics fill="#ffffff" outline="#000000" h="75.6939756606048" w="75.6939756606048" x="227.33333418100946" y="-12.666665818990552" type="rectangle"/>
</node>

Most of the part is the same as base nodes. The difference is, metanode always has a subgraph, which contains child nodes and edges. To avoid redundancy, nodes and edges in metanodes are references to the actual XML data element. Also, metanode can have metanodes as children.

ScooterMorris 04-05-06: This is a good start, and very exciting to see, but I have a number of problems, particularly from the standpoint of being able to read a "normal" XGMML file into Cytoscape:

Example

The example below describes a small graph in xgmml which contains a sub-graph and will import successfully into Cytoscape v2.8.2 with metaNodePlugin2 v1.6 loaded

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<graph label="small metanode example" 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:xlink="http://www.w3.org/1999/xlink" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:cy="http://www.cytoscape.org" 
    xmlns="http://www.cs.rpi.edu/XGMML"  
    directed="1">
  <node label="B" id="1"></node>
  <node label="A" id="2"></node>
  <node label="M" id="10">
    <att type="string" name="__groupViewer" value="metaNode"/>
    <att>
      <graph>
        <node label="D" id="8"></node>
        <node label="E" id="9"></node>
        <node label="C" id="7"></node>
        <edge label="D-E" source="8" target="9">
          <att name="weight" type="integer" value="4"/>
        </edge>
        <edge label="E-C" source="9" target="7"></edge>
        <edge label="C-D" source="7" target="8"></edge>
      </graph>
    </att>
  </node>
  <edge label="A-B" source="2" target="1"></edge>
  <edge label="A-E" source="2" target="9"></edge>
</graph>

please note that:

Metanode_In_XGMML (last edited 2012-03-03 00:39:39 by server2)

MoinMoin Appliance - Powered by TurnKey Linux