Author: mes
Date: 2011-11-16 16:00:34 -0800 (Wed, 16 Nov 2011)
New Revision: 27505
Modified:
csplugins/trunk/ucsd/mes/gxp-reader/src/main/java/cytoscape/gxp/GXPGraphReader.java
Log:
changed import based on my new understanding of the format
Modified:
csplugins/trunk/ucsd/mes/gxp-reader/src/main/java/cytoscape/gxp/GXPGraphReader.java
===================================================================
---
csplugins/trunk/ucsd/mes/gxp-reader/src/main/java/cytoscape/gxp/GXPGraphReader.java
2011-11-16 23:21:30 UTC (rev 27504)
+++
csplugins/trunk/ucsd/mes/gxp-reader/src/main/java/cytoscape/gxp/GXPGraphReader.java
2011-11-17 00:00:34 UTC (rev 27505)
@@ -74,7 +74,9 @@
*/
public class GXPGraphReader extends AbstractGraphReader implements GraphReader
{
// node id from file -> node
- private Map<String,CyNode> nodeIdMap;
+ private Map<String,CyNode> geneIdMap;
+ private Map<String,CyNode> moduleIdMap;
+ private Map<String,CyNode> regulatorIdMap;
// module id from file -> list of nodes in module
private Map<String,List<CyNode>> moduleMap;
@@ -126,86 +128,99 @@
nodeIds = new ArrayList<Integer>();
edgeIds = new ArrayList<Integer>();
- nodeIdMap = new HashMap<String,CyNode>();
- // module -> list of nodes in module
- moduleMap = new HashMap<String,List<CyNode>>();
- // regulator -> list of nodes in regulator
- regulatorMap = new HashMap<String,List<CyNode>>();
+ geneIdMap = new HashMap<String,CyNode>();
+ moduleIdMap = new HashMap<String,CyNode>();
+ regulatorIdMap = new HashMap<String,CyNode>();
try {
// Actual work
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(instream);
-
- createNodes( getTable(doc,"Genes") );
- createModules( getTable(doc,"Genes_Modules") );
- createRegulators( getTable(doc,"Regulators_Regulators")
);
- createEdges( getTable(doc, "Modules_Regulator") );
+ createGeneNodes( getTable(doc,"Genes") );
+ createModuleNodes( getTable(doc,"Modules") );
+ createRegulatorNodes(
getTable(doc,"Regulators_Regulators") );
+
+ createGeneModuleEdges( getTable(doc,"Genes_Modules") );
+ createModuleRegulatorEdges( getTable(doc,
"Modules_Regulator") );
+
+
} catch (JDOMException je) {
throw new IOException("JDOM failure parsing file.",je);
}
}
- private void createEdges(Element moduleRegulators) {
+ private void createModuleRegulatorEdges(Element moduleRegulators) {
for ( Object o :
moduleRegulators.getChildren("Module_Regulator") ) {
Element moduleRegulator = (Element)o;
String moduleId =
moduleRegulator.getAttributeValue("Module_Id");
String regId =
moduleRegulator.getAttributeValue("Regulator_Id");
- if ( moduleId == null || regId == null ||
!moduleMap.containsKey(moduleId) || !regulatorMap.containsKey(regId) )
+ if ( moduleId == null ||
+ regId == null ||
+ !moduleIdMap.containsKey(moduleId) ||
+ !regulatorIdMap.containsKey(regId) )
continue;
- for ( CyNode na : regulatorMap.get(regId) ) {
- for (CyNode nb : moduleMap.get(moduleId) ) {
- CyEdge e =
Cytoscape.getCyEdge(na,nb,Semantics.INTERACTION,"regulates",true,true);
- edgeIds.add( e.getRootGraphIndex() );
- }
- }
+ CyNode na = moduleIdMap.get(moduleId);
+ CyNode nb = regulatorIdMap.get(regId);
+ CyEdge e =
Cytoscape.getCyEdge(na,nb,Semantics.INTERACTION,"regulates",true,true);
+ edgeIds.add( e.getRootGraphIndex() );
}
}
- private void createRegulators(Element regulators) {
- for ( Object o : regulators.getChildren("Regulator_Gene") ) {
- Element regulator = (Element) o;
- String regId =
regulator.getAttributeValue("Regulator_Id");
- if ( !regulatorMap.containsKey(regId) )
- regulatorMap.put(regId,new ArrayList<CyNode>());
- CyNode node = nodeIdMap.get(
regulator.getAttributeValue("Gene_Id") );
- if ( node == null ) {
- System.out.println("unable to createRegulator
for gene_id " + regulator.getAttributeValue("Gene_Id"));
+ private void createGeneModuleEdges(Element geneModules) {
+ for ( Object o : geneModules.getChildren("Gene_Module") ) {
+ Element geneModule = (Element)o;
+ String geneId = geneModule.getAttributeValue("Gene_Id");
+ String moduleId =
geneModule.getAttributeValue("Module_Id");
+ if ( moduleId == null ||
+ geneId == null ||
+ !moduleIdMap.containsKey(moduleId) ||
+ !geneIdMap.containsKey(geneId) )
continue;
- }
- regulatorMap.get(regId).add( node );
-
Cytoscape.getNodeAttributes().setAttribute(node.getIdentifier(),"GXP_Regulator_Id",regId);
- }
- }
- private void createModules(Element geneModules) {
- for ( Object o : geneModules.getChildren("Gene_Module") ) {
- Element geneModule = (Element) o;
- CyNode node = nodeIdMap.get(
geneModule.getAttributeValue("Gene_Id") );
- if ( node != null ) {
- String moduleId =
geneModule.getAttributeValue("Module_Id");
-
Cytoscape.getNodeAttributes().setAttribute(node.getIdentifier(),"GXP_Module_Id",moduleId);
- if ( !moduleMap.containsKey(moduleId) )
- moduleMap.put(moduleId,new
ArrayList<CyNode>());
- moduleMap.get(moduleId).add(node);
- }
+ CyNode na = moduleIdMap.get(moduleId);
+ CyNode nb = geneIdMap.get(geneId);
+ CyEdge e =
Cytoscape.getCyEdge(na,nb,Semantics.INTERACTION,"contains",true,true);
+ edgeIds.add( e.getRootGraphIndex() );
}
}
- private void createNodes(Element genes) {
+ private void createGeneNodes(Element genes) {
for ( Object o : genes.getChildren("Gene") ) {
Element gene = (Element) o;
CyNode node =
Cytoscape.getCyNode(gene.getAttributeValue("ORF"),true);
String id = gene.getAttributeValue("Id");
- System.out.println("creating node: " + id + " " +
node.getIdentifier());
- nodeIdMap.put(id,node);
+ geneIdMap.put(id,node);
nodeIds.add( node.getRootGraphIndex() );
}
}
+ private void createModuleNodes(Element modules) {
+ for ( Object o : modules.getChildren("Module") ) {
+ Element module = (Element) o;
+ String id = module.getAttributeValue("Id");
+ CyNode node =
Cytoscape.getCyNode(module.getAttributeValue("Name") + " - " + id,true);
+ moduleIdMap.put(id,node);
+ nodeIds.add( node.getRootGraphIndex() );
+ }
+ }
+
+ private void createRegulatorNodes(Element regulators) {
+ for ( Object o : regulators.getChildren("Regulator_Gene") ) {
+ Element regulator = (Element) o;
+ String id = regulator.getAttributeValue("Regulator_Id");
+ CyNode node = Cytoscape.getCyNode("regulator: " +
+
regulator.getAttributeValue("Regulator_ORF") + " - " +
+
regulator.getAttributeValue("Gene_Id") + " - " +
+
regulator.getAttributeValue("Regulator") + " - " +
+
regulator.getAttributeValue("Gene_ORF"), true);
+ regulatorIdMap.put(id,node);
+ nodeIds.add( node.getRootGraphIndex() );
+ }
+ }
+
private Element getTable(Document doc, String tableName) {
for ( Object e : doc.getRootElement().getChildren("Table") )
if (
tableName.equals(((Element)e).getAttributeValue("Type")) )
@@ -214,11 +229,6 @@
return null;
}
- /**
- * DOCUMENT ME!
- *
- * @param network DOCUMENT ME!
- */
public void doPostProcessing(CyNetwork network) {
/*
// Set SBML specific visual style
@@ -238,11 +248,6 @@
*/
}
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
public int[] getNodeIndicesArray() {
int[] nodes = new int[nodeIds.size()];
@@ -252,11 +257,6 @@
return nodes;
}
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
public int[] getEdgeIndicesArray() {
int[] edges = new int[edgeIds.size()];
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.