public CachedProbe(AffyProbe ap, Vector<AffyExperiment> expts) { probe = ap; min = max = 0.0; color = Color.lightGray; stroke = new BasicStroke((float) 2.0); values = new Vector<Double>(); for (AffyExperiment e : expts) { AffyMeasurement am = e.getMeasurement(probe); if (am != null) { values.add(am.getValue()); min = Math.min(am.getValue(), min); max = Math.max(am.getValue(), max); } else { values.add(null); } } }
public void paintProbe(Graphics2D g2, int x1, int y1, int x2, int y2, double tmin, double tmax) { g2.setStroke(stroke); g2.setColor(color); int ppx = -1, ppy = -1; for (int i = 0; i < values.size(); i++) { Double v = values.get(i); if (v != null && tmax - tmin > 0.0) { double frac = (v - tmin) / (tmax - tmin); int pixY = y2 - (int) Math.round(frac * (y2 - y1)); int pixX = x1 + (int) Math.floor((double) (i + 1) / (double) (values.size() + 2)); if (ppx != -1) { g2.drawLine(ppx, ppy, pixX, pixY); } ppx = pixX; ppy = pixY; } else { ppx = ppy = -1; } } }
public WeightMatrix getRepresentative(Cluster<WeightMatrix> cluster) { Set<WeightMatrix> matrices = cluster.getElements(); WeightMatrix bestwm = null; double bestdist = Double.MAX_VALUE; for (WeightMatrix i : matrices) { double sum = 0; for (WeightMatrix j : matrices) { sum += Math.pow(comp.compare(i, j), 2); } // System.err.println(" " + i + " : " + sum + " <? " + bestdist); sum = sum / matrices.size(); if (sum < bestdist) { bestwm = i; bestdist = sum; } } if (bestwm == null) { System.err.println("OOPS!" + bestdist); System.err.println(matrices.toString()); } return bestwm; }