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