Author: pwang
Date: 2011-10-25 11:38:08 -0700 (Tue, 25 Oct 2011)
New Revision: 27297
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteraction.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicator.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicatorUnordered.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTIntercept.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingle.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingleIndicator.java
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTerm.java
Removed:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/Imterms/
Log:
Correct package name
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteraction.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteraction.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteraction.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,59 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+public final class LMTInteraction extends LMTerm
+{
+ final int varIndex1;
+ final int varIndex2;
+
+ public LMTInteraction(int varIndex1, int varIndex2)
+ {
+ this.varIndex1 = varIndex1;
+ this.varIndex2 = varIndex2;
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ return data[row][varIndex1]*data[row][varIndex2];
+ }
+
+ public double evaluate(double[][] data, int row)
+ {
+ return data[row][varIndex1]*data[row][varIndex2];
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ return data[row][varIndex1]*data[row][varIndex2];
+ }
+
+ public String toString()
+ {
+ return "x"+varIndex1+":x"+varIndex2;
+ }
+
+ public int hashCode()
+ {
+ return varIndex1+varIndex2;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTInteraction)
+ {
+ LMTInteraction o = (LMTInteraction)other;
+ if ((o.varIndex1==varIndex1 && o.varIndex2==varIndex2)
|| (o.varIndex1==varIndex2 && o.varIndex2==varIndex1)) return true;
+ }
+
+ return false;
+ }
+
+ public int varIndex1()
+ {
+ return varIndex1;
+ }
+
+ public int varIndex2()
+ {
+ return varIndex2;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicator.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicator.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicator.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,81 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+import java.util.*;
+
+public final class LMTInteractionIndicator extends LMTerm
+{
+ final int varIndex1;
+ final int varIndex2;
+ final int value1;
+ final int value2;
+
+ public LMTInteractionIndicator(int varIndex1, int varIndex2, int
value1, int value2)
+ {
+ this.varIndex1 = varIndex1;
+ this.varIndex2 = varIndex2;
+ this.value1 = value1;
+ this.value2 = value2;
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ if ((int)data[row][varIndex1]==value1 &&
(int)data[row][varIndex2]==value2) return 1;
+ else return 0;
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ if (data[row][varIndex1]==value1 &&
data[row][varIndex2]==value2) return 1;
+ else return 0;
+ }
+
+ public double evaluate(double[][] data, int row)
+ {
+ if ((int)data[row][varIndex1]==value1 &&
(int)data[row][varIndex2]==value2) return 1;
+ else return 0;
+ }
+
+ public String toString()
+ {
+ return
"I(x"+varIndex1+"=="+value1+"&&x"+varIndex2+"=="+value2+")";
+ }
+
+ public int hashCode()
+ {
+ return varIndex1+varIndex2+value1+value2;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTInteractionIndicator)
+ {
+ LMTInteractionIndicator o =
(LMTInteractionIndicator)other;
+ if ((o.varIndex1==varIndex1 && o.varIndex2==varIndex2
&& o.value1==value1 && o.value2==value2) || (o.varIndex1==varIndex2 &&
o.varIndex2==varIndex1 && o.value1==value2 && o.value2==value1)) return true;
+ }
+
+ return false;
+ }
+
+ public int varIndex1()
+ {
+ return varIndex1;
+ }
+
+ public int varIndex2()
+ {
+ return varIndex2;
+ }
+
+ public static List<LMTInteractionIndicator> generateIndicators(int i1,
int i2, int numStates)
+ {
+ List<LMTInteractionIndicator> out = new
ArrayList<LMTInteractionIndicator>(numStates*numStates-1);
+
+ int nsm1 = numStates-1;
+
+ for (int i=0;i<numStates;i++)
+ for (int j=0;j<numStates;j++)
+ if (i!=nsm1 || j!=nsm1)out.add(new
LMTInteractionIndicator(i1,i2,i,j));
+
+ return out;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicatorUnordered.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicatorUnordered.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTInteractionIndicatorUnordered.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,72 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+import java.util.*;
+
+public final class LMTInteractionIndicatorUnordered extends LMTerm
+{
+ final int varIndex1;
+ final int varIndex2;
+ final int value1;
+ final int value2;
+
+ public LMTInteractionIndicatorUnordered(int varIndex1, int varIndex2,
int value1, int value2)
+ {
+ this.varIndex1 = varIndex1;
+ this.varIndex2 = varIndex2;
+ this.value1 = value1;
+ this.value2 = value2;
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ if (((int)data[row][varIndex1]==value1 &&
(int)data[row][varIndex2]==value2) || ((int)data[row][varIndex1]==value2 &&
(int)data[row][varIndex2]==value1)) return 1;
+ else return 0;
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ if ((data[row][varIndex1]==value1 &&
data[row][varIndex2]==value2) || (data[row][varIndex1]==value2 &&
data[row][varIndex2]==value1)) return 1;
+ else return 0;
+ }
+
+ public double evaluate(double[][] data, int row)
+ {
+ if (((int)data[row][varIndex1]==value1 &&
(int)data[row][varIndex2]==value2) || ((int)data[row][varIndex1]==value2 &&
(int)data[row][varIndex2]==value1)) return 1;
+ else return 0;
+ }
+
+ public String toString()
+ {
+ return
"I(x"+varIndex1+"x,"+varIndex2+"x=="+value1+","+value2+")";
+ }
+
+ public int hashCode()
+ {
+ return varIndex1+varIndex2+value1+value2;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTInteractionIndicatorUnordered)
+ {
+ LMTInteractionIndicatorUnordered o =
(LMTInteractionIndicatorUnordered)other;
+
+ if (varIndex1!=o.varIndex1 && varIndex1!=o.varIndex2)
return false;
+ if (varIndex2!=o.varIndex1 && varIndex2!=o.varIndex2)
return false;
+ if (value1!=o.value1 && value1!=o.value2) return false;
+ if (value2!=o.value1 && value2!=o.value2) return false;
+ }else return false;
+
+ return true;
+ }
+
+ public int varIndex1()
+ {
+ return varIndex1;
+ }
+
+ public int varIndex2()
+ {
+ return varIndex2;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTIntercept.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTIntercept.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTIntercept.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,35 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+public final class LMTIntercept extends LMTerm
+{
+ public double evaluate(double[][] data, int row)
+ {
+ return 1;
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ return 1;
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ return 1;
+ }
+
+ public String toString()
+ {
+ return "1";
+ }
+
+ public int hashCode()
+ {
+ return -1;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTIntercept) return true;
+ else return false;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingle.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingle.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingle.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,50 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+
+public final class LMTSingle extends LMTerm
+{
+ final int varIndex;
+
+ public LMTSingle(int varIndex)
+ {
+ this.varIndex = varIndex;
+ }
+
+ public double evaluate(double[][] data, int row)
+ {
+ return data[row][varIndex];
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ return data[row][varIndex];
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ return data[row][varIndex];
+ }
+
+ public String toString()
+ {
+ return "x"+varIndex;
+ }
+
+ public int hashCode()
+ {
+ return varIndex;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTSingle)
+ return ((LMTSingle)other).varIndex==varIndex;
+
+ return false;
+ }
+
+ public int varIndex()
+ {
+ return varIndex;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingleIndicator.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingleIndicator.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTSingleIndicator.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,64 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+
+/**
+ * Provides a linear model term, which is an indicator variable (0,1)
indicating a particular value.
+ * @author ghannum
+ */
+public final class LMTSingleIndicator extends LMTerm
+{
+ final int varIndex;
+ final int value;
+
+ public LMTSingleIndicator(int varIndex, int value)
+ {
+ this.varIndex = varIndex;
+ this.value = value;
+ }
+
+ public double evaluate(double[][] data, int row)
+ {
+ if ((int)data[row][varIndex]==value) return 1;
+ else return 0;
+ }
+
+ public double evaluate(float[][] data, int row)
+ {
+ if ((int)data[row][varIndex]==value) return 1;
+ else return 0;
+ }
+
+ public double evaluate(byte[][] data, int row)
+ {
+ if (data[row][varIndex]==value) return 1;
+ else return 0;
+ }
+
+ public String toString()
+ {
+ return "I(x"+varIndex+"=="+value+")";
+ }
+
+ public int hashCode()
+ {
+ return varIndex;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof LMTSingleIndicator)
+ return ((LMTSingleIndicator)other).varIndex==varIndex
&& ((LMTSingleIndicator)other).value==value;
+
+ return false;
+ }
+
+ public int varIndex()
+ {
+ return varIndex;
+ }
+
+ public int value()
+ {
+ return value;
+ }
+}
Added:
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTerm.java
===================================================================
---
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTerm.java
(rev 0)
+++
csplugins/trunk/ucsd/ruschein/PanGIA-impl/src/main/java/org/idekerlab/PanGIAPlugin/utilities/math/linearmodels/lmterms/LMTerm.java
2011-10-25 18:38:08 UTC (rev 27297)
@@ -0,0 +1,8 @@
+package org.idekerlab.PanGIAPlugin.utilities.math.linearmodels.lmterms;
+
+public abstract class LMTerm
+{
+ public abstract double evaluate(float[][] data, int row);
+ public abstract double evaluate(double[][] data, int row);
+ public abstract double evaluate(byte[][] data, int row);
+}
--
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.