1114
Comment:
|
3878
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
=== 1. Overview of the Data Classes === | === 1. Overview of the CytoscapeData Classes === |
Line 5: | Line 5: |
CytoscapeData is the primary class that Cytoscape uses for its attribute storage and access. CytoscapeData is an interface that provides a tiered API that allows for more advanced use as the user becomes more familiar with the class. | CytoscapeData is the primary class that Cytoscape uses for its attribute storage and access. CytoscapeData is an interface that provides a tiered API that allows for more advanced use as the user becomes more familiar with the class. The primary class, CytoscapeData, is an interface located at {{{cytoscape.data.CytoscapeData}}}. It extends the old data class, {{{GraphObjAttributes}}}, to support legacy code. CytoscapeData also extends the classes, {{{CyData}}} and {{{CyDataDefinition}}}, these classes provide the advanced functionality of CytoscapeData. |
Line 7: | Line 7: |
The primary class, CytoscapeData, is an interface located at {{{cytoscape.data.CytoscapeData}}}. It extends the old data class, {{{GraphObjAttributes}}}, to support legacy code. CytoscapeData also extends the classes, {{{CyData}}} and {{{CyDataDefinition}}}, these classes provide the advanced functionality of CytoscapeData. This document will deal primarily with the API offered by CytoscapeData, but more information is available for the support classes. The implementation and inheritance of CytoscapeData is show here: |
This document will deal primarily with the API offered by CytoscapeData, but more information is available for the support classes. The implementation and inheritance of CytoscapeData is shown here: |
Line 12: | Line 10: |
=== 2. Allowed Data Types, and other Conventions === CytoscapeData is restricted in the type of data it can store. While the arguments for values are {{{Object}}}s. Only certain types are allowed. ||||Allowable Value Types|| ||Java Class||CytoscapeData Type|| ||java.lang.String||STRING_TYPE|| ||java.lang.Double||FLOATING_POINT_TYPE|| ||java.lang.Integer||INTEGER_TYPE|| ||java.lang.Boolean||BOOLEAN_TYPE|| While this is somewhat restrictive, especially since Lists and Hashes are not allowed, CytoscapeData makes up for that lack, by providing built-in list and hash data structures. Section 4 covers this. === 3. Beginning CytoscapeData Attribute Storage and Access === CytoscapeData stores values in a multi-dimensional way. Every object in Cytoscape that has values stored for it, has a {{{getIdentifier()}}} method that will return the unique identifier for that object. Currently this is restricted to Nodes and Edges. To store or access a value, the value must be stored under an attribute name. This means that many different values can be associated with a node, each identifiable by a specific attribute. The simplest case is one attribute, and one value: [ftp://baker.systemsbiology.net/pub/xmas/CD_structure_1.png] As more attributes are added, more values are stored for a given identifier. [ftp://baker.systemsbiology.net/pub/xmas/CD_structure_2.png] The following methods are used for accessing using the one-attribute-one-value paradigm. ||Set||{{{setAttributeValue(String identifier, String attribute, Object value) }}}|| ||Get||{{{getAttributeValue(String identifier, String attribute) }}}|| ||Delete||{{{deleteAttributeValue(String identifier, String attribute) }}}|| === 4. Advanced CytoscapeData Attribute Storage and Access === As more complex data is created, CytoscapeData has the potential to accomodate. Lists and Hashes provide a mechanism for storing complex multi-dimensional data. Since the basic CytoscapeData types do not allow for these, they are built into the API. One Attribute, with several keys: [ftp://baker.systemsbiology.net/pub/xmas/CD_structure_3.png] Multipe Attributes, each with several (possibly different) keys: [ftp://baker.systemsbiology.net/pub/xmas/CD_structure_4.png] There are 2 sets of methods that allow for the Identifier->Attribute->Key paradigm to be used. There are both List and Hash type methods. If the List methods are used first, then later the Hash methods, the values added as a list will simply be given hash keys which are the position in the list as a string. The same is true for using Hash methods then List methods, the Hash keys will be ignored, and the values returned as though they were a list. |
1. Overview of the CytoscapeData Classes
CytoscapeData is the primary class that Cytoscape uses for its attribute storage and access. CytoscapeData is an interface that provides a tiered API that allows for more advanced use as the user becomes more familiar with the class. The primary class, CytoscapeData, is an interface located at cytoscape.data.CytoscapeData. It extends the old data class, GraphObjAttributes, to support legacy code. CytoscapeData also extends the classes, CyData and CyDataDefinition, these classes provide the advanced functionality of CytoscapeData.
This document will deal primarily with the API offered by CytoscapeData, but more information is available for the support classes. The implementation and inheritance of CytoscapeData is shown here:
[ftp://baker.systemsbiology.net/pub/xmas/CytoscapeData_classes.png]
2. Allowed Data Types, and other Conventions
CytoscapeData is restricted in the type of data it can store. While the arguments for values are Objects. Only certain types are allowed.
Allowable Value Types |
|
Java Class |
CytoscapeData Type |
java.lang.String |
STRING_TYPE |
java.lang.Double |
FLOATING_POINT_TYPE |
java.lang.Integer |
INTEGER_TYPE |
java.lang.Boolean |
BOOLEAN_TYPE |
While this is somewhat restrictive, especially since Lists and Hashes are not allowed, CytoscapeData makes up for that lack, by providing built-in list and hash data structures. Section 4 covers this.
3. Beginning CytoscapeData Attribute Storage and Access
CytoscapeData stores values in a multi-dimensional way. Every object in Cytoscape that has values stored for it, has a getIdentifier() method that will return the unique identifier for that object. Currently this is restricted to Nodes and Edges. To store or access a value, the value must be stored under an attribute name. This means that many different values can be associated with a node, each identifiable by a specific attribute.
The simplest case is one attribute, and one value:
[ftp://baker.systemsbiology.net/pub/xmas/CD_structure_1.png]
As more attributes are added, more values are stored for a given identifier.
[ftp://baker.systemsbiology.net/pub/xmas/CD_structure_2.png]
The following methods are used for accessing using the one-attribute-one-value paradigm.
Set |
setAttributeValue(String identifier, String attribute, Object value) |
Get |
getAttributeValue(String identifier, String attribute) |
Delete |
deleteAttributeValue(String identifier, String attribute) |
4. Advanced CytoscapeData Attribute Storage and Access
As more complex data is created, CytoscapeData has the potential to accomodate. Lists and Hashes provide a mechanism for storing complex multi-dimensional data. Since the basic CytoscapeData types do not allow for these, they are built into the API.
One Attribute, with several keys:
[ftp://baker.systemsbiology.net/pub/xmas/CD_structure_3.png]
Multipe Attributes, each with several (possibly different) keys:
[ftp://baker.systemsbiology.net/pub/xmas/CD_structure_4.png]
There are 2 sets of methods that allow for the Identifier->Attribute->Key paradigm to be used. There are both List and Hash type methods. If the List methods are used first, then later the Hash methods, the values added as a list will simply be given hash keys which are the position in the list as a string. The same is true for using Hash methods then List methods, the Hash keys will be ignored, and the values returned as though they were a list.
1 This is = test;
2
Will give you access to the new data API now provided by Cytoscape.
Some Features
- This
- That
- Other
New |
Old |
Span |
|
yes |
no |