Interface BioAssayService

All Superinterfaces:
BaseImmutableService<BioAssay>, BaseReadOnlyService<BioAssay>, BaseService<BioAssay>, BaseVoEnabledService<BioAssay, BioAssayValueObject>, FilteringService<BioAssay>, FilteringVoEnabledService<BioAssay, BioAssayValueObject>, SecurableBaseImmutableService<BioAssay>, SecurableBaseReadOnlyService<BioAssay>, SecurableBaseService<BioAssay>, SecurableBaseVoEnabledService<BioAssay, BioAssayValueObject>, SecurableFilteringVoEnabledService<BioAssay, BioAssayValueObject>
All Known Implementing Classes:
BioAssayServiceImpl

Author:
kelsey
  • Method Details

    • addBioMaterialAssociation

      @PreAuthorize("hasPermission(#bioAssay, 'write') or hasPermission(#bioAssay, 'administration')") void addBioMaterialAssociation(BioAssay bioAssay, BioMaterial bioMaterial)
      Associates a bioMaterial with a specified bioAssay.
      Parameters:
      bioAssay - bio assay
      bioMaterial - bio material
    • findBioAssayDimensions

      @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<BioAssayDimension> findBioAssayDimensions(BioAssay bioAssay)
      Locate all BioAssayDimensions in which the selected BioAssay occurs
      Parameters:
      bioAssay - bio assay
      Returns:
      bio assay dimensions
    • findByShortName

      @Nullable @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostAuthorize("returnObject == null or hasPermission(returnObject, 'READ') or hasPermission(returnObject, 'ADMINISTRATION')") BioAssay findByShortName(String shortName)
    • findByAccession

      @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostFilter("hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'ADMINISTRATION')") Collection<BioAssay> findByAccession(String accession)
      Parameters:
      accession - eg GSM12345.
      Returns:
      BioAssays that match based on the plain accession (unconstrained by ExternalDatabase).
    • findSubBioAssays

      @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostFilter("hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'ADMINISTRATION')") Collection<BioAssay> findSubBioAssays(BioAssay bioAssay, boolean direct)
      See Also:
    • findSiblings

      @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostFilter("hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'ADMINISTRATION')") Collection<BioAssay> findSiblings(BioAssay bioAssay)
    • getBioAssaySets

      @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostFilter("hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'ADMINISTRATION')") Collection<BioAssaySet> getBioAssaySets(BioAssay bioAssay)
      Obtain all the BioAssaySet that contain the given BioAssay.
    • removeBioMaterialAssociation

      @Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void removeBioMaterialAssociation(BioAssay bioAssay, BioMaterial bioMaterial)
      Removes the association between a specific bioMaterial and a bioAssay.
      Parameters:
      bioAssay - bio assay
      bioMaterial - bio material
    • thaw

      @CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) BioAssay thaw(BioAssay bioAssay)
    • thaw

      @CheckReturnValue @Secured("IS_AUTHENTICATED_ANONYMOUSLY") @PostFilter("hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'ADMINISTRATION')") Collection<BioAssay> thaw(Collection<BioAssay> bioAssays)
    • loadValueObjects

      List<BioAssayValueObject> loadValueObjects(Collection<BioAssay> entities, @Nullable Map<BioAssay,BioAssay> assay2sourceAssayMap, boolean basic, boolean allFactorValues)
      See Also:
    • loadValueObjectsByCursorForExpressionExperiment

      @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) CursorPage<BioAssayValueObject> loadValueObjectsByCursorForExpressionExperiment(ExpressionExperiment ee, @Nullable Cursor cursor, int limit)
      Cursor-mode counterpart to the legacy unpaginated BioAssayDao EE-scoped sample listing — see CURSOR_PAGINATION_STEP1_PLAN.md step 1k. Always sorts by ascending id (primary key, indexed and unique); the cursor DAO restricts cursors to single-component id sorts until the index audit lands.
      See Also:
    • loadValueObjectsByCursorForSubSet

      @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) CursorPage<BioAssayValueObject> loadValueObjectsByCursorForSubSet(ExpressionExperimentSubSet subset, @Nullable Cursor cursor, int limit)
      Cursor-mode counterpart to the legacy unpaginated subset-scoped sample listing — see CURSOR_PAGINATION_STEP1_PLAN.md step 1u. Always sorts by ascending id (primary key, indexed and unique). The service layer is responsible for populating any assay2sourceAssayMap the caller wants surfaced on the returned BioAssayValueObjects after this call returns (the DAO does not build it).
      See Also: