Class BioMaterial

All Implemented Interfaces:
gemma.gsec.model.Securable, gemma.gsec.model.SecuredChild, Securable, SecuredChild, Describable, Identifiable

@Indexed public class BioMaterial extends AbstractDescribable implements SecuredChild
In MAGE, BioMaterial is an abstract class that represents the important substances such as cells, tissues, DNA, proteins, etc... In MAGE, Biomaterial subclasses such as BioSample and BioSource can be related to other biomaterial through a directed acyclic graph (represented by treatment(s)). In our implementation, we don't care so much about the experimental procedures and we just lump all of the BioMaterial into one class.

BioMaterial can be organized in a hierarchy via getSourceBioMaterial(). When that is the case, sub-biomaterials inherit characteristics, factors and treatments from their source biomaterials.

  • Field Details

  • Constructor Details

    • BioMaterial

      public BioMaterial()
  • Method Details

    • getId

      @DocumentId public Long getId()
      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 an object is a possibly ambiguous human-readable identifier that need not be an external database reference.
      Specified by:
      getName in interface Describable
      Overrides:
      getName in class AbstractDescribable
    • getSourceBioMaterial

      @Nullable public BioMaterial getSourceBioMaterial()
      Parent biomaterial or null if this is a top-level biomaterial.

      This is used to represent a sample derived from another sample. For example, you could have a bulk tissue sample that has been sorted per cell type. Each cell type would constitute a biomaterial with the bulk tissue as parent.

    • setSourceBioMaterial

      public void setSourceBioMaterial(@Nullable BioMaterial sourceBioMaterial)
    • getBioAssaysUsedIn

      @ContainedIn public Set<BioAssay> getBioAssaysUsedIn()
    • setBioAssaysUsedIn

      public void setBioAssaysUsedIn(Set<BioAssay> bioAssaysUsedIn)
    • getAllBioAssaysUsedIn

      public Set<BioAssay> getAllBioAssaysUsedIn()
      Obtain all the assays used in the hierarchy of biomaterials via getSourceBioMaterial().
      See Also:
    • getCharacteristics

      @IndexedEmbedded public Set<Characteristic> getCharacteristics()
    • setCharacteristics

      public void setCharacteristics(Set<Characteristic> characteristics)
    • getAllCharacteristics

      public Set<Characteristic> getAllCharacteristics()
      Obtain all the Characteristic associated to this biomaterial, including those inherited from its ancestors via getSourceBioMaterial().
      See Also:
    • getExternalAccession

      @Nullable @IndexedEmbedded public DatabaseEntry getExternalAccession()
      Returns:
      An optional external reference for this BioMaterial. In many cases this is the same as the accession for the related BioAssay. We store the information here to help make the data easier to trace. Note that more than one BioMaterial may reference a given external accession.
    • setExternalAccession

      public void setExternalAccession(@Nullable DatabaseEntry externalAccession)
    • getFactorValues

      public Set<FactorValue> getFactorValues()
      Obtain the values that this BioAssay is associated with for the experiment.
    • setFactorValues

      public void setFactorValues(Set<FactorValue> factorValues)
    • getAllFactorValues

      public Set<FactorValue> getAllFactorValues()
      Obtain all the FactorValue associated to this biomaterial, including those inherited from its ancestors via getSourceBioMaterial().
    • getSecurityOwner

      public Securable getSecurityOwner()
      Specified by:
      getSecurityOwner in interface gemma.gsec.model.SecuredChild
      Specified by:
      getSecurityOwner in interface SecuredChild
    • getSourceTaxon

      public Taxon getSourceTaxon()
    • setSourceTaxon

      public void setSourceTaxon(Taxon sourceTaxon)
    • getTreatments

      public Set<Treatment> getTreatments()
    • setTreatments

      public void setTreatments(Set<Treatment> treatments)
    • getAllTreatments

      public Set<Treatment> getAllTreatments()
      Obtain all treatments, including those inherited from its ancestors via getSourceBioMaterial().
    • equals

      public boolean equals(Object object)
      Description copied from class: AbstractIdentifiable
      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 AbstractIdentifiable