Author: scooter
Date: 2009-03-11 17:28:08 -0700 (Wed, 11 Mar 2009)
New Revision: 16205

Modified:
   csplugins/trunk/ucsf/scooter/clusterMaker/resources/plugin.props
   
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KCluster.java
   
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KMeansCluster.java
   
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/DendroView.java
   
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/KnnDendroView.java
   csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/ui/KnnView.java
Log:
Updates for k-means -- still have a problem with export graphics.


Modified: csplugins/trunk/ucsf/scooter/clusterMaker/resources/plugin.props
===================================================================
--- csplugins/trunk/ucsf/scooter/clusterMaker/resources/plugin.props    
2009-03-11 15:46:40 UTC (rev 16204)
+++ csplugins/trunk/ucsf/scooter/clusterMaker/resources/plugin.props    
2009-03-12 00:28:08 UTC (rev 16205)
@@ -13,7 +13,7 @@
 pluginDescription=Cluster Nodes and/or Edges
 
 # Plugin version number, this must be two numbers separated by a decimlal.  
Ex. 0.2, 14.03
-pluginVersion=1.5
+pluginVersion=1.6
 
 # Compatible Cytoscape version
 cytoscapeVersion=2.6.2

Modified: 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KCluster.java
===================================================================
--- 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KCluster.java
  2009-03-11 15:46:40 UTC (rev 16204)
+++ 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KCluster.java
  2009-03-12 00:28:08 UTC (rev 16205)
@@ -65,8 +65,9 @@
        static boolean debug = false;
 
        public static String cluster(String weightAttributes[], DistanceMetric 
metric, 
-                             int nClusters, int nIterations, boolean 
createGroups, 
-                             boolean ignoreMissing, boolean selectedOnly, 
boolean transpose, 
+                             int nClusters, int nIterations, boolean transpose,
+                             boolean createGroups, 
+                             boolean ignoreMissing, boolean selectedOnly, 
                              CyLogger log, boolean dbg) {
 
                logger = log;
@@ -77,6 +78,7 @@
 
                // Create the matrix
                Matrix matrix = new Matrix(weightAttributes, transpose, 
ignoreMissing, selectedOnly);
+               logger.info("cluster matrix has "+matrix.nRows()+" rows");
 
                // Create a weight vector of all ones (we don't use individual 
weighting, yet)
                matrix.setUniformWeights();

Modified: 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KMeansCluster.java
===================================================================
--- 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KMeansCluster.java
     2009-03-11 15:46:40 UTC (rev 16204)
+++ 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/algorithms/kmeans/KMeansCluster.java
     2009-03-12 00:28:08 UTC (rev 16205)
@@ -95,6 +95,20 @@
                attributeArray = getAllAttributes();
                attributeTunable.setLowerBound((Object)attributeArray);
 
+               // We also want to update the number our "guestimate" for k
+               double nodeCount = 
(double)Cytoscape.getCurrentNetwork().getNodeCount();
+               Tunable kTunable = clusterProperties.get("knumber");
+               if (selectedOnly) {
+                       int selNodes = 
Cytoscape.getCurrentNetwork().getSelectedNodes().size();
+                       if (selNodes > 0) nodeCount = (double)selNodes;
+               }
+
+               double kinit = Math.sqrt(nodeCount/2);
+               if (kinit > 1)
+                       kTunable.setValue((int)kinit);
+               else
+                       kTunable.setValue(1);
+
                return clusterProperties.getTunablePanel();
        }
 
@@ -231,11 +245,16 @@
                KCluster.resetAttributes();
 
                // Cluster the attributes, if requested
-               if (clusterAttributes && attributeArray.length > 1)
+               if (clusterAttributes && attributeArray.length > 1) {
+                       if (monitor != null)
+                               monitor.setStatus("Clustering attributes");
                        KCluster.cluster(attributeArray, distanceMetric, 
kNumber, rNumber, 
                                         true, createGroups, ignoreMissing, 
selectedOnly, logger, debug);
+               }
 
                // Cluster the nodes
+               if (monitor != null)
+                       monitor.setStatus("Clustering nodes");
                KCluster.cluster(attributeArray, distanceMetric, kNumber, 
rNumber, 
                                       false, createGroups, ignoreMissing, 
selectedOnly, logger, debug);
 

Modified: 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/DendroView.java
===================================================================
--- 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/DendroView.java
      2009-03-11 15:46:40 UTC (rev 16204)
+++ 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/DendroView.java
      2009-03-12 00:28:08 UTC (rev 16205)
@@ -968,8 +968,8 @@
        protected MessagePanel statuspanel;
        protected ArrayDrawer arrayDrawer;
        protected ConfigNode root;
-       private ColorPresets colorPresets;
-       private ColorPresetEditor  cpresetEditor;
+       protected ColorPresets colorPresets;
+       protected ColorPresetEditor  cpresetEditor;
 
        /** Getter for root */
        public ConfigNode getConfigNode() {

Modified: 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/KnnDendroView.java
===================================================================
--- 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/KnnDendroView.java
   2009-03-11 15:46:40 UTC (rev 16204)
+++ 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/treeview/dendroview/KnnDendroView.java
   2009-03-12 00:28:08 UTC (rev 16205)
@@ -48,8 +48,6 @@
  * @version $Revision: 1.2 $ $Date: 2006/09/21 17:18:55 $
  */
 public class KnnDendroView extends DendroView implements ConfigNodePersistent, 
MainPanel, Observer  {
-       private ColorPresets colorPresets;
-       private ColorPresetEditor  cpresetEditor;
 
        /**
         *  Constructor for the KnnDendroView object
@@ -58,7 +56,7 @@
         * @param  vFrame  parent ViewFrame of KnnDendroView
         */
        public KnnDendroView(DataModel tVModel, ViewFrame vFrame) {
-               super(tVModel, vFrame);
+               super(tVModel, null, vFrame, "KnnDendrogram");
        }
        public KnnDendroView(DataModel tVModel, ConfigNode root, ViewFrame 
vFrame) {
                super(tVModel, root, vFrame, "KnnDendrogram");

Modified: 
csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/ui/KnnView.java
===================================================================
--- csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/ui/KnnView.java  
2009-03-11 15:46:40 UTC (rev 16204)
+++ csplugins/trunk/ucsf/scooter/clusterMaker/src/clusterMaker/ui/KnnView.java  
2009-03-12 00:28:08 UTC (rev 16205)
@@ -36,10 +36,14 @@
 import java.awt.event.ActionListener;
 import java.awt.event.ActionEvent;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Observer;
 import java.util.Observable;
+import java.util.Set;
 
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
@@ -59,6 +63,7 @@
 import cytoscape.data.CyAttributes;
 import cytoscape.logger.CyLogger;
 import cytoscape.view.CyNetworkView;
+import cytoscape.view.CytoscapeDesktop;
 
 // Giny imports
 import giny.model.Node;
@@ -151,6 +156,12 @@
                // Now set up to receive selection events
                myView = Cytoscape.getCurrentNetworkView();
                myNetwork = Cytoscape.getCurrentNetwork();
-               // myView.addGraphViewChangeListener(this);
+               myView.addGraphViewChangeListener(this);
+
+               // Set up to listen for changes in the network view
+               Cytoscape.getDesktop().getSwingPropertyChangeSupport().
+                                      
addPropertyChangeListener(CytoscapeDesktop.NETWORK_VIEW_FOCUS, this);
+               Cytoscape.getDesktop().getSwingPropertyChangeSupport().
+                                      
addPropertyChangeListener(CytoscapeDesktop.NETWORK_VIEW_FOCUSED, this);
        }
 }


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