gov.nih.nci.caarray.domain.hybridization
Class Hybridization

java.lang.Object
  extended by gov.nih.nci.caarray.domain.AbstractCaArrayObject
      extended by gov.nih.nci.caarray.domain.AbstractCaArrayEntity
          extended by gov.nih.nci.caarray.domain.project.AbstractExperimentDesignNode
              extended by gov.nih.nci.caarray.domain.hybridization.Hybridization
All Implemented Interfaces:
com.fiveamsolutions.nci.commons.data.persistent.PersistentObject, ProtocolApplicable, gov.nih.nci.caarray.security.ProtectableDescendent, java.io.Serializable

public class Hybridization
extends AbstractExperimentDesignNode
implements gov.nih.nci.caarray.security.ProtectableDescendent

The act of hybridizing extracted genetic material to the probes on a microarray.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayEntity
CAARRAY_LSID_AUTHORITY, CAARRAY_LSID_NAMESPACE
 
Fields inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayObject
DEFAULT_BATCH_SIZE, DEFAULT_STRING_COLUMN_SIZE, LARGE_TEXT_FIELD_LENGTH
 
Constructor Summary
Hybridization()
           
 
Method Summary
 void addArrayData(AbstractArrayData arrayData)
          Add a new array data to this hybridization.
 void addProtocolApplication(ProtocolApplication pa)
          Add the given protocol application to the protocol applications of this.
 void clearProtocolApplications()
          Remove all protocol applications of this.
protected  void doAddDirectPredecessor(AbstractExperimentDesignNode predecessor)
          Actually add the new node as a direct predecessor of this node.
protected  void doAddDirectSuccessor(AbstractExperimentDesignNode successor)
          Actually add the new node as a direct successor of this node.
 java.util.Set<CaArrayFile> getAllDataFiles()
          
 float getAmountOfMaterial()
           
 Term getAmountOfMaterialUnit()
           
 Array getArray()
          Gets the array.
 java.util.Set<DerivedArrayData> getDerivedDataCollection()
          Gets the derivedDatas.
 java.lang.String getDescription()
           
 java.util.Set<? extends AbstractExperimentDesignNode> getDirectPredecessors()
          
 java.util.Set<? extends AbstractExperimentDesignNode> getDirectSuccessors()
          
 Experiment getExperiment()
          Get the experiment to which this node belongs.
 AbstractFactorValue getFactorValue(java.lang.String factorName)
          Return the factor value for the factor with given name in this hybridization.
 java.util.Set<AbstractFactorValue> getFactorValues()
          Gets the factorValues.
 java.util.Set<HybridizationData> getHybridizationData()
           
 java.util.Set<Image> getImages()
          Gets the images.
 java.util.Set<LabeledExtract> getLabeledExtracts()
          Gets the labeledExtract.
 java.lang.String getName()
          Gets the name.
 ExperimentDesignNodeType getNodeType()
          
 java.util.List<ProtocolApplication> getProtocolApplications()
          
 java.util.Set<RawArrayData> getRawDataCollection()
          Gets the rawArrayDatas.
 int getUncompressedSizeOfDataFiles()
           
 void merge(AbstractExperimentDesignNode node)
          Merges another AbstractExperimentDesignNode into this one.
 java.util.Collection<? extends gov.nih.nci.caarray.security.Protectable> relatedProtectables()
          
 void removeArrayData(AbstractArrayData arrayData)
          Remove an array data from this hybridization.
 void setAmountOfMaterial(float amountOfMaterial)
           
 void setAmountOfMaterialUnit(Term amountOfMaterialUnit)
           
 void setArray(Array arrayVal)
          Sets the array.
 void setDescription(java.lang.String description)
           
 void setExperiment(Experiment experiment)
           
 void setHybridizationData(java.util.Set<HybridizationData> hybridizationData)
           
 void setName(java.lang.String nameVal)
          Sets the name.
 java.lang.String toString()
          
 
Methods inherited from class gov.nih.nci.caarray.domain.project.AbstractExperimentDesignNode
addDirectPredecessor, addDirectSuccessor, getCharacteristics, getCharacteristicsRecursively, getPredecessorsOfType, getSuccessorsOfType, propagateLastModifiedDataTime
 
Methods inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayEntity
getLsid, getLsidAuthority, getLsidNamespace, getLsidObjectId, setLsid, setLsid, setLsidForEntity
 
Methods inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayObject
equals, getCaBigId, getId, getPostLoadSecurityPolicies, getRemoteApiSecurityPolicies, hashCode, setCaBigId, setId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.fiveamsolutions.nci.commons.data.persistent.PersistentObject
getId
 

Constructor Detail

Hybridization

public Hybridization()
Method Detail

getName

@NotNull
@Length(min=1,
        max=254)
public java.lang.String getName()
Gets the name.

Specified by:
getName in class AbstractExperimentDesignNode
Returns:
the name

setName

public void setName(java.lang.String nameVal)
Sets the name.

Parameters:
nameVal - the name

getDescription

@Length(max=254)
public java.lang.String getDescription()
Returns:
the description

setDescription

public void setDescription(java.lang.String description)
Parameters:
description - the description to set

getImages

public java.util.Set<Image> getImages()
Gets the images.

Returns:
the images

getDerivedDataCollection

public java.util.Set<DerivedArrayData> getDerivedDataCollection()
Gets the derivedDatas.

Returns:
the derivedDatas

getArray

public Array getArray()
Gets the array.

Returns:
the array

setArray

public void setArray(Array arrayVal)
Sets the array.

Parameters:
arrayVal - the array

getRawDataCollection

public java.util.Set<RawArrayData> getRawDataCollection()
Gets the rawArrayDatas.

Returns:
the rawArrayData

addArrayData

public void addArrayData(AbstractArrayData arrayData)
Add a new array data to this hybridization. This will add the array data to the appropriate collection, depending on whether it is raw or derived.

Parameters:
arrayData - the array data to add

removeArrayData

public void removeArrayData(AbstractArrayData arrayData)
Remove an array data from this hybridization. This will remove the array data from the appropriate collection, depending on whether it is raw or derived.

Parameters:
arrayData - the array data to remove

getFactorValues

public java.util.Set<AbstractFactorValue> getFactorValues()
Gets the factorValues.

Returns:
the factorValues

getFactorValue

public AbstractFactorValue getFactorValue(java.lang.String factorName)
Return the factor value for the factor with given name in this hybridization. If there is none, return null.

Parameters:
factorName - name of factor for which to find a value.
Returns:
the factor value for factor with given name or null if there is none.

getProtocolApplications

public java.util.List<ProtocolApplication> getProtocolApplications()

Specified by:
getProtocolApplications in interface ProtocolApplicable
Returns:
the ProtocolApplications representing the protocols applied to this.

addProtocolApplication

public void addProtocolApplication(ProtocolApplication pa)
Add the given protocol application to the protocol applications of this.

Specified by:
addProtocolApplication in interface ProtocolApplicable
Parameters:
pa - the protocol application to add

clearProtocolApplications

public void clearProtocolApplications()
Remove all protocol applications of this.

Specified by:
clearProtocolApplications in interface ProtocolApplicable

getLabeledExtracts

public java.util.Set<LabeledExtract> getLabeledExtracts()
Gets the labeledExtract.

Returns:
the labeledExtract

getExperiment

public Experiment getExperiment()
Get the experiment to which this node belongs.

Specified by:
getExperiment in class AbstractExperimentDesignNode
Returns:
the experiment to which this node belongs

setExperiment

public void setExperiment(Experiment experiment)
Parameters:
experiment - the experiment to set

toString

public java.lang.String toString()

Overrides:
toString in class AbstractCaArrayObject

getAmountOfMaterial

public float getAmountOfMaterial()
Returns:
the amountOfMaterial

setAmountOfMaterial

public void setAmountOfMaterial(float amountOfMaterial)
Parameters:
amountOfMaterial - the amountOfMaterial to set

getAmountOfMaterialUnit

public Term getAmountOfMaterialUnit()
Returns:
the amountOfMaterialUnit

setAmountOfMaterialUnit

public void setAmountOfMaterialUnit(Term amountOfMaterialUnit)
Parameters:
amountOfMaterialUnit - the amountOfMaterialUnit to set

getHybridizationData

public java.util.Set<HybridizationData> getHybridizationData()
Returns:
the hybridizationData

setHybridizationData

public void setHybridizationData(java.util.Set<HybridizationData> hybridizationData)
Parameters:
hybridizationData - the hybridizationData to set

getAllDataFiles

public java.util.Set<CaArrayFile> getAllDataFiles()

Specified by:
getAllDataFiles in class AbstractExperimentDesignNode
Returns:
all the data files related to this node.

relatedProtectables

public java.util.Collection<? extends gov.nih.nci.caarray.security.Protectable> relatedProtectables()

Specified by:
relatedProtectables in interface gov.nih.nci.caarray.security.ProtectableDescendent

getUncompressedSizeOfDataFiles

public int getUncompressedSizeOfDataFiles()
Returns:
the uncompressed size of all associated data files, in bytes

getNodeType

public ExperimentDesignNodeType getNodeType()

Specified by:
getNodeType in class AbstractExperimentDesignNode
Returns:
the type of this node

getDirectPredecessors

public java.util.Set<? extends AbstractExperimentDesignNode> getDirectPredecessors()

Specified by:
getDirectPredecessors in class AbstractExperimentDesignNode
Returns:
the set of all nodes that are immediately to the left of this node in the experment design or hybridization channel

getDirectSuccessors

public java.util.Set<? extends AbstractExperimentDesignNode> getDirectSuccessors()

Specified by:
getDirectSuccessors in class AbstractExperimentDesignNode
Returns:
the set of all nodes that are immediately to the right of this node in the experment design or hybridization channel

doAddDirectPredecessor

protected void doAddDirectPredecessor(AbstractExperimentDesignNode predecessor)
Actually add the new node as a direct predecessor of this node. subclasses must implement this method to actually perform the addition.

Specified by:
doAddDirectPredecessor in class AbstractExperimentDesignNode
Parameters:
predecessor - the new node. it is assumed this node is of the correct type

doAddDirectSuccessor

protected void doAddDirectSuccessor(AbstractExperimentDesignNode successor)
Actually add the new node as a direct successor of this node. subclasses must implement this method to actually perform the addition.

Specified by:
doAddDirectSuccessor in class AbstractExperimentDesignNode
Parameters:
successor - the new node. it is assumed this node is of the correct type

merge

public void merge(AbstractExperimentDesignNode node)
Merges another AbstractExperimentDesignNode into this one. For simple properties, the other node's value will only be used if the corresponding value in this is null. For unordered Collections, the collections will be merged. For ordered Lists, the specific behavior will be determined by the subclass. The behavior for other types of properties is dependent on subclasses but should be consistent with the behavior of simple properties.

Most of the information will actually be moved from node to this in preparation for deleting node.

Overrides:
merge in class AbstractExperimentDesignNode
Parameters:
node - node to merge into this