Class ArrayDesign

All Implemented Interfaces:
gemma.gsec.model.Securable, gemma.gsec.model.SecuredNotChild, Auditable, Curatable, Securable, SecuredNotChild, Describable, Identifiable

@Indexed public class ArrayDesign extends AbstractAuditable implements Curatable, SecuredNotChild
Represents an assembly of design elements that are assayed all at once.
Author:
Paul
  • Constructor Details

    • ArrayDesign

      public ArrayDesign()
      No-arg constructor added to satisfy javabean contract
  • Method Details

    • getId

      @DocumentId public Long getId()
      Description copied from interface: Identifiable
      Obtain the identifier of the object.
      Specified by:
      getId in interface Identifiable
      Specified by:
      getId in interface gemma.gsec.model.Securable
      Overrides:
      getId in class AbstractIdentifiable
    • getName

      @Field public String getName()
      Description copied from interface: Describable
      Obtain the name of the object.

      It may be human-readable.

      It is case-insensitive and usually unique within a certain context (e.g. in a collection).

      It is non-null by default, but implementation may override this with a Nullable annotation. If null, it should not be treated as equal to other Describable objects (i.e. there can be multiple null-named describable within a given set).

      Specified by:
      getName in interface Describable
      Overrides:
      getName in class AbstractDescribable
    • getDescription

      @Field(store=YES) public String getDescription()
      Description copied from interface: Describable
      Obtain a human-readable description of the object
      Specified by:
      getDescription in interface Describable
      Overrides:
      getDescription in class AbstractDescribable
    • getAdvertisedNumberOfDesignElements

      public Integer getAdvertisedNumberOfDesignElements()
      Returns:
      The number of design elements, according to the manufactuerer or determined at the time the array design was entered into the system. The actual number of design elements can only be determined by looking at the associated Set of DesignElements.
    • getAlternateNames

      @IndexedEmbedded public Set<AlternateName> getAlternateNames()
    • getAlternativeTo

      public ArrayDesign getAlternativeTo()
      Returns:
      true if this is an Affymetrix platform that has a related "canonical" platform we use instead.
    • getCompositeSequences

      public Set<CompositeSequence> getCompositeSequences()
    • getCurationDetails

      public CurationDetails getCurationDetails()
      Specified by:
      getCurationDetails in interface Curatable
    • getDesignProvider

      public Contact getDesignProvider()
    • getExternalReferences

      @IndexedEmbedded public Set<DatabaseEntry> getExternalReferences()
      Returns:
      Accessions for this array design in other databases, e.g., GEO, ArrayExpression.
    • getMergedInto

      public ArrayDesign getMergedInto()
    • getMergees

      public Set<ArrayDesign> getMergees()
    • getPrimaryTaxon

      public Taxon getPrimaryTaxon()
      Returns:
      The taxon the array design is for. This could be a non-specific taxon ("salmonid"). It may not match the sequences on the array exactly. For example, a mouse array might have some non-mouse sequences as controls, but the primary taxon is still mouse.
    • getShortName

      @Field(analyze=NO) public String getShortName()
      Returns:
      A brief unique (but optional) human-readable name for the expression experiment. For example in the past we often used names like "HG-U95A".
    • getSubsumedArrayDesigns

      public Set<ArrayDesign> getSubsumedArrayDesigns()
      Returns:
      Array designs that this array design "covers". For example, the HG-U133_Plus_2 array includes all the elements that are on the HG-U133A and HG-U133B, so they are subsumed by the HG-U133_Plus_2.
    • getSubsumingArrayDesign

      public ArrayDesign getSubsumingArrayDesign()
      Returns:
      An array design that subsumes this one (contains DesignElements that are equivalent to the ones on this arraydesign).
    • getTechnologyType

      public TechnologyType getTechnologyType()
    • setAdvertisedNumberOfDesignElements

      public void setAdvertisedNumberOfDesignElements(Integer advertisedNumberOfDesignElements)
    • setAlternateNames

      public void setAlternateNames(Set<AlternateName> alternateNames)
    • setAlternativeTo

      public void setAlternativeTo(ArrayDesign alternativeTo)
    • setCompositeSequences

      public void setCompositeSequences(Set<CompositeSequence> compositeSequences)
    • setCurationDetails

      public void setCurationDetails(CurationDetails curationDetails)
      Specified by:
      setCurationDetails in interface Curatable
    • setDesignProvider

      public void setDesignProvider(Contact designProvider)
    • setExternalReferences

      public void setExternalReferences(Set<DatabaseEntry> externalReferences)
    • setMergedInto

      public void setMergedInto(ArrayDesign mergedInto)
    • setMergees

      public void setMergees(Set<ArrayDesign> mergees)
    • setPrimaryTaxon

      public void setPrimaryTaxon(Taxon primaryTaxon)
    • setShortName

      public void setShortName(String shortName)
    • setSubsumedArrayDesigns

      public void setSubsumedArrayDesigns(Set<ArrayDesign> subsumedArrayDesigns)
    • setSubsumingArrayDesign

      public void setSubsumingArrayDesign(ArrayDesign subsumingArrayDesign)
    • setTechnologyType

      public void setTechnologyType(TechnologyType technologyType)
    • hashCode

      public int hashCode()
      Description copied from class: AbstractDescribable
      The default hash code for a describable is based on its name, ignoring case.

      Important note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.

      Overrides:
      hashCode in class AbstractDescribable
    • equals

      public boolean equals(Object object)
      Description copied from class: AbstractDescribable
      Important note: The name should be compared in a case-insensitive manner. You can use DescribableUtils.equalsByName(Describable, Describable) to get the correct behavior.

      Important note: Two objects with the same class and non-null ID must be considered equal. If one or both IDs are nulls, the rest of the state can be used to determine equality.

      Specified by:
      equals in class AbstractDescribable
    • toString

      public String toString()
      Overrides:
      toString in class AbstractDescribable