// Path: src/main/java/org/panda/causalpath/analyzer/OneDataChangeDetector.java
// public interface OneDataChangeDetector extends Cloneable
// {
// 	/**
// 	 * Returns 1 if the change is positive, -1 if the change is negative, 0 if the change is insignificant (not
// 	 * detected).
// 	 */
// 	int getChangeSign(ExperimentData data);
// 
// 	/**
// 	 * Gets the numerical value of the change.
// 	 */
// 	double getChangeValue(ExperimentData data);
// 
// 	OneDataChangeDetector makeACopy();
// }


import org.panda.causalpath.analyzer.OneDataChangeDetector;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
package org.panda.causalpath.data;



/**
 * Base class for a series of experiment data for a gene.
 */
public abstract class ExperimentData
{
	/**
	 * ID of the measurement. This can be an identifier of the antibody in an RPPA experiment, or gene symbol for a
	 * mutation, or an identifier for a mass spectometry peak.
	 */
	public String id;

	/**
	 * List of gene symbols that the measurement applies.
	 */
	protected Set<String> geneSymbols;

	/**
	 * How does a positive value in this experiment data affects the gene's activity? Only negative example is
	 * methylation so far.
	 */
	public int getEffect()
	{
		return 1;
	}

	/**
	 * A plug-in detector for the change in the experiment data. This detector may compare a test and a control group,
	 * or can decide based on a threshold, etc.
	 */
// Path: src/main/java/org/panda/causalpath/analyzer/OneDataChangeDetector.java
// public interface OneDataChangeDetector extends Cloneable
// {
// 	/**
// 	 * Returns 1 if the change is positive, -1 if the change is negative, 0 if the change is insignificant (not
// 	 * detected).
// 	 */
// 	int getChangeSign(ExperimentData data);
// 
// 	/**
// 	 * Gets the numerical value of the change.
// 	 */
// 	double getChangeValue(ExperimentData data);
// 
// 	OneDataChangeDetector makeACopy();
// }


// Path: src/main/java/org/panda/causalpath/data/ExperimentData.java
import org.panda.causalpath.analyzer.OneDataChangeDetector;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

package org.panda.causalpath.data;



/**
 * Base class for a series of experiment data for a gene.
 */
public abstract class ExperimentData
{
	/**
	 * ID of the measurement. This can be an identifier of the antibody in an RPPA experiment, or gene symbol for a
	 * mutation, or an identifier for a mass spectometry peak.
	 */
	public String id;

	/**
	 * List of gene symbols that the measurement applies.
	 */
	protected Set<String> geneSymbols;

	/**
	 * How does a positive value in this experiment data affects the gene's activity? Only negative example is
	 * methylation so far.
	 */
	public int getEffect()
	{
		return 1;
	}

	/**
	 * A plug-in detector for the change in the experiment data. This detector may compare a test and a control group,
	 * or can decide based on a threshold, etc.
	 */
	protected OneDataChangeDetector chDet;