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.

    • Constructor Detail

      • BioMaterial

        public BioMaterial()
    • Method Detail

      • 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)
      • getCharacteristics

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

        public void setCharacteristics​(Set<Characteristic> characteristics)
      • 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.
      • getFactorValues

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

        public void setFactorValues​(Set<FactorValue> factorValues)
      • 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)
      • setTreatments

        public void setTreatments​(Set<Treatment> treatments)
      • 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