Thread: [Jtreeview-cvs] jtreeview commit notification
Brought to you by:
alokito
From: Alok S. <al...@us...> - 2004-06-24 20:02:54
|
Update of /cvsroot/jtreeview/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1598 Modified Files: avail Log Message: added permission for avsegal to commit to SpellmanBeta. Index: avail =================================================================== RCS file: /cvsroot/jtreeview/CVSROOT/avail,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** avail 24 Jun 2004 01:04:41 -0000 1.2 --- avail 24 Jun 2004 20:02:43 -0000 1.3 *************** *** 1,3 **** unavail ! avail|alexsegal|LinkedView|SpellmanBeta avail|alokito --- 1,3 ---- unavail ! avail|avsegal|LinkedView|SpellmanBeta avail|alokito |
From: Alok S. <al...@us...> - 2004-06-29 18:44:32
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19454/src/edu/stanford/genetics/treeview/app Modified Files: TreeViewApp.java Log Message: added support for -t flag, to specify what type of frame should be opened on the command line. Index: TreeViewApp.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/app/TreeViewApp.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** TreeViewApp.java 21 Jun 2004 16:57:29 -0000 1.28 --- TreeViewApp.java 29 Jun 2004 18:44:23 -0000 1.29 *************** *** 284,287 **** --- 284,291 ---- * Main method for TreeView application. * + * Usage: java -jar treeview.jar -r <my cdt> -t [auto|classic|kmeans|linked]. + * + * uses auto by default. + * * @param astring Standard argument string. */ *************** *** 299,302 **** --- 303,307 ---- int arg; String sFilePath = null; + String frameType = "auto"; for (arg = 0; arg < astring.length; arg++) { // -r specifies a resource to be loaded at startup *************** *** 307,310 **** --- 312,322 ---- } } + // -t specifies a file, but is deprecated. + if (astring[arg].equals("-t")) { + if (astring.length > arg + 1) { + frameType = astring[arg + 1]; + arg++; + } + } // -f specifies a file, but is deprecated. if (astring[arg].equals("-f")) { *************** *** 324,327 **** --- 336,340 ---- fileSet = new FileSet(file.getName(), file.getParent()+File.separator); } + fileSet.setStyle(frameType); /* TreeViewFrame tvFrame = new TreeViewFrame(treeView); |
From: Alok S. <al...@us...> - 2004-06-29 18:45:14
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19567/src/edu/stanford/genetics/treeview/app Modified Files: LinkedViewApp.java Log Message: added override for LoadNewNW fucntion; before was incorrectly calling that of superclass. Index: LinkedViewApp.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/app/LinkedViewApp.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** LinkedViewApp.java 15 May 2004 00:30:50 -0000 1.7 --- LinkedViewApp.java 29 Jun 2004 18:45:04 -0000 1.8 *************** *** 78,81 **** --- 78,100 ---- } + /** + * same as above, but doesn't open a loading window (damn deadlocks!) + */ + public void openNewNW(FileSet fileSet) throws LoadException { + // setup toplevel + LinkedViewFrame tvFrame = new LinkedViewFrame(this); + if (fileSet != null) { + try { + tvFrame.loadFileSetNW(fileSet); + tvFrame.setLoaded(true); + } catch (LoadException e) { + tvFrame.dispose(); + throw e; + } + } + tvFrame.addWindowListener(this); + tvFrame.show(); + } + /* inherit description */ |
From: Alok S. <al...@us...> - 2004-06-29 18:47:55
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19794/src/edu/stanford/genetics/treeview Modified Files: FileSet.java Log Message: added function to set FileSet type by arbitrary string, such as one provided by command line. The error handling could be better, I just didn't want to deal with exceptions. Index: FileSet.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/FileSet.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** FileSet.java 25 Sep 2003 04:53:37 -0000 1.6 --- FileSet.java 29 Jun 2004 18:47:47 -0000 1.7 *************** *** 24,27 **** --- 24,28 ---- import java.io.*; + import javax.swing.*; /** *************** *** 283,286 **** --- 284,303 ---- node.setAttribute("style", newStyle, AUTO_STYLE); } + private String validStyles = "auto|classic|kmeans|linked"; + public void setStyle(String newStyle) { + if (newStyle == null) { + JOptionPane.showMessageDialog(null, "Error: Invalid Style null. Valid styles " + validStyles); + } else if (newStyle.equals("auto")) { + setStyle(AUTO_STYLE); + } else if (newStyle.equals("classic")) { + setStyle(CLASSIC_STYLE); + } else if (newStyle.equals("kmeans")) { + setStyle(KMEANS_STYLE); + } else if (newStyle.equals("linked")) { + setStyle(LINKED_STYLE); + } else { + JOptionPane.showMessageDialog(null, "Error: Invalid Style "+newStyle+". Valid styles " + validStyles); + } + } } |
From: Alok S. <al...@us...> - 2004-07-01 17:11:52
|
Update of /cvsroot/jtreeview/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4815 Modified Files: avail Log Message: added untrustedalok. Index: avail =================================================================== RCS file: /cvsroot/jtreeview/CVSROOT/avail,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** avail 24 Jun 2004 20:02:43 -0000 1.3 --- avail 1 Jul 2004 17:11:44 -0000 1.4 *************** *** 1,3 **** --- 1,4 ---- unavail avail|avsegal|LinkedView|SpellmanBeta + avail|untrustedalok|LinkedView|SpellmanBeta avail|alokito |
From: Untrusted A. <unt...@us...> - 2004-07-01 17:12:20
|
Update of /cvsroot/jtreeview/LinkedView In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4890 Modified Files: Tag: SpellmanBeta build.xml Log Message: made minor change to test commit. Index: build.xml =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/build.xml,v retrieving revision 1.27.2.5 retrieving revision 1.27.2.6 diff -C2 -d -r1.27.2.5 -r1.27.2.6 *** build.xml 24 Jun 2004 01:56:27 -0000 1.27.2.5 --- build.xml 1 Jul 2004 17:12:11 -0000 1.27.2.6 *************** *** 1,4 **** <project name="Java TreeView" default="compile" basedir="."> ! <!-- to make doc: javadoc -private -classpath lib/nanoxml-2.2.2.jar -d javadoc `find src | grep java` --> <target name="javadoc" description="make java docs"> <javadoc destdir="javadoc" author="true" --- 1,4 ---- <project name="Java TreeView" default="compile" basedir="."> ! <!-- to make doc: javadoc -private -classpath lib/nanoxml-2.2.2.jar -d javadoc `find src | grep java` --> <target name="javadoc" description="make java docs"> <javadoc destdir="javadoc" author="true" |
From: Untrusted A. <unt...@us...> - 2004-07-01 17:20:26
|
Update of /cvsroot/jtreeview/LinkedView In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6800 Modified Files: Tag: SpellmanBeta build.xml Log Message: Test commit. Index: build.xml =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/build.xml,v retrieving revision 1.27.2.6 retrieving revision 1.27.2.7 diff -C2 -d -r1.27.2.6 -r1.27.2.7 *** build.xml 1 Jul 2004 17:12:11 -0000 1.27.2.6 --- build.xml 1 Jul 2004 17:20:18 -0000 1.27.2.7 *************** *** 1,4 **** <project name="Java TreeView" default="compile" basedir="."> ! <!-- to make doc: javadoc -private -classpath lib/nanoxml-2.2.2.jar -d javadoc `find src | grep java` --> <target name="javadoc" description="make java docs"> <javadoc destdir="javadoc" author="true" --- 1,4 ---- <project name="Java TreeView" default="compile" basedir="."> ! <!-- to make doc: javadoc -private -classpath lib/nanoxml-2.2.2.jar -d javadoc `find src | grep java` --> <target name="javadoc" description="make java docs"> <javadoc destdir="javadoc" author="true" |
From: Alex S. <av...@us...> - 2004-07-01 18:04:19
|
Update of /cvsroot/jtreeview/LinkedView In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15392 Added Files: Tag: SpellmanBeta .project Log Message: testing... --- NEW FILE: .project --- <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>LinkedView</name> <comment></comment> <projects> </projects> <buildSpec> </buildSpec> <natures> </natures> </projectDescription> |
From: Alex S. <av...@us...> - 2004-07-01 19:24:05
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/scatterview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31049/src/edu/stanford/genetics/treeview/scatterview Modified Files: Tag: SpellmanBeta VerticalAxisPane.java Log Message: test 2 |
From: Alex S. <av...@us...> - 2004-07-01 20:36:29
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/model Modified Files: Tag: SpellmanBeta TVModelLoader.java TVModel.java KnnModel.java FlatFileParser.java ProgressTrackable.java LoadProgress.java LoadProgress2.java FlatFileStreamTokenizer.java Added Files: Tag: SpellmanBeta AtrTVModelLoader.java AtrTVModel.java Log Message: --- NEW FILE: AtrTVModelLoader.java --- /* BEGIN_HEADER Java TreeView * * $Author: avsegal * $RCSfile: AtrTVModelLoader.java * $Revision: * $Date: Jun 25, 2004 * $Name: * * This file is part of Java TreeView * Copyright (C) 2001-2003 Alok Saldanha, All Rights Reserved. * * This software is provided under the GNU GPL Version 2. In particular, * * 1) If you modify a source file, make a comment in it containing your name and the date. * 2) If you distribute a modified version, you must do it under the GPL 2. * 3) Developers are encouraged but not required to notify the Java TreeView maintainers at al...@ge... when they make a useful addition. It would be nice if significant contributions could be merged into the main distribution. * * A full copy of the license can be found in gpl.txt or online at * http://www.gnu.org/licenses/gpl.txt * * END_HEADER */ package edu.stanford.genetics.treeview.model; import edu.stanford.genetics.treeview.LoadException; import java.awt.Frame; import java.util.Vector; import java.io.*; /** * @author avsegal * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class AtrTVModelLoader extends TVModelLoader { /** * @param targetModel */ public AtrTVModelLoader(AtrTVModel targetModel) { super(targetModel); } protected void parseCDT(Vector tempVector) throws LoadException { super.findCdtDimensions(tempVector); super.loadArrayAnnotation(tempVector); super.loadGeneAnnotation(tempVector); } } Index: TVModelLoader.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/model/TVModelLoader.java,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -C2 -d -r1.13 -r1.13.2.1 *** TVModelLoader.java 5 Apr 2004 17:50:31 -0000 1.13 --- TVModelLoader.java 1 Jul 2004 20:36:19 -0000 1.13.2.1 *************** *** 336,340 **** // finds ngene, nexpr, nArrayPrefix, nGenePrefix // ! private void findCdtDimensions(Vector tempVector) { println("Finding Cdt Dimensions"); int ngene, nexpr, nArrayPrefix, nGenePrefix; --- 336,340 ---- // finds ngene, nexpr, nArrayPrefix, nGenePrefix // ! protected void findCdtDimensions(Vector tempVector) { println("Finding Cdt Dimensions"); int ngene, nexpr, nArrayPrefix, nGenePrefix; *************** *** 393,397 **** } ! private void loadArrayAnnotation(Vector tempVector) { // cols to skip over before arrays begin... int nGenePrefix = targetModel.getNGenePrefix(); --- 393,397 ---- } ! protected void loadArrayAnnotation(Vector tempVector) { // cols to skip over before arrays begin... int nGenePrefix = targetModel.getNGenePrefix(); *************** *** 415,419 **** } ! private void loadGeneAnnotation(Vector tempVector) { // how many cols of annotation? int nGenePrefix = targetModel.getNGenePrefix(); --- 415,419 ---- } ! protected void loadGeneAnnotation(Vector tempVector) { // how many cols of annotation? int nGenePrefix = targetModel.getNGenePrefix(); --- NEW FILE: AtrTVModel.java --- /* BEGIN_HEADER Java TreeView * * $Author: avsegal * $RCSfile: AtrTVModel.java * $Revision: * $Date: Jun 25, 2004 * $Name: * * This file is part of Java TreeView * Copyright (C) 2001-2003 Alok Saldanha, All Rights Reserved. * * This software is provided under the GNU GPL Version 2. In particular, * * 1) If you modify a source file, make a comment in it containing your name and the date. * 2) If you distribute a modified version, you must do it under the GPL 2. * 3) Developers are encouraged but not required to notify the Java TreeView maintainers at al...@ge... when they make a useful addition. It would be nice if significant contributions could be merged into the main distribution. * * A full copy of the license can be found in gpl.txt or online at * http://www.gnu.org/licenses/gpl.txt * * END_HEADER */ package edu.stanford.genetics.treeview.model; /** * @author avsegal * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ import edu.stanford.genetics.treeview.*; import java.util.*; import java.awt.*; import java.io.*; import java.awt.event.*; import javax.swing.*; public class AtrTVModel extends TVModel { /** * */ public AtrTVModel() { super(); } public double getValue(int x, int y) { return -1; } public void setExprData(double [] newData) { } public XmlConfig getDocumentConfig() { return null; } public void setDocumentConfig(XmlConfig newVal) { } public void setFrame(Frame f) { } public Frame getFrame() { return null; } public MenuItem getStatMenuItem() { return null; } public void loadNew(FileSet fileSet) throws LoadException { resetState(); setSource(fileSet); final AtrTVModelLoader loader = new AtrTVModelLoader(this); loader.loadInto(); } } Index: TVModel.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/model/TVModel.java,v retrieving revision 1.11 retrieving revision 1.11.2.1 diff -C2 -d -r1.11 -r1.11.2.1 *** TVModel.java 18 May 2004 18:17:16 -0000 1.11 --- TVModel.java 1 Jul 2004 20:36:19 -0000 1.11.2.1 *************** *** 159,162 **** --- 159,277 ---- return target; } + /** + * Reorders all the arrays in the new ordering. + * @param ordering the new ordering of arrays, must have size equal to number of arrays + */ + public void reorderArrays(int [] ordering) + { + if(ordering == null || ordering.length != aHeaders.length) // make sure input to function makes sense + { + return; + } + + + DataMatrix data = getDataMatrix(); + + for(int j = 0; j < data.getNumRow(); j++) + { + double [] temp = new double[data.getNumCol()]; + for(int i = 0; i < data.getNumCol(); i++) + { + temp[i] = data.getValue(ordering[i], j); + } + for(int i = 0; i < data.getNumCol(); i++) + { + data.setValue(temp[i], i, j); + } + } + + String [][] temp2 = new String[aHeaders.length][]; + + for(int i = 0; i < aHeaders.length; i++) + { + temp2[i] = aHeaders[ordering[i]]; + } + setArrayHeaders(temp2); + hashAIDs(); + + + setChanged(); + } + + /** + * Reset order in config file to the identity ordering. + */ + public void clearOrder() + { + ConfigNode order = documentConfig.getNode("ArrayOrder"); + + for(int i = 0; i < aHeaders.length; i++) + { + order.setAttribute("Position" + i, i, i); + } + } + + + /** + * Save a reordering to the config node. + * @param ordering the ordering to save + */ + public void saveOrder(int [] ordering) + { + ConfigNode order = documentConfig.getNode("ArrayOrder"); + + int prevVal = 0; + int [] temp = new int[aHeaders.length]; + + for(int i = 0; i < aHeaders.length; i++) + { + prevVal = order.getAttribute("Position" + ordering[i], -1); + if(prevVal == -1) + { + temp[i] = ordering[i]; + } + else + { + temp[i] = prevVal; + } + } + + //System.out.print("Saved ordering: "); + for(int i = 0; i < aHeaders.length; i++) + { + order.setAttribute("Position" + i, temp[i], -1); + // System.out.print(order.getAttribute("Position" + i, -1) + " "); + } + //System.out.println(); + + } + + /** + * Load array order from the config node. + */ + public void loadOrder() + { + if(documentConfig == null) + { + return; + } + + ConfigNode order = documentConfig.getNode("ArrayOrder"); + + int [] ordering = new int[aHeaders.length]; + + int prevVal = 0; + + + //System.out.print("Loaded ordering: "); + for(int i = 0; i < ordering.length; i++) + { + ordering[i] = order.getAttribute("Position" + i, i); + // System.out.print(ordering[i] + " "); + } + //System.out.println(); + + reorderArrays(ordering); + } public void resetState () { *************** *** 324,327 **** --- 439,447 ---- } } + public void setValue(double value, int x, int y) + { + exprData[x + y*nexpr] = value; + setChanged(); + } public int getNumRow() { return ngene; |
From: Alex S. <av...@us...> - 2004-07-01 20:36:29
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/app Modified Files: Tag: SpellmanBeta TreeViewApp.java LinkedViewApp.java KnnViewApp.java TreeViewAppX.java Log Message: |
From: Alex S. <av...@us...> - 2004-07-01 20:36:30
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/applet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/applet Modified Files: Tag: SpellmanBeta AppletViewFrame.java ButtonApplet.java Log Message: |
From: Alex S. <av...@us...> - 2004-07-01 20:36:30
|
Update of /cvsroot/jtreeview/LinkedView/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src Modified Files: Tag: SpellmanBeta LinkedView.java TreeView.java KnnView.java StatView.java Log Message: |
From: Alex S. <av...@us...> - 2004-07-01 20:36:31
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/scatterview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/scatterview Modified Files: Tag: SpellmanBeta DisplaySettingsPanel.java ScatterColorSet.java SPDataSource.java ScatterParameterPanel.java ScatterColorPresets.java ScatterView.java AxisParameter.java ScatterColorPresetEditor.java BitmapScatterViewExportPanel.java ScatterViewExportPanel.java HorizontalAxisPane.java AxisInfo.java GifScatterViewExportPanel.java ScatterPanel.java Log Message: |
From: Alex S. <av...@us...> - 2004-07-01 20:36:34
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview Modified Files: Tag: SpellmanBeta ContrastSelectable.java MemMonitor.java RCSVersion.java ConfigNodePersistent.java XmlConfig.java Util.java MessagePanel.java NatField.java PpmWriter.java DataModel.java ModelViewProduced.java TreeDrawerNode.java ContainerFocusTracker.java SwingWorker.java CancelableSettingsDialog.java DataMatrix.java ColorPanel.java HeaderInfo.java FileMru.java TreeViewFrame.java Popup.java UrlExtractor.java HidePanel.java ViewFrame.java GeneListMaker.java ConfigNode.java PresetEditor.java LoadException.java TabbedSettingsPanel.java UrlExtractor2.java WaitScreen.java BitmapWriter.java LinearTransformation.java UrlEditor.java HeaderSummary.java DummyHeaderInfo.java ConfigColorSet.java FileSet.java RotateImageFilter.java LinkedViewFrame.java NoValueException.java KnnViewFrame.java DummyConfigNode.java CdtSelection.java TestViewFrame.java LinkedPanel.java GeneFinder.java ColorSetI.java BrowserControl.java Debug.java ModelessSettingsDialog.java UrlPresets.java UrlSettingsPanel.java LogPanel.java FileMruEditor.java ModelViewBuffered.java MainPanel.java ConfigColorSetEditor.java SettingsPanel.java DragGridPanel.java CdtFilter.java FileScanner.java UrlScanner.java Dpoint.java ThreadListener.java ColorIcon.java HeaderSummaryPanel.java TreeSelection.java ModelView.java Log Message: Index: TreeDrawerNode.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/TreeDrawerNode.java,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -C2 -d -r1.5 -r1.5.2.1 *** TreeDrawerNode.java 14 Dec 2003 00:08:17 -0000 1.5 --- TreeDrawerNode.java 1 Jul 2004 20:36:19 -0000 1.5.2.1 *************** *** 169,187 **** } ! public void printSubtree() { ! printRecursive(""); } ! private void printRecursive(String pre) { ! if (getLeft() != null) { ! System.out.println(pre + getId() + ", corr " + getCorr() +", index " + getIndex()); ! System.out.println(pre + "Left:"); ! getLeft().printRecursive(pre + " "); ! System.out.println(pre + "Right:"); ! getRight().printRecursive(pre + " "); ! } else { ! System.out.println(pre + getId() + " LEAF, corr " + getCorr() +", index " + getIndex()); } - } // instance variables --- 169,224 ---- } ! public void printSubtree() { ! printRecursive(""); ! } ! private void printRecursive(String pre) { ! if (getLeft() != null) { ! System.out.println(pre + getId() + ", corr " + getCorr() +", index " + getIndex()); ! System.out.println(pre + "Left:"); ! getLeft().printRecursive(pre + " "); ! System.out.println(pre + "Right:"); ! getRight().printRecursive(pre + " "); ! } else { ! System.out.println(pre + getId() + " LEAF, corr " + getCorr() +", index " + getIndex()); } ! ! } ! ! ! /** ! * This method recusivly finds the node with the given id. ! * @param nodeid ID of the node to be found. ! * @return the node found, or null if no such node exists ! */ ! public TreeDrawerNode findNode(String nodeid) ! { ! TreeDrawerNode temp; ! ! if(getId().equals(nodeid)) ! { ! return this; ! } ! ! if(getLeft() != null) ! { ! temp = getLeft().findNode(nodeid); ! if(temp != null) ! { ! return temp; } } + + if(getRight() != null) + { + temp = getRight().findNode(nodeid); + if(temp != null) + { + return temp; + } + } + + return null; + + } // instance variables Index: DataMatrix.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/DataMatrix.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** DataMatrix.java 14 Dec 2003 00:08:17 -0000 1.2 --- DataMatrix.java 1 Jul 2004 20:36:19 -0000 1.2.2.1 *************** *** 43,46 **** --- 43,54 ---- double getValue(int row, int col); + /** + * Sets the value attribute of an element in the DataMatrix object + * + * @param value value to be set + * @param row row (gene) of interest + * @param col column (array) of interest + */ + void setValue(double value, int row, int col); /** |
From: Alex S. <av...@us...> - 2004-07-01 20:36:57
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/karyoview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/karyoview Modified Files: Tag: SpellmanBeta CoordinatesPresets.java CoordinatesSettingsPanel.java KaryoColorPresets.java KaryoColorPresetEditor.java KaryoDrawer.java FileSetEditor.java KaryoPanel.java Genome.java CircularChromosome.java DisplaySettingsPanel.java BitmapKaryoViewExportPanel.java ChromosomeLocus.java ChromosomeLoci.java KaryoView.java NearestAverager.java Averager.java GroupAverager.java CoordinatesPresetEditor.java Chromosome.java LinearChromosome.java NeighborAverager.java KaryoColorSet.java KaryoViewParameterPanel.java KaryoViewExportPanel.java KaryoExportPanel.java GifKaryoViewExportPanel.java IntervalAverager.java Log Message: |
From: Alex S. <av...@us...> - 2004-07-01 20:37:01
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/dendroview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12946/src/edu/stanford/genetics/treeview/dendroview Modified Files: Tag: SpellmanBeta ColorBarExportPanel.java GifColorBarExportPanel.java FontSelectable.java GlobalView.java FontSelector.java ColorSet.java BitmapExportPanel.java FillMap.java CharDendroView.java PostscriptExportPanel.java TextView.java LeftTreeDrawer.java GifExportPanel.java TreeDrawer.java ColorPresets.java CharColorExtractor.java CharColorSet.java SummaryPanel.java KnnDendroView.java GTRView.java ZoomView.java ATRView.java PostScriptMaker.java ColorExtractor.java NullMap.java BitmapColorBarExportPanel.java DendroView.java IntegerMap.java FontSettingsPanel.java FUOptionsPanel.java SummaryViewWizard.java ExportPanel.java MapContainer.java KnnArrayDrawer.java CharArrayDrawer.java ArrayNameView.java PostscriptColorBarExportPanel.java ATRZoomView.java TreeColorer.java FixedMap.java ColorPresetEditor.java ColorSetEditor.java PixelSettingsSelector.java MapSelector.java ArrayDrawer.java DendroException.java InvertedTreeDrawer.java DoubleArrayDrawer.java Added Files: Tag: SpellmanBeta AtrAligner.java TreeAnalysisNode.java AtrAnalysisNode.java Log Message: Index: DendroView.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/dendroview/DendroView.java,v retrieving revision 1.34 retrieving revision 1.34.2.1 diff -C2 -d -r1.34 -r1.34.2.1 *** DendroView.java 18 May 2004 18:17:15 -0000 1.34 --- DendroView.java 1 Jul 2004 20:36:17 -0000 1.34.2.1 *************** *** 24,28 **** --- 24,34 ---- import edu.stanford.genetics.treeview.*; + import com.gurge.amd.*; + + import edu.stanford.genetics.treeview.dendroview.AtrAligner; + import edu.stanford.genetics.treeview.dendroview.DendroException; + import edu.stanford.genetics.treeview.dendroview.TreeColorer; + import edu.stanford.genetics.treeview.model.AtrTVModel; import edu.stanford.genetics.treeview.model.TVModel; *************** *** 32,35 **** --- 38,42 ---- import java.lang.String; import java.io.*; + import javax.swing.*; *************** *** 166,169 **** --- 173,383 ---- windowActive = flag; } + /** + * Finds the currently selected arrays, mirror image flips them, and then rebuilds all necessary trees and saved data to the .jtv file. + * + */ + private void flipSelectedATRNode() + { + int leftIndex, rightIndex; + String selectedID; + TreeDrawerNode arrayNode = getArraySelection().getSelectedNode(); + + if(arrayNode == null || arrayNode.isLeaf()) + { + return; + } + + selectedID = arrayNode.getId(); + + //find the starting index of the left array tree, the ending index of the right array tree + leftIndex = dataModel.getArrayHeaderInfo().getHeaderIndex(arrayNode.getLeft().getLeftLeaf().getId()); + rightIndex = dataModel.getArrayHeaderInfo().getHeaderIndex(arrayNode.getRight().getRightLeaf().getId()); + + int num = dataModel.getDataMatrix().getNumCol(); + + int [] newOrder = new int[num]; + + for(int i = 0; i < num; i++) + { + newOrder[i] = i; + } + + for(int i = 0; i <= (rightIndex - leftIndex); i++) + { + newOrder[leftIndex + i] = rightIndex - i; + } + + /*System.out.print("Fliping to: "); + for(int i = 0; i < newOrder.length; i++) + { + System.out.print(newOrder[i] + " "); + } + System.out.println("");*/ + + ((TVModel)dataModel).reorderArrays(newOrder); + ((TVModel)dataModel).saveOrder(newOrder); + ((Observable)dataModel).notifyObservers(); + + updateATRDrawer(selectedID); + } + + /** + * Aligns the current ATR to the passed model as best as possible, saves the new ordering to the .jtv file. + * @param model - AtrTVModel with which to align. + */ + public void alignAtrToModel(AtrTVModel model) + { + HeaderInfo headers = model.getArrayHeaderInfo(); + + try{ + String selectedID = null; + + try { + selectedID = getArraySelection().getSelectedNode().getId(); + } + catch(NullPointerException npe) + { + } + + + int [] ordering; + ordering = AtrAligner.align(dataModel.getAtrHeaderInfo(), dataModel.getArrayHeaderInfo(), + model.getAtrHeaderInfo(), model.getArrayHeaderInfo()); + + /*System.out.print("New ordering: "); + for(int i = 0; i < ordering.length; i++) + { + System.out.print(ordering[i] + " "); + } + System.out.println();*/ + + + ((TVModel)dataModel).reorderArrays(ordering); + ((TVModel)dataModel).saveOrder(ordering); + ((Observable)dataModel).notifyObservers(); + + if(selectedID != null) + { + updateATRDrawer(selectedID); + } + } + catch(Exception e) + { + System.out.println(e.toString()); + } + } + + + /** + * Updates the ATRDrawer to reflect changes in the DataMode array order; rebuilds the TreeDrawerNode tree. + * @param selectedID ID of the node selected before a change in tree structure was made. This node is then found and reselected after the ATR tree is rebuilt. + */ + private void updateATRDrawer(String selectedID) + { + try { + TVModel tvmodel = (TVModel)dataModel; + invertedTreeDrawer.setData(tvmodel.getAtrHeaderInfo(), tvmodel.getArrayHeaderInfo()); + HeaderInfo trHeaderInfo = tvmodel.getAtrHeaderInfo(); + if (trHeaderInfo.getIndex("NODECOLOR") >= 0) { + TreeColorer.colorUsingHeader (invertedTreeDrawer.getRootNode(), + trHeaderInfo, + trHeaderInfo.getIndex("NODECOLOR")); + + } + } + catch (DendroException e) { + // LogPanel.println("Had problem setting up the array tree : " + e.getMessage()); + // e.printStackTrace(); + Box mismatch = new Box(BoxLayout.Y_AXIS); mismatch.add(new JLabel(e.getMessage())); + mismatch.add(new JLabel("Perhaps there is a mismatch between your ATR and CDT files?")); + mismatch.add(new JLabel("Ditching Array Tree, since it's lame.")); + JOptionPane.showMessageDialog(viewFrame, mismatch, "Tree Construction Error", JOptionPane.ERROR_MESSAGE); + atrview.setEnabled(false); + atrzview.setEnabled(false); + try{invertedTreeDrawer.setData(null, null);} catch (DendroException ex) {} + } + + TreeDrawerNode arrayNode = invertedTreeDrawer.getRootNode().findNode(selectedID); + arraySelection.setSelectedNode(arrayNode); + atrzview.setSelectedNode(arrayNode); + atrview.setSelectedNode(arrayNode); + arraySelection.notifyObservers(); + + + invertedTreeDrawer.notifyObservers(); + } + /** + * Creates an AtrTVModel for use in tree alignment. + * @param fileSet + * @return a new AtrTVModel with the file set loaded into it. + * @throws LoadException + */ + protected AtrTVModel makeAtrModel(FileSet fileSet) throws LoadException { + AtrTVModel atrTVModel = new AtrTVModel(); + + try { + atrTVModel.loadNew(fileSet); + } catch (LoadException e) { + JOptionPane.showMessageDialog(this, e); + throw e; + } + + return atrTVModel; + } + + + /** + * Open a dialog which allows the user to select a new CDT data file for tree alignment. + * + * @return The fileset corresponding to the dataset. + */ + /* + * Unknow what actually happens if the file CDT does not have an associated ATR. + */ + protected FileSet offerATRFileSelection() throws LoadException + { + FileSet fileSet1; // will be chosen... + + JFileChooser fileDialog = new JFileChooser(); + setupATRFileDialog(fileDialog); + int retVal = fileDialog.showOpenDialog(this); + if(retVal == JFileChooser.APPROVE_OPTION) + { + File chosen = fileDialog.getSelectedFile(); + + fileSet1 = new FileSet(chosen.getName(), chosen.getParent() + File.separator); + } + else + { + throw new LoadException("File Dialog closed without selection...", LoadException.NOFILE); + } + + return fileSet1; + } + + /** + * Sets up a dialog for loading ATR files for tree alignment. + * @param fileDialog the dialog to setup + */ + protected void setupATRFileDialog(JFileChooser fileDialog) { + CdtFilter ff = new CdtFilter(); + try { + fileDialog.addChoosableFileFilter(ff); + // will fail on pre-1.3 swings + fileDialog.setAcceptAllFileFilterUsed(true); + } catch (Exception e) { + // hmm... I'll just assume that there's no accept all. + fileDialog.addChoosableFileFilter(new javax.swing.filechooser.FileFilter() { + public boolean accept (File f) { + return true; + } + public String getDescription () { + return "All Files"; + } + }); + } + fileDialog.setFileFilter(ff); + fileDialog.setFileSelectionMode(JFileChooser.FILES_ONLY); + } *************** *** 862,866 **** */ public void populateAnalysisMenu(Menu menu) { ! MenuItem summaryItem = new MenuItem("Summary Window..."); summaryItem.addActionListener(new ActionListener() { --- 1076,1119 ---- */ public void populateAnalysisMenu(Menu menu) { ! MenuItem flipNodeItem = new MenuItem("Flip Tree Node", new MenuShortcut(KeyEvent.VK_L)); ! flipNodeItem.addActionListener( ! new ActionListener() ! { ! public void actionPerformed(ActionEvent ae) ! { ! flipSelectedATRNode(); ! } ! } ! ); ! menu.add(flipNodeItem); ! ! ! MenuItem alignToTreeItem = new MenuItem("Align to Tree...", new MenuShortcut(KeyEvent.VK_A)); ! alignToTreeItem.addActionListener( ! new ActionListener() ! { ! public void actionPerformed(ActionEvent ae) ! { ! try ! { ! FileSet fileSet = offerATRFileSelection(); ! AtrTVModel atrModel = makeAtrModel(fileSet); ! ! alignAtrToModel(atrModel); ! ! } ! catch (LoadException e) ! { ! if ((e.getType() != LoadException.INTPARSE) && ! (e.getType() != LoadException.NOFILE)) { ! LogPanel.println("Could not open file: " + e.getMessage()); ! e.printStackTrace(); ! } ! } ! } ! } ! ); ! menu.add(alignToTreeItem); ! MenuItem summaryItem = new MenuItem("Summary Window..."); summaryItem.addActionListener(new ActionListener() { --- NEW FILE: TreeAnalysisNode.java --- /* BEGIN_HEADER Java TreeView * * $Author: avsegal * $RCSfile: TreeAnalysisNode.java * $Revision: * $Date: Jun 25, 2004 * $Name: * * This file is part of Java TreeView * Copyright (C) 2001-2003 Alok Saldanha, All Rights Reserved. * * This software is provided under the GNU GPL Version 2. In particular, * * 1) If you modify a source file, make a comment in it containing your name and the date. * 2) If you distribute a modified version, you must do it under the GPL 2. * 3) Developers are encouraged but not required to notify the Java TreeView maintainers at al...@ge... when they make a useful addition. It would be nice if significant contributions could be merged into the main distribution. * * A full copy of the license can be found in gpl.txt or online at * http://www.gnu.org/licenses/gpl.txt * * END_HEADER */ package edu.stanford.genetics.treeview.dendroview; /** * @author avsegal * * Generic class for analysis of ATR and GTR trees. */ import java.util.Vector; public abstract class TreeAnalysisNode { /** * Create a new node with given id. * @param pID the id of the node */ TreeAnalysisNode(String pID) { id = pID; left = null; right = null; parent = null; } /** * Create a new node with a given id and parent. * @param pID the id of the node * @param pParent the parent of the node */ TreeAnalysisNode(String pID, TreeAnalysisNode pParent) { id = pID; left = null; right = null; parent = pParent; } /** * Gets the node's id. * @return the id */ public String getID() { return id; } /** * Gets the index of this node. * @return the index */ public int getIndex() { return index; } /** * Sets the index of this node. * @param ind index to set */ public void setIndex(int ind) { index = ind; } /** * Is this a root node? * @return true if this node is a root, false otherwise */ public boolean isRoot() { return (parent == null); } /** * Is this a leaf node? * @return true if this node is a leaf, false otherwise */ public boolean isLeaf() { return (left == null && right == null); } /** * Gets the leftmost leaf of the subtree rooted at this node. * @return the leftmost leaf of subtree. */ public TreeAnalysisNode getLeftLeaf() { if(isLeaf()) { return this; } if(left != null) { return left.getLeftLeaf(); } return right.getLeftLeaf(); // right cannot be null, otherwise this is a leaf } /** * Gets the rightmost leaf of the subtree rooted at this node. * @return the rightmost leaf of subtree. */ public TreeAnalysisNode getRightLeaf() { if(isLeaf()) { return this; } if(right != null) { return right.getRightLeaf(); } return left.getRightLeaf(); // left cannot be null, otherwise this is a leaf } /** * Switched the left and right child. * */ public void flip() { TreeAnalysisNode temp; temp = left; left = right; right = temp; } /** * Gives a listing, in order, of all nodes in this tree. * @param v vector to be filled with the listing */ public void enumerate(Vector v) { if(left != null) { left.enumerate(v); } v.add(this); if(right != null) { right.enumerate(v); } } /** * Computes the root of this node's tree. * @return the root node */ public TreeAnalysisNode findRoot() { if(isRoot()) { return this; } return parent.findRoot(); } /** * Find a node with given id in this subtree. * @param id id to look for * @return node found, or null if no such node exists */ public TreeAnalysisNode find(String id) { TreeAnalysisNode temp; if(getID().equals(id)) { return this; } if(left != null) { temp = left.find(id); if(temp != null) { return temp; } } if(right != null) { temp = right.find(id); if(temp != null) { return temp; } } return null; } /** * Set the left child. * @param node left child */ public void setLeft(TreeAnalysisNode node) { left = node; } /** * Gets the left child. * @return left child */ public TreeAnalysisNode getLeft() { return left; } /** * Set the right child. * @param node right child */ public void setRight(TreeAnalysisNode node) { right = node; } /** * Gets the right child. * @return right child */ public TreeAnalysisNode getRight() { return right; } /** * Sets the parent. * @param node parent */ public void setParent(TreeAnalysisNode node) { parent = node; } /** * Gets the parent. * @return parent */ public TreeAnalysisNode getParent() { return parent; } TreeAnalysisNode left; TreeAnalysisNode right; TreeAnalysisNode parent; String id; int index; } --- NEW FILE: AtrAligner.java --- /* BEGIN_HEADER Java TreeView * * $Author: avsegal * $RCSfile: AtrAligner.java * $Revision: * $Date: Jun 25, 2004 * $Name: * * This file is part of Java TreeView * Copyright (C) 2001-2003 Alok Saldanha, All Rights Reserved. * * This software is provided under the GNU GPL Version 2. In particular, * * 1) If you modify a source file, make a comment in it containing your name and the date. * 2) If you distribute a modified version, you must do it under the GPL 2. * 3) Developers are encouraged but not required to notify the Java TreeView maintainers at al...@ge... when they make a useful addition. It would be nice if significant contributions could be merged into the main distribution. * * A full copy of the license can be found in gpl.txt or online at * http://www.gnu.org/licenses/gpl.txt * * END_HEADER */ package edu.stanford.genetics.treeview.dendroview; /** * @author avsegal * * Aligns the array ordering to match a different array tree. Used statically two * align one fileset to another. */ import edu.stanford.genetics.treeview.*; import java.util.*; public class AtrAligner { /** * * @param atrHeader1 the atr header to be aligned * @param arrayHeader1 the array header to be aligned * @param atrHeader2 the atr header to align to * @param arrayHeader2 the array header to align to * @return a new ordering of arrayHeader1 * @throws DendroException */ public static int [] align(HeaderInfo atrHeader1, HeaderInfo arrayHeader1, HeaderInfo atrHeader2, HeaderInfo arrayHeader2) throws DendroException { int numArrays = arrayHeader1.getNumHeaders(); int [] newOrder = new int[numArrays]; AtrAnalysisNode root1; for(int i = 0; i < numArrays; i++) { newOrder[i] = i; } root1 = createAnalysisTree(atrHeader1, arrayHeader1); alignTree(root1, arrayHeader1, arrayHeader2, newOrder); return newOrder; } /** * Creates an AtrAnalysis tree based on the atr and array headers. * @param atrHeader ATR header * @param arrayHeader array header * @return the root node of the tree * @throws DendroException */ private static AtrAnalysisNode createAnalysisTree(HeaderInfo atrHeader, HeaderInfo arrayHeader) throws DendroException { int numArrays = arrayHeader.getNumHeaders(); AtrAnalysisNode [] leafNodes = new AtrAnalysisNode[numArrays]; Hashtable id2node = new Hashtable(((atrHeader.getNumHeaders() * 4) /3)/2, .75f); String newId, leftId, rightId; AtrAnalysisNode newN, leftN, rightN; for(int i = 0; i < atrHeader.getNumHeaders(); i++) { newId = atrHeader.getHeader(i, "NODEID"); leftId = atrHeader.getHeader(i, "LEFT"); rightId = atrHeader.getHeader(i, "RIGHT"); newN = (AtrAnalysisNode)id2node.get(newId); leftN = (AtrAnalysisNode)id2node.get(leftId); rightN = (AtrAnalysisNode)id2node.get(rightId); if (newN != null) { System.out.println("Symbol '" + newId + "' appeared twice, building weird tree"); } else { newN = new AtrAnalysisNode(newId, null); id2node.put(newId, newN); } if (leftN == null) { // this means that the identifier for leftn is a new leaf int val; // stores index (y location) try { val = arrayHeader.getHeaderIndex(leftId); } catch (java.lang.NullPointerException ex) { throw new DendroException("Identifier " + leftId + " from tree file not found in CDT! Exception was " + ex); } leftN = new AtrAnalysisNode(leftId, newN); leftN.setIndex(val); leftN.setName(arrayHeader.getHeader(val, "GID")); leafNodes[val] = leftN; id2node.put(leftId, leftN); } if (rightN == null) { // this means that the identifier for rightn is a new leaf // System.out.println("Looking up " + rightId); int val; // stores index (y location) try { val = arrayHeader.getHeaderIndex(rightId); } catch (java.lang.NullPointerException ex) { throw new DendroException("Identifier " + rightId + " from tree file not found in CDT! Exception was " + ex); } rightN = new AtrAnalysisNode(rightId, newN); rightN.setIndex(val); rightN.setName(arrayHeader.getHeader(val, "GID")); leafNodes[val] = rightN; id2node.put(rightId, rightN); } if(leftN.getIndex() > rightN.getIndex()) { AtrAnalysisNode temp = leftN; leftN = rightN; rightN = temp; } rightN.setParent(newN); leftN.setParent(newN); newN.setLeft(leftN); newN.setRight(rightN); } return (AtrAnalysisNode)leafNodes[0].findRoot(); } /** * Aligns tree rooted at root1 to a different atr tree as best as possible. * @param root1 root of the tree to align * @param arrayHeader1 array header of the tree to align * @param arrayHeader2 array header of the tree to align to * @param ordering the ordering array which this method will fill */ private static void alignTree(AtrAnalysisNode root1, HeaderInfo arrayHeader1, HeaderInfo arrayHeader2, int [] ordering) { Vector v1 = new Vector(); Hashtable gid2index = new Hashtable(); int gidIndex = arrayHeader2.getIndex("GID"); for(int i = 0; i < arrayHeader2.getNumHeaders(); i++) { gid2index.put(arrayHeader2.getHeader(i)[gidIndex], new Integer(i)); } root1.indexTree(arrayHeader2, gid2index); root1.enumerate(v1); for(int i = 0; i < v1.size(); i++) { ordering[i] = arrayHeader1.getHeaderIndex(((AtrAnalysisNode)v1.get(i)).getID()); } } } Index: ColorBarExportPanel.java =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/dendroview/ColorBarExportPanel.java,v retrieving revision 1.10 retrieving revision 1.10.2.1 diff -C2 -d -r1.10 -r1.10.2.1 *** ColorBarExportPanel.java 18 May 2004 05:05:51 -0000 1.10 --- ColorBarExportPanel.java 1 Jul 2004 20:36:17 -0000 1.10.2.1 *************** *** 1045,1047 **** --- 1045,1052 ---- return dataMatrix[x + y * nCol]; } + public void setValue(double value, int x, int y) + { + dataMatrix[x + y*nCol] = value; + } + } --- NEW FILE: AtrAnalysisNode.java --- /* BEGIN_HEADER Java TreeView * * $Author: avsegal * $RCSfile: AtrAnalysisNode.java * $Revision: * $Date: Jun 25, 2004 * $Name: * * This file is part of Java TreeView * Copyright (C) 2001-2003 Alok Saldanha, All Rights Reserved. * * This software is provided under the GNU GPL Version 2. In particular, * * 1) If you modify a source file, make a comment in it containing your name and the date. * 2) If you distribute a modified version, you must do it under the GPL 2. * 3) Developers are encouraged but not required to notify the Java TreeView maintainers at al...@ge... when they make a useful addition. It would be nice if significant contributions could be merged into the main distribution. * * A full copy of the license can be found in gpl.txt or online at * http://www.gnu.org/licenses/gpl.txt * * END_HEADER */ package edu.stanford.genetics.treeview.dendroview; /** * @author avsegal * * Binary tree node for analysis of array trees. The tree is parent-linked. */ import edu.stanford.genetics.treeview.*; import java.util.*; public class AtrAnalysisNode extends TreeAnalysisNode { /** * Creates a new node. * @param pID ID of the node in the ATR file */ public AtrAnalysisNode(String pID) { super(pID); leafCount = -1; averageIndex = -1; name = ""; } /** * Creates a new node with a given parent. * @param pID ID of the node in the ATR file * @param pParent parent of this node */ public AtrAnalysisNode(String pID, TreeAnalysisNode pParent) { super(pID, pParent); leafCount = -1; averageIndex = -1; name = ""; } /** * Sets the name of this node. * @param name the name to set */ public void setName(String name) { this.name = name; } /** * Returns the node's name. * @return the node's name */ public String getName() { return name; } /** * Returns the average of all leaf weights in this subtree. This is used in the alignment algorithm. * @return the average index of leaves */ public double getAverageSubtreeIndex() { double sum = 0; double num = 0; Vector v = new Vector(); enumerate(v); for(int i = 0; i < v.size(); i++) { if(((TreeAnalysisNode)v.elementAt(i)).isLeaf()) { sum += ((TreeAnalysisNode)v.elementAt(i)).getIndex(); num++; } } return sum/num; } /** * Returns a vector of all leaves in this subtree, in order. * @param v the vector to fill with leaves */ public void enumerate(Vector v) { if(left != null) { left.enumerate(v); } if(isLeaf()) { v.add(this); } if(right != null) { right.enumerate(v); } } /** * Gets the number of leaves. * @return the number of leaves in this subtree */ public int getLeafCount() { if(leafCount == -1) { if(isLeaf()) { leafCount = 1; } else { leafCount = 0; if(left != null) { leafCount += ((AtrAnalysisNode)left).getLeafCount(); } else if(right != null) { leafCount += ((AtrAnalysisNode)right).getLeafCount(); } } } return leafCount; } /** * Calculates the average index of all nodes. * @param arrayHeader the arrayHeader to use for index look up * @param gid2index hashtable for reverse index look up (by array name) * @return the average index for this subtree */ private double computeAverageIndexTree(HeaderInfo arrayHeader, Hashtable gid2index) { double leftSum = 0, rightSum = 0; if(isLeaf()) { int val = 0; try { val = ((Integer)gid2index.get(getName())).intValue(); } catch (java.lang.NullPointerException ex) { leafCount = 0; //do nothing, since we want to ignore non-matched aspects of mostly equivelent trees. } setIndex(val); averageIndex = val; } else { leftSum = ((AtrAnalysisNode)left).computeAverageIndexTree(arrayHeader, gid2index); rightSum = ((AtrAnalysisNode)right).computeAverageIndexTree(arrayHeader, gid2index); leftSum *= ((AtrAnalysisNode)left).getLeafCount(); rightSum *= ((AtrAnalysisNode)right).getLeafCount(); averageIndex = (leftSum + rightSum)/(((AtrAnalysisNode)left).getLeafCount() + ((AtrAnalysisNode)right).getLeafCount()); } return averageIndex; } /** * Rearranged the tree by average index. * */ private void arrangeByAverageIndex() { if(left == null || right == null) { return; } AtrAnalysisNode temp; if(((AtrAnalysisNode)left).getAverageIndex() > ((AtrAnalysisNode)right).getAverageIndex()) { temp = (AtrAnalysisNode)left; left = right; right = temp; } ((AtrAnalysisNode)left).arrangeByAverageIndex(); ((AtrAnalysisNode)right).arrangeByAverageIndex(); } /** * Calculates all the indecies. * @param arrayHeader the arrayHeader to use for index look up * @param gid2index hashtable for reverse index look up (by array name) */ public void indexTree(HeaderInfo arrayHeader, Hashtable gid2index) { computeAverageIndexTree(arrayHeader, gid2index); arrangeByAverageIndex(); } /** * Gets the average index of this subtree. * @return the average index of this subtree. */ public double getAverageIndex() { return averageIndex; } int leafCount; double averageIndex; String name; } |
From: Alex S. <av...@us...> - 2004-07-01 20:50:41
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15802/src/edu/stanford/genetics/treeview/model Modified Files: Tag: SpellmanBeta TVModelLoader.java TVModel.java KnnModel.java FlatFileParser.java ProgressTrackable.java LoadProgress.java LoadProgress2.java FlatFileStreamTokenizer.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |
From: Alex S. <av...@us...> - 2004-07-01 20:50:47
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/dendroview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15802/src/edu/stanford/genetics/treeview/dendroview Modified Files: Tag: SpellmanBeta ColorBarExportPanel.java GifColorBarExportPanel.java FontSelectable.java GlobalView.java FontSelector.java ColorSet.java BitmapExportPanel.java CharDendroView.java FillMap.java PostscriptExportPanel.java TextView.java LeftTreeDrawer.java GifExportPanel.java TreeDrawer.java ColorPresets.java CharColorExtractor.java CharColorSet.java SummaryPanel.java KnnDendroView.java GTRView.java ZoomView.java ATRView.java PostScriptMaker.java ColorExtractor.java NullMap.java BitmapColorBarExportPanel.java DendroView.java IntegerMap.java FontSettingsPanel.java FUOptionsPanel.java SummaryViewWizard.java ExportPanel.java MapContainer.java KnnArrayDrawer.java CharArrayDrawer.java ArrayNameView.java PostscriptColorBarExportPanel.java ATRZoomView.java TreeColorer.java ColorPresetEditor.java FixedMap.java ColorSetEditor.java PixelSettingsSelector.java MapSelector.java ArrayDrawer.java DendroException.java InvertedTreeDrawer.java DoubleArrayDrawer.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |
From: Alex S. <av...@us...> - 2004-07-01 20:50:49
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15802/src/edu/stanford/genetics/treeview Modified Files: Tag: SpellmanBeta ContrastSelectable.java MemMonitor.java RCSVersion.java ConfigNodePersistent.java XmlConfig.java Util.java MessagePanel.java NatField.java PpmWriter.java DataModel.java ModelViewProduced.java TreeDrawerNode.java ContainerFocusTracker.java SwingWorker.java CancelableSettingsDialog.java DataMatrix.java ColorPanel.java HeaderInfo.java FileMru.java TreeViewFrame.java Popup.java UrlExtractor.java HidePanel.java ViewFrame.java GeneListMaker.java ConfigNode.java PresetEditor.java LoadException.java TabbedSettingsPanel.java UrlExtractor2.java WaitScreen.java BitmapWriter.java LinearTransformation.java UrlEditor.java HeaderSummary.java DummyHeaderInfo.java ConfigColorSet.java FileSet.java RotateImageFilter.java LinkedViewFrame.java NoValueException.java KnnViewFrame.java DummyConfigNode.java CdtSelection.java TestViewFrame.java LinkedPanel.java GeneFinder.java ColorSetI.java BrowserControl.java ModelessSettingsDialog.java Debug.java UrlPresets.java UrlSettingsPanel.java LogPanel.java FileMruEditor.java ModelViewBuffered.java MainPanel.java ConfigColorSetEditor.java SettingsPanel.java DragGridPanel.java CdtFilter.java FileScanner.java UrlScanner.java Dpoint.java ThreadListener.java ColorIcon.java HeaderSummaryPanel.java TreeSelection.java ModelView.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |
From: Alex S. <av...@us...> - 2004-07-01 22:32:05
|
Update of /cvsroot/jtreeview/LinkedView In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5591 Modified Files: Tag: SpellmanBeta .project Log Message: Index: .project =================================================================== RCS file: /cvsroot/jtreeview/LinkedView/Attic/.project,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.1.2.1 diff -C2 -d -r1.1.2.1 -r1.1.2.1.2.1 *** .project 1 Jul 2004 18:04:11 -0000 1.1.2.1 --- .project 1 Jul 2004 22:31:55 -0000 1.1.2.1.2.1 *************** *** 6,11 **** --- 6,17 ---- </projects> <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> + <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription> |
From: Alex S. <av...@us...> - 2004-07-01 22:32:39
|
Update of /cvsroot/jtreeview/LinkedView In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5734 Added Files: Tag: SpellmanBeta .classpath Log Message: --- NEW FILE: .classpath --- <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="lib" path="lib/GIFEncoder.jar"/> <classpathentry kind="lib" path="lib/nanoxml-2.2.2.jar"/> <classpathentry kind="output" path="bin"/> </classpath> |
From: Alex S. <av...@us...> - 2004-07-01 22:43:29
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8246/src/edu/stanford/genetics/treeview/model Modified Files: Tag: SpellmanBeta TVModelLoader.java TVModel.java KnnModel.java FlatFileParser.java ProgressTrackable.java LoadProgress.java LoadProgress2.java FlatFileStreamTokenizer.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |
From: Alex S. <av...@us...> - 2004-07-01 22:43:34
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview/dendroview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8246/src/edu/stanford/genetics/treeview/dendroview Modified Files: Tag: SpellmanBeta ColorBarExportPanel.java GifColorBarExportPanel.java FontSelectable.java GlobalView.java FontSelector.java ColorSet.java BitmapExportPanel.java CharDendroView.java FillMap.java PostscriptExportPanel.java TextView.java LeftTreeDrawer.java GifExportPanel.java TreeDrawer.java ColorPresets.java CharColorExtractor.java CharColorSet.java SummaryPanel.java KnnDendroView.java GTRView.java ZoomView.java ATRView.java PostScriptMaker.java ColorExtractor.java NullMap.java BitmapColorBarExportPanel.java DendroView.java IntegerMap.java FontSettingsPanel.java FUOptionsPanel.java SummaryViewWizard.java ExportPanel.java MapContainer.java KnnArrayDrawer.java CharArrayDrawer.java ArrayNameView.java PostscriptColorBarExportPanel.java ATRZoomView.java TreeColorer.java ColorPresetEditor.java FixedMap.java ColorSetEditor.java PixelSettingsSelector.java MapSelector.java ArrayDrawer.java DendroException.java InvertedTreeDrawer.java DoubleArrayDrawer.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |
From: Alex S. <av...@us...> - 2004-07-01 22:43:38
|
Update of /cvsroot/jtreeview/LinkedView/src/edu/stanford/genetics/treeview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8246/src/edu/stanford/genetics/treeview Modified Files: Tag: SpellmanBeta ContrastSelectable.java MemMonitor.java RCSVersion.java ConfigNodePersistent.java XmlConfig.java Util.java MessagePanel.java NatField.java PpmWriter.java DataModel.java ModelViewProduced.java TreeDrawerNode.java ContainerFocusTracker.java SwingWorker.java CancelableSettingsDialog.java DataMatrix.java ColorPanel.java HeaderInfo.java FileMru.java TreeViewFrame.java Popup.java UrlExtractor.java HidePanel.java ViewFrame.java GeneListMaker.java ConfigNode.java PresetEditor.java LoadException.java TabbedSettingsPanel.java UrlExtractor2.java WaitScreen.java BitmapWriter.java LinearTransformation.java UrlEditor.java HeaderSummary.java DummyHeaderInfo.java ConfigColorSet.java FileSet.java RotateImageFilter.java LinkedViewFrame.java NoValueException.java KnnViewFrame.java DummyConfigNode.java CdtSelection.java TestViewFrame.java LinkedPanel.java GeneFinder.java ColorSetI.java BrowserControl.java ModelessSettingsDialog.java Debug.java UrlPresets.java UrlSettingsPanel.java LogPanel.java FileMruEditor.java ModelViewBuffered.java MainPanel.java ConfigColorSetEditor.java SettingsPanel.java DragGridPanel.java CdtFilter.java FileScanner.java UrlScanner.java Dpoint.java ThreadListener.java ColorIcon.java HeaderSummaryPanel.java TreeSelection.java ModelView.java Log Message: -Added array node flipping -Added aligning to file -ArrayNameView does not get updated correctly |