Class CompositeSequenceValueObject

java.lang.Object
ubic.gemma.model.common.IdentifiableValueObject<CompositeSequence>
ubic.gemma.model.expression.designElement.CompositeSequenceValueObject
All Implemented Interfaces:
Serializable, Identifiable

public class CompositeSequenceValueObject extends IdentifiableValueObject<CompositeSequence>
Author:
anton
See Also:
  • Constructor Details

    • CompositeSequenceValueObject

      public CompositeSequenceValueObject()
      Required when using the class as a spring bean.
    • CompositeSequenceValueObject

      public CompositeSequenceValueObject(Long id)
    • CompositeSequenceValueObject

      public CompositeSequenceValueObject(CompositeSequence cs)
    • CompositeSequenceValueObject

      public CompositeSequenceValueObject(CompositeSequence cs, ArrayDesignValueObject arrayDesign)
      Constructor that reuses an existing ArrayDesignValueObject.
  • Method Details

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class IdentifiableValueObject<CompositeSequence>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class IdentifiableValueObject<CompositeSequence>
    • getName

      public String getName()
    • getDescription

      public String getDescription()
    • getArrayDesign

      public ArrayDesignValueObject getArrayDesign()
    • getGeneMappingSummaries

      @Nullable public List<GeneMappingSummaryValueObject> getGeneMappingSummaries()
      Per-alignment gene mappings for this element, or null when the caller did not ask for them (only GET /platforms/{platform}/elements/{probe}/mappingSummary populates this).

      An EMPTY list means the probe has no gene mappings — a real answer, distinct from the field being absent. Until 2026-08-22 this field was @JsonIgnored while the endpoint computed it, so the mappingSummary response silently omitted the key altogether and a client could not tell a missing feature from a probe with no alignments.

    • getSequence

      @Nullable public String getSequence()
      Raw probe sequence from the associated BioSequence.sequence. Populated only when the caller opts in via ?withSequence=true on the platform-elements endpoint (otherwise null and elided from the wire by @JsonInclude(NON_NULL)). Kept out of the default response because sequences are 25-300bp per probe and would inflate a 22k-element platform listing by ~1 MB.
    • getSequenceLength

      @Nullable public Long getSequenceLength()
      Pre-computed length from BioSequence.length, exposed alongside sequence. Independent so a caller can request length without paying the full-string cost (future-proofing; for now both come together with ?withSequence=true).
    • getGenes

      @Nullable public List<GeneReferenceValueObject> getGenes()
      Compact identities of the genes this element maps to, via the denormalized GENE2CS table.

      Populated only when the caller opts in via ?withGenes=true on the platform-elements endpoints (otherwise null and elided from the wire by @JsonInclude(NON_NULL)). Off by default for the same reason as sequence: the mapping is a second query per page, and most callers paging a 22k-element platform listing never render the column.

      An empty list means "this element maps to no gene" — distinct from null, which means "not requested". A probe with no gene mapping still gets [] when withGenes=true, so a client can tell a real negative from an unpopulated field.

    • setName

      public void setName(String name)
    • setDescription

      public void setDescription(String description)
    • setArrayDesign

      public void setArrayDesign(ArrayDesignValueObject arrayDesign)
    • setGeneMappingSummaries

      public void setGeneMappingSummaries(@Nullable List<GeneMappingSummaryValueObject> geneMappingSummaries)
      Per-alignment gene mappings for this element, or null when the caller did not ask for them (only GET /platforms/{platform}/elements/{probe}/mappingSummary populates this).

      An EMPTY list means the probe has no gene mappings — a real answer, distinct from the field being absent. Until 2026-08-22 this field was @JsonIgnored while the endpoint computed it, so the mappingSummary response silently omitted the key altogether and a client could not tell a missing feature from a probe with no alignments.

    • setSequence

      public void setSequence(@Nullable String sequence)
      Raw probe sequence from the associated BioSequence.sequence. Populated only when the caller opts in via ?withSequence=true on the platform-elements endpoint (otherwise null and elided from the wire by @JsonInclude(NON_NULL)). Kept out of the default response because sequences are 25-300bp per probe and would inflate a 22k-element platform listing by ~1 MB.
    • setSequenceLength

      public void setSequenceLength(@Nullable Long sequenceLength)
      Pre-computed length from BioSequence.length, exposed alongside sequence. Independent so a caller can request length without paying the full-string cost (future-proofing; for now both come together with ?withSequence=true).
    • setGenes

      public void setGenes(@Nullable List<GeneReferenceValueObject> genes)
      Compact identities of the genes this element maps to, via the denormalized GENE2CS table.

      Populated only when the caller opts in via ?withGenes=true on the platform-elements endpoints (otherwise null and elided from the wire by @JsonInclude(NON_NULL)). Off by default for the same reason as sequence: the mapping is a second query per page, and most callers paging a 22k-element platform listing never render the column.

      An empty list means "this element maps to no gene" — distinct from null, which means "not requested". A probe with no gene mapping still gets [] when withGenes=true, so a client can tell a real negative from an unpopulated field.