Author: kono
Date: 2012-05-31 10:28:45 -0700 (Thu, 31 May 2012)
New Revision: 29411

Modified:
   
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSI25VisualStyleBuilder.java
   
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSICQUICUniversalClient.java
   
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/mapper/Mitab25Mapper.java
Log:
Gene name problems are partially fixed.

Modified: 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSI25VisualStyleBuilder.java
===================================================================
--- 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSI25VisualStyleBuilder.java
 2012-05-31 16:57:05 UTC (rev 29410)
+++ 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSI25VisualStyleBuilder.java
 2012-05-31 17:28:45 UTC (rev 29411)
@@ -2,7 +2,6 @@
 
 import static cytoscape.visual.VisualPropertyType.NODE_LABEL;
 import giny.view.Justification;
-import giny.view.Label;
 import giny.view.Position;
 
 import java.awt.Color;
@@ -10,15 +9,16 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.cytoscape.webservice.psicquic.mapper.Mitab25Mapper;
+import org.omg.CORBA.PRIVATE_MEMBER;
+
 import cytoscape.visual.EdgeAppearanceCalculator;
 import cytoscape.visual.GlobalAppearanceCalculator;
-import cytoscape.visual.LabelPosition;
 import cytoscape.visual.LineStyle;
 import cytoscape.visual.NodeAppearanceCalculator;
 import cytoscape.visual.NodeShape;
 import cytoscape.visual.VisualPropertyType;
 import cytoscape.visual.VisualStyle;
-import cytoscape.visual.calculators.AbstractCalculator;
 import cytoscape.visual.calculators.BasicCalculator;
 import cytoscape.visual.calculators.Calculator;
 import cytoscape.visual.mappings.DiscreteMapping;
@@ -35,9 +35,14 @@
        public static final String ATTR_PREFIX = "PSI-MI-25.";
 
        // Top level interaction types
-       private static final String[] ITR_TYPE_ROOT_TERMS = { "MI:0208", 
"MI:0403",
-                       "MI:0914" };
+       private static final String[] ITR_TYPE_ROOT_TERMS = { "MI:0208", 
"MI:0403", "MI:0914" };
 
+       // Presets
+       private static final Color OBJECT_COLOR = new Color(0, 128, 128);
+       
+       
+       
+       
        private static final Map<String, String> type = new HashMap<String, 
String>();
 
        private static VisualStyle defStyle;
@@ -58,140 +63,110 @@
 
                NodeAppearanceCalculator nac = 
defStyle.getNodeAppearanceCalculator();
                EdgeAppearanceCalculator eac = 
defStyle.getEdgeAppearanceCalculator();
-               GlobalAppearanceCalculator gac = defStyle
-                               .getGlobalAppearanceCalculator();
+               GlobalAppearanceCalculator gac = 
defStyle.getGlobalAppearanceCalculator();
 
                // Default values
-               final int edgeOp = 160;
-               final Color nodeColor = new Color(0, 128, 128);
+               final int edgeOp = 110;
+               final Color nodeColor = OBJECT_COLOR;
                final Color nodeLineColor = new Color(40, 40, 40);
                final Color nodeLabelColor = new Color(30, 30, 30);
 
                final Color nodeCompoundColor = new Color(100, 100, 100);
                final Color nodeNestedColor = Color.white;
-               
-               // final Color edgeColor = new Color(112,128,144);
-               final Color edgeColor = Color.black;
-               final Font nodeLabelFont = new Font("SansSerif.BOLD", 16, 
Font.BOLD);
+
+               final Color edgeColor = OBJECT_COLOR;
+               final Font nodeLabelFont = new Font("Helvetica", Font.PLAIN, 
14);
                // final Color nodeLabelColor = new Color(105,105,105);
 
                gac.setDefaultBackgroundColor(Color.white);
 
-               final PassThroughMapping m = new PassThroughMapping("",
-                               AbstractCalculator.ID);
+               final PassThroughMapping m = new 
PassThroughMapping(String.class, Mitab25Mapper.PREDICTED_GENE_NAME);
 
-               final Calculator calc = new BasicCalculator(DEF_VS_NAME + "-"
-                               + "NodeLabelMapping", m, NODE_LABEL);
+               final Calculator calc = new BasicCalculator(DEF_VS_NAME + "-" + 
"NodeLabelMapping", m, NODE_LABEL);
                // PassThroughMapping me = new PassThroughMapping("", 
ATTR_PREFIX +
                // "interaction type");
                //
                // EdgeCalculator calce = new EdgeCalculator(DEF_VS_NAME + "-"
                // + "EdgeLabelMapping", me, null, EDGE_LABEL);
                nac.setCalculator(calc);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FILL_COLOR,
-                               nodeColor);
-               nac.getDefaultAppearance().set(VisualPropertyType.NODE_SHAPE,
-                               NodeShape.RECT);
-               nac.getDefaultAppearance().set(VisualPropertyType.NODE_OPACITY, 
150);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_BORDER_OPACITY,
-                               220);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LINE_WIDTH, 3);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_BORDER_COLOR,
-                               nodeLineColor);
-               nac.getDefaultAppearance().set(VisualPropertyType.NODE_WIDTH, 
45);
-               nac.getDefaultAppearance().set(VisualPropertyType.NODE_HEIGHT, 
25);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LABEL_COLOR,
-                               nodeLabelColor);
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FONT_FACE,
-                               nodeLabelFont);
-               
-               nac.getDefaultAppearance().set(
-                               VisualPropertyType.NODE_LABEL_POSITION,
-                               new LabelPosition(Label.SOUTH, Label.NORTHWEST,
-                                               Label.JUSTIFY_CENTER, -7, 1.0));
-               
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FILL_COLOR, nodeColor);
+               nac.getDefaultAppearance().set(VisualPropertyType.NODE_SHAPE, 
NodeShape.RECT);
+               nac.getDefaultAppearance().set(VisualPropertyType.NODE_OPACITY, 
120);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_BORDER_OPACITY, 200);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LINE_WIDTH, 2);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_BORDER_COLOR, 
nodeLineColor);
+               nac.getDefaultAppearance().set(VisualPropertyType.NODE_WIDTH, 
25);
+               nac.getDefaultAppearance().set(VisualPropertyType.NODE_HEIGHT, 
15);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LABEL_COLOR, 
nodeLabelColor);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FONT_FACE, 
nodeLabelFont);
+
                // TODO: this is for 2.8.0
-//             nac.getDefaultAppearance().set(
-//                             VisualPropertyType.NODE_LABEL_POSITION,
-//                             new ObjectPositionImpl(Position.SOUTH, 
Position.NORTH_WEST,
-//                                             Justification.JUSTIFY_CENTER, 
-7, 1.0));
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_LABEL_POSITION,
+                               new ObjectPositionImpl(Position.SOUTH, 
Position.NORTH_WEST, Justification.JUSTIFY_CENTER, -7, 1.0));
 
-               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FONT_SIZE, 10);
+               
nac.getDefaultAppearance().set(VisualPropertyType.NODE_FONT_SIZE, 14);
                nac.setNodeSizeLocked(false);
-               
-               DiscreteMapping nodeColorMapping = new 
DiscreteMapping(nodeColor,
-                               ATTR_PREFIX + "interactor type", 
ObjectMapping.NODE_MAPPING);
+
+               DiscreteMapping nodeColorMapping = new 
DiscreteMapping(nodeColor, ATTR_PREFIX + "interactor type",
+                               ObjectMapping.NODE_MAPPING);
                nodeColorMapping.putMapValue("compound", nodeCompoundColor);
                nodeColorMapping.putMapValue("nested", nodeNestedColor);
-               final Calculator nodeColorCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "NodeColorMapping", nodeColorMapping,
+               final Calculator nodeColorCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "NodeColorMapping", nodeColorMapping,
                                VisualPropertyType.NODE_FILL_COLOR);
                nac.setCalculator(nodeColorCalc);
-               
-               DiscreteMapping nodeShapeMapping = new 
DiscreteMapping(NodeShape.RECT,
-                               ATTR_PREFIX + "interactor type", 
ObjectMapping.NODE_MAPPING);
+
+               DiscreteMapping nodeShapeMapping = new 
DiscreteMapping(NodeShape.RECT, ATTR_PREFIX + "interactor type",
+                               ObjectMapping.NODE_MAPPING);
                nodeShapeMapping.putMapValue("compound", NodeShape.ELLIPSE);
                nodeShapeMapping.putMapValue("nested", NodeShape.ROUND_RECT);
-               final Calculator nodeShapeCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "NodeShapeMapping", nodeShapeMapping,
+               final Calculator nodeShapeCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "NodeShapeMapping", nodeShapeMapping,
                                VisualPropertyType.NODE_SHAPE);
                nac.setCalculator(nodeShapeCalc);
-               
-               DiscreteMapping nodeWidthMapping = new DiscreteMapping(30,
-                               ATTR_PREFIX + "interactor type", 
ObjectMapping.NODE_MAPPING);
+
+               DiscreteMapping nodeWidthMapping = new DiscreteMapping(30, 
ATTR_PREFIX + "interactor type",
+                               ObjectMapping.NODE_MAPPING);
                nodeWidthMapping.putMapValue("compound", 15);
                nodeWidthMapping.putMapValue("nested", 100);
-               final Calculator nodeWidthCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "NodeWidthMapping", nodeWidthMapping,
+               final Calculator nodeWidthCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "NodeWidthMapping", nodeWidthMapping,
                                VisualPropertyType.NODE_WIDTH);
                nac.setCalculator(nodeWidthCalc);
-               DiscreteMapping nodeHeightMapping = new DiscreteMapping(30,
-                               ATTR_PREFIX + "interactor type", 
ObjectMapping.NODE_MAPPING);
+               DiscreteMapping nodeHeightMapping = new DiscreteMapping(30, 
ATTR_PREFIX + "interactor type",
+                               ObjectMapping.NODE_MAPPING);
                nodeHeightMapping.putMapValue("compound", 15);
                nodeHeightMapping.putMapValue("nested", 100);
-               final Calculator nodeHeightCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "NodeHeightMapping", nodeHeightMapping,
-                               VisualPropertyType.NODE_HEIGHT);
+               final Calculator nodeHeightCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "NodeHeightMapping",
+                               nodeHeightMapping, 
VisualPropertyType.NODE_HEIGHT);
                nac.setCalculator(nodeHeightCalc);
-               
-               
 
                // eac.setCalculator(calce);
-               eac.getDefaultAppearance()
-                               .set(VisualPropertyType.EDGE_COLOR, edgeColor);
-               
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_LABEL_COLOR,
-                               Color.red);
+               eac.getDefaultAppearance().set(VisualPropertyType.EDGE_COLOR, 
edgeColor);
+               
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_LABEL_COLOR, Color.red);
                
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_FONT_SIZE, 5);
 
                eac.getDefaultAppearance().set(VisualPropertyType.EDGE_OPACITY, 
edgeOp);
-               eac.getDefaultAppearance().set(
-                               VisualPropertyType.EDGE_SRCARROW_OPACITY, 
edgeOp);
-               eac.getDefaultAppearance().set(
-                               VisualPropertyType.EDGE_TGTARROW_OPACITY, 
edgeOp);
+               
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_SRCARROW_OPACITY, 
edgeOp);
+               
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_TGTARROW_OPACITY, 
edgeOp);
                // 
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_LABEL_OPACITY,
                // 80);
                
eac.getDefaultAppearance().set(VisualPropertyType.EDGE_LINE_WIDTH, 1);
                eac.getDefaultAppearance().set(VisualPropertyType.EDGE_LABEL, 
"");
 
                // Interaction Type mapping
-               DiscreteMapping lineStyle = new DiscreteMapping(LineStyle.SOLID,
-                               ATTR_PREFIX + "interaction type", 
ObjectMapping.EDGE_MAPPING);
-               DiscreteMapping lineWidth = new DiscreteMapping(1.0, ATTR_PREFIX
-                               + "interaction type", 
ObjectMapping.EDGE_MAPPING);
-               DiscreteMapping edgeColorMap = new DiscreteMapping(Color.black,
-                               ATTR_PREFIX + "interaction type", 
ObjectMapping.EDGE_MAPPING);
+               DiscreteMapping lineStyle = new 
DiscreteMapping(LineStyle.SOLID, ATTR_PREFIX + "interaction type",
+                               ObjectMapping.EDGE_MAPPING);
+               DiscreteMapping lineWidth = new DiscreteMapping(1.0, 
ATTR_PREFIX + "interaction type",
+                               ObjectMapping.EDGE_MAPPING);
+               DiscreteMapping edgeColorMap = new DiscreteMapping(Color.black, 
ATTR_PREFIX + "interaction type",
+                               ObjectMapping.EDGE_MAPPING);
                generateInteractionTypeMap(lineStyle, lineWidth, edgeColorMap);
 
-               final Calculator lineStyleCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "EdgeLineStyleMapping", lineStyle,
+               final Calculator lineStyleCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "EdgeLineStyleMapping", lineStyle,
                                VisualPropertyType.EDGE_LINE_STYLE);
 
-               final Calculator lineWidthCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "EdgeLineWidthMapping", lineWidth,
+               final Calculator lineWidthCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "EdgeLineWidthMapping", lineWidth,
                                VisualPropertyType.EDGE_LINE_WIDTH);
 
-               final Calculator edgeColorCalc = new 
BasicCalculator(DEF_VS_NAME + "-"
-                               + "EdgeColorMapping", edgeColorMap,
+               final Calculator edgeColorCalc = new 
BasicCalculator(DEF_VS_NAME + "-" + "EdgeColorMapping", edgeColorMap,
                                VisualPropertyType.EDGE_COLOR);
 
                //
@@ -233,8 +208,8 @@
                return defStyle;
        }
 
-       private static void generateInteractionTypeMap(DiscreteMapping 
lineStyle,
-                       DiscreteMapping lineWidth, DiscreteMapping edgeColor) {
+       private static void generateInteractionTypeMap(DiscreteMapping 
lineStyle, DiscreteMapping lineWidth,
+                       DiscreteMapping edgeColor) {
                // TODO Auto-generated method stub
                // for (String childTerm : type.keySet()) {
                // if ((type.get(childTerm)).equals("MI:0208")) {

Modified: 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSICQUICUniversalClient.java
===================================================================
--- 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSICQUICUniversalClient.java
 2012-05-31 16:57:05 UTC (rev 29410)
+++ 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/PSICQUICUniversalClient.java
 2012-05-31 17:28:45 UTC (rev 29411)
@@ -41,18 +41,14 @@
 import cytoscape.visual.VisualMappingManager;
 import cytoscape.visual.VisualStyle;
 
-public class PSICQUICUniversalClient extends
-               WebServiceClientImplWithGUI<PSICQUICServiceRegistory, JPanel> 
implements
+public class PSICQUICUniversalClient extends 
WebServiceClientImplWithGUI<PSICQUICServiceRegistory, JPanel> implements
                NetworkImportWebServiceClient {
 
        private static final long serialVersionUID = 4485772700287524894L;
 
-       private static final String[] IMPORT_MODE = { "Detection Method",
-                       "Interaction ID" };
-       private static final String[] IMPORT_DATA_FORMAT = { "MITAB25",
-                       "PSI-MI XML 2.5" };
-       private static final String[] SEARCH_MODE = { "Interactor ID(s)", 
"Query",
-                       "Interaction ID(s)", "Pipeline" };
+       private static final String[] IMPORT_MODE = { "Detection Method", 
"Interaction ID" };
+       private static final String[] IMPORT_DATA_FORMAT = { "MITAB25", "PSI-MI 
XML 2.5" };
+       private static final String[] SEARCH_MODE = { "Interactor ID(s)", 
"Query", "Interaction ID(s)", "Pipeline" };
 
        private enum Mode {
                SEARCH, IMPORT;
@@ -72,15 +68,12 @@
                props = new ModulePropertiesImpl(clientID, "wsc");
 
                // General setting
-               props.add(new Tunable("block_size", "Block Size", 
Tunable.INTEGER,
-                               Integer.valueOf(100)));
-               props.add(new Tunable("timeout", "Timeout (sec.)", 
Tunable.INTEGER,
-                               new Integer(6000)));
+               props.add(new Tunable("block_size", "Block Size", 
Tunable.INTEGER, Integer.valueOf(100)));
+               props.add(new Tunable("timeout", "Timeout (sec.)", 
Tunable.INTEGER, new Integer(6000)));
 
-               final String[] modeArray = { QueryMode.GET_BY_INTERACTOR.name(),
-                               QueryMode.GET_BY_QUERY.toString() };
-               props.add(new Tunable("query_mode", "Query Mode", Tunable.LIST,
-                               Integer.valueOf(0), (Object) modeArray, 
(Object) null, 0));
+               final String[] modeArray = { 
QueryMode.GET_BY_INTERACTOR.name(), QueryMode.GET_BY_QUERY.toString() };
+               props.add(new Tunable("query_mode", "Query Mode", Tunable.LIST, 
Integer.valueOf(0), (Object) modeArray,
+                               (Object) null, 0));
 
        }
 
@@ -103,26 +96,25 @@
        private Map<URI, QueryResponse> sResult;
        private List<DbRef> queryList;
        private String query;
-       
+
        private final ServiceState states;
 
        static {
                try {
                        client = new PSICQUICUniversalClient();
                } catch (Exception e) {
-                       CyLogger.getLogger().error("Could not initialize 
PSICQUIC Client.",
-                                       e);
+                       CyLogger.getLogger().error("Could not initialize 
PSICQUIC Client.", e);
                }
        }
 
        private PSICQUICUniversalClient() throws Exception {
-               super(CLIENT_ID, DISPLAY_NAME, new ClientType[] { 
ClientType.NETWORK },
-                               null, new PSICQUICServiceRegistory(), null);
+               super(CLIENT_ID, DISPLAY_NAME, new ClientType[] { 
ClientType.NETWORK }, null, new PSICQUICServiceRegistory(),
+                               null);
 
                setDescription();
                // Set properties for this client.
                setProperty();
-               
+
                this.states = new ServiceState(((PSICQUICServiceRegistory) 
clientStub));
 
        }
@@ -136,15 +128,14 @@
        }
 
        @Override
-       public void executeService(CyWebServiceEvent e)
-                       throws CyWebServiceException {
+       public void executeService(CyWebServiceEvent e) throws 
CyWebServiceException {
 
                if (e.getSource().equals(CLIENT_ID)) {
                        if 
(e.getEventType().equals(WSEventType.IMPORT_NETWORK)) {
                                SearchResultDialog searchResultDialog = new 
SearchResultDialog(Cytoscape.getDesktop(), states);
                                searchResultDialog.setVisible(true);
                                Set<String> selected = 
searchResultDialog.getSelected();
-                               
+
                                importNetwork(selected, null);
                        } else if 
(e.getEventType().equals(WSEventType.EXPAND_NETWORK)) {
                                SearchResultDialog searchResultDialog = new 
SearchResultDialog(Cytoscape.getDesktop(), states);
@@ -158,8 +149,7 @@
 
        }
 
-       private void search(String queryString, CyWebServiceEvent<?> e)
-                       throws CyWebServiceException {
+       private void search(String queryString, CyWebServiceEvent<?> e) throws 
CyWebServiceException {
 
                final PSICQUICServiceRegistory searchClient = 
((PSICQUICServiceRegistory) clientStub);
                sResult = null;
@@ -189,8 +179,7 @@
 
                } catch (Exception ex) {
                        ex.printStackTrace();
-                       throw new CyWebServiceException(
-                                       
CyWebServiceException.WSErrorCode.REMOTE_EXEC_FAILED);
+                       throw new 
CyWebServiceException(CyWebServiceException.WSErrorCode.REMOTE_EXEC_FAILED);
                }
 
                if (sResult == null)
@@ -206,27 +195,24 @@
                        
states.setRecentResultCount(states.getName(key.toString()), count);
                        total = total + 
sResult.get(key).getResultInfo().getTotalResults();
                }
-                       
+
                Cytoscape.firePropertyChange(SEARCH_FINISHED.toString(), 
this.clientID,
-                               new DatabaseSearchResult<Map<URI, 
QueryResponse>>(total,
-                                               sResult, nextMove));
+                               new DatabaseSearchResult<Map<URI, 
QueryResponse>>(total, sResult, nextMove));
 
        }
 
-       private void importNetwork(Set<String> selected, CyNetwork e)
-                       throws CyWebServiceException {
-               
-               if(selected == null || selected.size() == 0)
+       private void importNetwork(Set<String> selected, CyNetwork e) throws 
CyWebServiceException {
+
+               if (selected == null || selected.size() == 0)
                        return;
 
                PSICQUICServiceRegistory importClient = 
((PSICQUICServiceRegistory) clientStub);
-               for(URI uri:importClient.getServiceNames().keySet()) {
+               for (URI uri : importClient.getServiceNames().keySet()) {
                        String name = importClient.getServiceNames().get(uri);
-                       if(selected.contains(name) == false)
+                       if (selected.contains(name) == false)
                                importClient.skip.add(uri);
                }
-               
-               
+
                Map<URI, List<QueryResponse>> importResult = null;
                final RequestInfo info = new RequestInfo();
 
@@ -235,15 +221,13 @@
                try {
                        if (queryList != null) {
                                // Use OR as operand
-                               importResult = 
importClient.getByInteractorList(queryList,
-                                               info, "OR");
+                               importResult = 
importClient.getByInteractorList(queryList, info, "OR");
                        } else {
                                importResult = importClient.getByQuery(query, 
info);
                        }
                } catch (Exception ex) {
                        ex.printStackTrace();
-                       throw new CyWebServiceException(
-                                       
CyWebServiceException.WSErrorCode.REMOTE_EXEC_FAILED);
+                       throw new 
CyWebServiceException(CyWebServiceException.WSErrorCode.REMOTE_EXEC_FAILED);
                }
 
                if (importResult == null)
@@ -259,14 +243,13 @@
                        if (importClient.isEmpty(name))
                                continue;
                        else {
-                       netName = nameMap.get(name);
-                       defNetworkNames.add(netName);
-                       newNameMap.put(name, netName);
+                               netName = nameMap.get(name);
+                               defNetworkNames.add(netName);
+                               newNameMap.put(name, netName);
                        }
                }
 
-               final ResultDialog report = new 
ResultDialog(Cytoscape.getDesktop(),
-                               true, newNameMap);
+               final ResultDialog report = new 
ResultDialog(Cytoscape.getDesktop(), true, newNameMap);
                report.setLocationRelativeTo(Cytoscape.getDesktop());
                report.setVisible(true);
                report.setModal(true);
@@ -275,17 +258,16 @@
                List<CyNetwork> target = new ArrayList<CyNetwork>();
 
                // Create parent empty network
-               String parentName = "PSICQUIC Query Results";
-               String postfix = ": " + time.toString();
-               if (query != null)
-                       postfix = postfix+" (" + query + ")";
-                       
+               String parentName = "PSICQUIC Search Results";
+               final String timeCreated = time.toString();
+               String postfix = ": " + timeCreated;
                parentName = parentName + postfix;
-               
+
                newNameMap = report.getNewNames();
 
-               final CyNetwork parentNetwork = 
Cytoscape.createNetwork(parentName,
-                               false);
+               final CyNetwork parentNetwork = 
Cytoscape.createNetwork(parentName, false);
+               
Cytoscape.getNetworkAttributes().setAttribute(parentNetwork.getIdentifier(), 
"query string", query);
+               
Cytoscape.getNetworkAttributes().setAttribute(parentNetwork.getIdentifier(), 
"date created", timeCreated);
 
                for (URI key : importResult.keySet()) {
 
@@ -294,8 +276,7 @@
                        for (QueryResponse qr : res) {
                                builder.append(qr.getResultSet().getMitab());
                        }
-                       final CyNetwork net = mapper.map(builder.toString(), 
newNameMap
-                                       .get(key), parentNetwork);
+                       final CyNetwork net = mapper.map(builder.toString(), 
newNameMap.get(key), parentNetwork);
                        if (net != null)
                                target.add(net);
                }
@@ -304,22 +285,21 @@
                if 
(vmm.getCalculatorCatalog().getVisualStyle(defaultVS.getName()) == null)
                        vmm.getCalculatorCatalog().addVisualStyle(defaultVS);
 
-               
                // Use nested network feature
                final CyNode centerNode = Cytoscape.getCyNode(parentName, true);
                parentNetwork.addNode(centerNode);
-               
+
                for (CyNetwork net : target) {
                        vmm.setVisualStyle(defaultVS);
-                       final CyNetworkView targetView = 
Cytoscape.getNetworkView(net
-                                       .getIdentifier());
+                       final CyNetworkView targetView = 
Cytoscape.getNetworkView(net.getIdentifier());
                        targetView.setVisualStyle(defaultVS.getName());
                        targetView.redrawGraph(true, false);
                        CyNode nestedNode = Cytoscape.getCyNode(net.getTitle(), 
true);
                        nestedNode.setNestedNetwork(net);
-                       
-                       
Cytoscape.getNodeAttributes().setAttribute(nestedNode.getIdentifier(), 
PSI25VisualStyleBuilder.ATTR_PREFIX + "interactor type", "nested");
-                       
+
+                       
Cytoscape.getNodeAttributes().setAttribute(nestedNode.getIdentifier(),
+                                       PSI25VisualStyleBuilder.ATTR_PREFIX + 
"interactor type", "nested");
+
                        parentNetwork.addNode(nestedNode);
                        parentNetwork.addEdge(Cytoscape.getCyEdge(nestedNode, 
centerNode, "interaction", "query_result", true));
                }
@@ -339,19 +319,16 @@
        private void displayNetworkMerge() {
                Class<?> advancedNetworkMergeClass;
                try {
-                       advancedNetworkMergeClass = Class
-                                       
.forName("csplugins.network.merge.NetworkMergePlugin");
+                       advancedNetworkMergeClass = 
Class.forName("csplugins.network.merge.NetworkMergePlugin");
                } catch (ClassNotFoundException e1) {
-                       CyLogger.getLogger().warn(
-                                       "Could not find Advanced Network Merge 
Plugin!", e1);
+                       CyLogger.getLogger().warn("Could not find Advanced 
Network Merge Plugin!", e1);
                        e1.printStackTrace();
                        return;
                }
 
                Method actionPerformedMethod;
                try {
-                       actionPerformedMethod = advancedNetworkMergeClass
-                                       .getMethod("invokeAction");
+                       actionPerformedMethod = 
advancedNetworkMergeClass.getMethod("invokeAction");
                } catch (SecurityException e2) {
                        e2.printStackTrace();
                        return;
@@ -389,9 +366,9 @@
                }
                return interactorList;
        }
-       
+
        public void getLatestSearchResult() {
-               
+
        }
 
 }

Modified: 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/mapper/Mitab25Mapper.java
===================================================================
--- 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/mapper/Mitab25Mapper.java
    2012-05-31 16:57:05 UTC (rev 29410)
+++ 
csplugins/trunk/ucsd/kono/PSIQUICUniversalClient/src/org/cytoscape/webservice/psicquic/mapper/Mitab25Mapper.java
    2012-05-31 17:28:45 UTC (rev 29411)
@@ -22,6 +22,8 @@
 
        private static final CyLogger logger = CyLogger.getLogger();
 
+       public static final String PREDICTED_GENE_NAME = "predicted gene name";
+       
        // Separator for multiple entries.
        private static final String SEPARATOR = "\\|";
        private static final String TAB = "\t";
@@ -38,18 +40,19 @@
        final CyAttributes nodeAttr;
        final CyAttributes edgeAttr;
        final CyAttributes networkAttr;
-       
+
        private static final String INTERACTION = "interaction";
-       
+
        // Reg.Ex for parsing entry
        private final static Pattern miPttr = Pattern.compile("MI:\\d{4}");
        private final static Pattern miNamePttr = Pattern.compile("\\(.+\\)");
-       
+
        private final static Pattern lineSplitter = Pattern.compile(TAB);
        private final static Pattern entrySplitter = Pattern.compile(SEPARATOR);
        private final static Pattern dbSplitter = Pattern.compile(DB_ID);
        private final static Pattern descriptionSpliter = 
Pattern.compile("\\(");
-
+       private final static Pattern ncbiPattern = 
Pattern.compile("^[A-Za-z].+");
+       private final static Pattern uniprotPattern = 
Pattern.compile("^[a-zA-Z]\\d.+");
        // Attr Names
        private static final String DETECTION_METHOD = ATTR_PREFIX + 
"interaction detection method";
        private static final String INTERACTION_TYPE = ATTR_PREFIX + 
"interaction type";
@@ -62,6 +65,8 @@
        private static final String ENTREZ_GENE = "entrezgene/locuslink";
        private static final String ENTREZ_GENE_SYN = "entrez gene/locuslink";
 
+       private static final String ENTREZ_GENE_ATTR_NAME = ATTR_PREFIX + 
ENTREZ_GENE;
+       private static final String UNIPROT_ATTR_NAME = ATTR_PREFIX + 
"uniprotkb";
        private static final String CHEBI = "chebi";
 
        private static final String INTERACTOR_TYPE = ATTR_PREFIX + "interactor 
type";
@@ -127,68 +132,71 @@
        }
 
        private final void parseLine(final String line) throws Exception {
-                       final String[] entry = lineSplitter.split(line);
+               final String[] entry = lineSplitter.split(line);
 
-                       // Validate entry list.
-                       if (entry == null || entry.length < COLUMN_COUNT)
-                               return;
+               // Validate entry list.
+               if (entry == null || entry.length < COLUMN_COUNT)
+                       return;
 
-                       // Create nodes
-                       final String[] sourceID = entrySplitter.split(entry[0]);
-                       final String[] targetID = entrySplitter.split(entry[1]);
+               // Create nodes
+               final String[] sourceID = entrySplitter.split(entry[0]);
+               final String[] targetID = entrySplitter.split(entry[1]);
 
-                       String[] keyIDPparts = dbSplitter.split(sourceID[0]);
-                       final String firstSourceID = keyIDPparts[1];
-                       final String firstSourceDB = keyIDPparts[0];
-                       
-                       keyIDPparts = dbSplitter.split(targetID[0]);
-                       final String firstTargetID = keyIDPparts[1];
-                       final String firstTargetDB = keyIDPparts[0];
-                       
-                       final CyNode source = 
Cytoscape.getCyNode(firstSourceID, true);
-                       final CyNode target = 
Cytoscape.getCyNode(firstTargetID, true);
-                       nodeAttr.setAttribute(source.getIdentifier(), 
ATTR_PREFIX + "primaryKey." + firstSourceDB, firstSourceID);
-                       nodeAttr.setAttribute(target.getIdentifier(), 
ATTR_PREFIX + "primaryKey." + firstTargetDB, firstTargetID);
-                       nodes.add(source);
-                       nodes.add(target);
+               String[] keyIDPparts = dbSplitter.split(sourceID[0]);
+               final String firstSourceID = keyIDPparts[1];
+               final String firstSourceDB = keyIDPparts[0];
 
-                       // Set type if not protein
-                       if (source.getIdentifier().contains(CHEBI))
-                               nodeAttr.setAttribute(source.getIdentifier(), 
INTERACTOR_TYPE, COMPOUND);
-                       if (target.getIdentifier().contains(CHEBI))
-                               nodeAttr.setAttribute(target.getIdentifier(), 
INTERACTOR_TYPE, COMPOUND);
+               keyIDPparts = dbSplitter.split(targetID[0]);
+               final String firstTargetID = keyIDPparts[1];
+               final String firstTargetDB = keyIDPparts[0];
 
-                       // Aliases
-                       setAliases(nodeAttr, source.getIdentifier(), sourceID);
-                       setAliases(nodeAttr, target.getIdentifier(), targetID);
-                       setAliases(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[2]));
-                       setAliases(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[3]));
-                       setAliases(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[4]));
-                       setAliases(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[5]));
+               final CyNode source = Cytoscape.getCyNode(firstSourceID, true);
+               final CyNode target = Cytoscape.getCyNode(firstTargetID, true);
+               nodeAttr.setAttribute(source.getIdentifier(), ATTR_PREFIX + 
"primaryKey." + firstSourceDB, firstSourceID);
+               nodeAttr.setAttribute(target.getIdentifier(), ATTR_PREFIX + 
"primaryKey." + firstTargetDB, firstTargetID);
+               nodes.add(source);
+               nodes.add(target);
 
-                       // Tax ID (pick first one only)
-                       setTaxID(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[9])[0]);
-                       setTaxID(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[10])[0]);
+               // Set type if not protein
+               if (source.getIdentifier().contains(CHEBI))
+                       nodeAttr.setAttribute(source.getIdentifier(), 
INTERACTOR_TYPE, COMPOUND);
+               if (target.getIdentifier().contains(CHEBI))
+                       nodeAttr.setAttribute(target.getIdentifier(), 
INTERACTOR_TYPE, COMPOUND);
 
-                       final String[] sourceDB = 
entrySplitter.split(entry[12]);
-                       final String[] interactionID = 
entrySplitter.split(entry[13]);
+               // Aliases
+               setAliases(nodeAttr, source.getIdentifier(), sourceID);
+               setAliases(nodeAttr, target.getIdentifier(), targetID);
+               setAliases(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[2]));
+               setAliases(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[3]));
+               setAliases(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[4]));
+               setAliases(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[5]));
 
-                       final String[] edgeScores = 
entrySplitter.split(entry[14]);
+               // Tax ID (pick first one only)
+               setTaxID(nodeAttr, source.getIdentifier(), 
entrySplitter.split(entry[9])[0]);
+               setTaxID(nodeAttr, target.getIdentifier(), 
entrySplitter.split(entry[10])[0]);
 
-                       final String[] detectionMethods = 
entrySplitter.split(entry[6]);
-                       final String[] interactionType = 
entrySplitter.split(entry[11]);
-                       final CyEdge e = Cytoscape.getCyEdge(source, target, 
INTERACTION, interactionID[0], true);
-                       edges.add(e);
+               final String[] sourceDB = entrySplitter.split(entry[12]);
+               final String[] interactionID = entrySplitter.split(entry[13]);
 
-                       setEdgeListAttribute(edgeAttr, e.getIdentifier(), 
interactionType, INTERACTION_TYPE);
-                       setEdgeListAttribute(edgeAttr, e.getIdentifier(), 
detectionMethods, DETECTION_METHOD);
-                       setEdgeListAttribute(edgeAttr, e.getIdentifier(), 
sourceDB, SOURCE_DB);
+               final String[] edgeScores = entrySplitter.split(entry[14]);
 
-                       // Map scores
-                       setEdgeScoreListAttribute(edgeAttr, e.getIdentifier(), 
edgeScores, EDGE_SCORE);
+               final String[] detectionMethods = entrySplitter.split(entry[6]);
+               final String[] interactionType = entrySplitter.split(entry[11]);
+               final CyEdge e = Cytoscape.getCyEdge(source, target, 
INTERACTION, interactionID[0], true);
+               edges.add(e);
 
-                       edgeAttr.setAttribute(e.getIdentifier(), 
INTERACTION_ID, interactionID[0]);
-                       setPublication(edgeAttr, e.getIdentifier(), 
entrySplitter.split(entry[8]), entrySplitter.split(entry[7]));
+               setEdgeListAttribute(edgeAttr, e.getIdentifier(), 
interactionType, INTERACTION_TYPE);
+               setEdgeListAttribute(edgeAttr, e.getIdentifier(), 
detectionMethods, DETECTION_METHOD);
+               setEdgeListAttribute(edgeAttr, e.getIdentifier(), sourceDB, 
SOURCE_DB);
+
+               // Map scores
+               setEdgeScoreListAttribute(edgeAttr, e.getIdentifier(), 
edgeScores, EDGE_SCORE);
+
+               edgeAttr.setAttribute(e.getIdentifier(), INTERACTION_ID, 
interactionID[0]);
+               setPublication(edgeAttr, e.getIdentifier(), 
entrySplitter.split(entry[8]), entrySplitter.split(entry[7]));
+
+               guessHumanReadableName(source);
+               guessHumanReadableName(target);
        }
 
        private void setTaxID(CyAttributes attr, String id, String value) {
@@ -258,10 +266,9 @@
                }
        }
 
-
-       
        /**
         * Create edge score attribute as Double
+        * 
         * @param attr
         * @param id
         * @param scores
@@ -329,4 +336,43 @@
                return miName;
        }
 
+       private void guessHumanReadableName(CyNode node) {
+               final String id = node.getIdentifier();
+               // try NCBI
+               final List<String> ncbiList = nodeAttr.getListAttribute(id, 
ENTREZ_GENE_ATTR_NAME);
+               String candidateString = null;
+               if (ncbiList != null) {
+                       for (final String geneID : ncbiList) {
+                               if (ncbiPattern.matcher(geneID).find()) {
+                                       candidateString = geneID;
+                                       break;
+                               }
+                       }
+                       if (candidateString != null) {
+                               nodeAttr.setAttribute(id, PREDICTED_GENE_NAME, 
candidateString);
+                               return;
+                       }
+               }
+               
+               // Try Uniprot
+               final List<String> uniprotList = nodeAttr.getListAttribute(id, 
UNIPROT_ATTR_NAME);
+               if (uniprotList != null) {
+                       for (final String geneID : uniprotList) {
+                               if (uniprotPattern.matcher(geneID).find() == 
false) {
+                                       candidateString = geneID;
+                                       break;
+                               }
+                       }
+                       if (candidateString != null) {
+                               nodeAttr.setAttribute(id, PREDICTED_GENE_NAME, 
candidateString);
+                               return;
+                       }
+               }
+
+               // TODO: try String
+               
+               // Give up.  Use primary key
+               nodeAttr.setAttribute(id, PREDICTED_GENE_NAME, 
node.getIdentifier());
+       }
+
 }

-- 
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.

Reply via email to