Interface ArrayDesignService
- All Superinterfaces:
BaseImmutableService<ArrayDesign>,BaseReadOnlyService<ArrayDesign>,BaseService<ArrayDesign>,BaseVoEnabledService<ArrayDesign,,ArrayDesignValueObject> FilteringService<ArrayDesign>,FilteringVoEnabledService<ArrayDesign,,ArrayDesignValueObject> SecurableBaseImmutableService<ArrayDesign>,SecurableBaseReadOnlyService<ArrayDesign>,SecurableBaseService<ArrayDesign>,SecurableBaseVoEnabledService<ArrayDesign,,ArrayDesignValueObject> SecurableFilteringVoEnabledService<ArrayDesign,ArrayDesignValueObject>
- All Known Implementing Classes:
ArrayDesignServiceImpl
public interface ArrayDesignService
extends SecurableBaseService<ArrayDesign>, SecurableFilteringVoEnabledService<ArrayDesign,ArrayDesignValueObject>
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddProbes(ArrayDesign arrayDesign, Collection<CompositeSequence> newProbes) longcountBioSequences(ArrayDesign arrayDesign) returns the number of bioSequences associated with this ArrayDesign idlongcountBlatResults(ArrayDesign arrayDesign) returns the number of BlatResults (BioSequence2GeneProduct) entries associated with this ArrayDesign id.longcountCompositeSequences(ArrayDesign arrayDesign) longFunction to return a count of all compositeSequences with bioSequence associationslongcountCompositeSequencesWithBioSequences(ArrayDesign arrayDesign) longFunction to return all composite sequences with blat resultslongcountCompositeSequencesWithBlatResults(ArrayDesign arrayDesign) longcountCompositeSequencesWithGenes(boolean useGene2Cs) Function to return a count of all composite sequences with associated genes.longcountCompositeSequencesWithGenes(ArrayDesign arrayDesign, boolean useGene2Cs) longcountExpressionExperiments(ArrayDesign arrayDesign) longcountGenes(boolean useGene2Cs) Returns a count of the number of genes associated with an array design.longcountGenes(ArrayDesign arrayDesign, boolean useGene2Cs) Returns the number of unique Genes associated with this ArrayDesign idlonglongcountWithCache(Filters filters) voiddeleteAlignmentData(ArrayDesign arrayDesign) remove sequence alignment results associated with the bioSequences for this array design.voiddeleteGeneProductAlignmentAssociations(ArrayDesign arrayDesign) voiddeleteGeneProductAnnotationAssociations(ArrayDesign arrayDesign) voiddeleteGeneProductAssociations(ArrayDesign arrayDesign) deletes the gene product associations on the specified array design.findByAlternateName(String queryString) findByManufacturer(String searchString) findByName(String name) findByShortName(String shortName) findByTaxon(Taxon taxon) Find by the primary taxon.findOneByAlternateName(String name) findOneByName(String name) getAlignments(ArrayDesign arrayDesign) Retrieves alignments for the platform elements, limited to those which map to a gene product (so not all blat results)getAllAssociatedBioAssays(ArrayDesign arrayDesign) getBioSequences(ArrayDesign arrayDesign) Return all the (unique) biosequences associated with the array design.getCompositeSequences(ArrayDesign arrayDesign) getCompositeSequences(ArrayDesign arrayDesign, int limit, int offset) getExpressionExperiments(ArrayDesign arrayDesign) getGenes(ArrayDesign arrayDesign, boolean useGene2Cs) getGenesByCompositeSequence(Collection<ArrayDesign> arrayDesign, boolean useGene2Cs) getGenesByCompositeSequence(ArrayDesign arrayDesign, boolean useGene2Cs) getLastGeneMapping(Collection<Long> ids) Gets the AuditEvents of the latest gene mapping for the specified array design ids.Gets the AuditEvents of the latest sequence analyses for the specified array design ids.Gets the AuditEvents of the latest sequence update for the specified array design ids.Get the ids of experiments that "originally" used this platform, but which don't any more due to a platform switch.getTaxaFromBioSequences(ArrayDesign arrayDesign) Return the taxa for the array design.isMerged(Collection<Long> ids) isMergee(Collection<Long> ids) isSubsumed(Collection<Long> ids) isSubsumer(Collection<Long> ids) Load *generic* gene-based platforms.loadAndThaw(Long id) <T extends Exception>
ArrayDesignloadAndThawLiteOrFail(Long id, Function<String, T> exceptionSupplier, String message) Load a platform by ID and thaw it withthawLite(ArrayDesign)loadBlacklistedValueObjects(Filters filters, Sort sort, int offset, int limit) No need for ACL_VALUE_OBJECT_COLLECTION_READ because the filtering is done in the query.loadValueObjectsForEE(Long eeId) Loads the Value Objects for array designs used by expression experiment with the given IDloadValueObjectsWithCache(Filters filters, Sort sort) voidremoveBiologicalCharacteristics(ArrayDesign arrayDesign) Remove all associations that this array design has with BioSequences.thaw(Collection<ArrayDesign> aas) Thaw a collection of platforms.thaw(ArrayDesign arrayDesign) Thaw a given platform.thawCompositeSequences(ArrayDesign arrayDesign) Thaw the composite sequences of a given platformthawLite(Collection<ArrayDesign> arrayDesigns) thawLite(ArrayDesign arrayDesign) Perform a less intensive thaw of an array design: not the composite sequences.booleanupdateSubsumingStatus(ArrayDesign candidateSubsumer, ArrayDesign candidateSubsumee) Test whether the candidateSubsumer subsumes the candidateSubsumee.Methods inherited from interface ubic.gemma.persistence.service.BaseReadOnlyService
countAll, getElementClass, loadOrFail, loadOrFailMethods inherited from interface ubic.gemma.persistence.service.FilteringService
count, getFilter, getFilter, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyConfigAttributes, getFilterablePropertyDescription, getFilterablePropertyResolvableAllowedValuesLabels, getFilterablePropertyType, getSort, isFilterablePropertyDeprecated, isFilterablePropertyUsingSubqueryMethods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseImmutableService
create, create, findOrCreate, remove, removeMethods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseReadOnlyService
find, findOrFail, load, load, loadAll, loadOrFail, loadOrFail, loadOrFail, loadOrFail, streamAll, streamAllMethods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseService
save, save, update, updateMethods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseVoEnabledService
loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIdsMethods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableFilteringVoEnabledService
load, load, loadIds, loadValueObjects, loadValueObjects
-
Method Details
-
loadAllGenericGenePlatforms
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> loadAllGenericGenePlatforms()Load *generic* gene-based platforms. -
loadAndThaw
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) ArrayDesign loadAndThaw(Long id) -
loadAndThawLiteOrFail
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) <T extends Exception> ArrayDesign loadAndThawLiteOrFail(Long id, Function<String, T> exceptionSupplier, String message) throws TLoad a platform by ID and thaw it withthawLite(ArrayDesign)- Throws:
T
-
loadWithAuditTrail
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ArrayDesign loadWithAuditTrail(Long id) -
addProbes
@Secured("GROUP_ADMIN") void addProbes(ArrayDesign arrayDesign, Collection<CompositeSequence> newProbes) -
deleteAlignmentData
remove sequence alignment results associated with the bioSequences for this array design. This can indirectly * affect other platforms that use the same sequences.- Parameters:
arrayDesign- AD
-
deleteGeneProductAssociations
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void deleteGeneProductAssociations(ArrayDesign arrayDesign) deletes the gene product associations on the specified array design. If you only want to delete alignment-based or annotation-based associations, use deleteGeneProductAlignmentAssociation deleteGeneProductAnnotationAssociations.- Parameters:
arrayDesign- AD
-
findByAlternateName
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> findByAlternateName(String queryString) -
findOneByAlternateName
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ArrayDesign findOneByAlternateName(String name) -
findByManufacturer
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> findByManufacturer(String searchString) -
findByName
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> findByName(String name) -
findByCompositeSequenceName
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> findByCompositeSequenceName(String name) -
findOneByName
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ArrayDesign findOneByName(String name) -
findByShortName
@Nullable @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ_QUIET"}) ArrayDesign findByShortName(String shortName) -
findByTaxon
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> findByTaxon(Taxon taxon) Find by the primary taxon.- Parameters:
taxon- taxon- Returns:
- ADs
-
getAlignments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<CompositeSequence,Collection<BlatResult>> getAlignments(ArrayDesign arrayDesign) Retrieves alignments for the platform elements, limited to those which map to a gene product (so not all blat results)- Parameters:
arrayDesign- AD- Returns:
- map of composite sequences to alignments, if available.
-
getAllAssociatedBioAssays
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<BioAssay> getAllAssociatedBioAssays(ArrayDesign arrayDesign) -
getBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<CompositeSequence,BioSequence> getBioSequences(ArrayDesign arrayDesign) Return all the (unique) biosequences associated with the array design. Composite sequences that don't have sequences are also returned, so this can be used to do a thawRawAndProcessed, in effect.- Parameters:
arrayDesign- AD- Returns:
- map of composite seqs. to bio seqs.
-
getGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<Gene> getGenes(ArrayDesign arrayDesign, boolean useGene2Cs) - See Also:
-
getGenesByCompositeSequence
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Map<CompositeSequence,Set<Gene>> getGenesByCompositeSequence(ArrayDesign arrayDesign, boolean useGene2Cs) - See Also:
-
getGenesByCompositeSequence
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_COLLECTION_READ"}) Map<CompositeSequence,Set<Gene>> getGenesByCompositeSequence(Collection<ArrayDesign> arrayDesign, boolean useGene2Cs) -
getCompositeSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<CompositeSequence> getCompositeSequences(ArrayDesign arrayDesign) -
getCompositeSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<CompositeSequence> getCompositeSequences(ArrayDesign arrayDesign, int limit, int offset) -
countCompositeSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countCompositeSequences(ArrayDesign arrayDesign) -
getExpressionExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> getExpressionExperiments(ArrayDesign arrayDesign) -
countExpressionExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countExpressionExperiments(ArrayDesign arrayDesign) -
getLastGeneMapping
Gets the AuditEvents of the latest gene mapping for the specified array design ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.- Parameters:
ids- ids- Returns:
- map of IDs to events
-
getLastRepeatAnalysis
-
getLastSequenceAnalysis
Gets the AuditEvents of the latest sequence analyses for the specified array design ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.- Parameters:
ids- ids- Returns:
- map of IDs to events
-
getLastSequenceUpdate
Gets the AuditEvents of the latest sequence update for the specified array design ids. This returns a map of id -> AuditEvent. If the events do not exist, the map entry will point to null.- Parameters:
ids- ids- Returns:
- map of IDs to events
-
getSwitchedExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> getSwitchedExperiments(ArrayDesign id) Get the ids of experiments that "originally" used this platform, but which don't any more due to a platform switch. Note that for some old platforms we may not have recorded this information.- Parameters:
id- id of the platform- Returns:
- collection of EE ids
-
countSwitchedExpressionExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countSwitchedExpressionExperiments(ArrayDesign id) -
getPerTaxonCount
- Returns:
- a map of taxon -> count of how many array designs there are for that taxon. Taxa with no arrays are excluded.
-
getTaxaFromBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<Taxon> getTaxaFromBioSequences(ArrayDesign arrayDesign) Return the taxa for the array design. This can be multiple, or zero if the array is not processed.- Parameters:
arrayDesign- The id of the array design- Returns:
- The Set of Taxons for array design.
-
isMerged
-
isMergee
-
isSubsumed
-
isSubsumer
-
loadValueObjectsForEE
Loads the Value Objects for array designs used by expression experiment with the given ID- Parameters:
eeId- the id of an expression experiment- Returns:
- AD VOs
-
countCompositeSequencesWithBioSequences
long countCompositeSequencesWithBioSequences()Function to return a count of all compositeSequences with bioSequence associations- Returns:
- count
-
countCompositeSequencesWithBlatResults
long countCompositeSequencesWithBlatResults()Function to return all composite sequences with blat results- Returns:
- count
-
countCompositeSequencesWithGenes
long countCompositeSequencesWithGenes(boolean useGene2Cs) Function to return a count of all composite sequences with associated genes.- Returns:
- count
-
countGenes
long countGenes(boolean useGene2Cs) Returns a count of the number of genes associated with an array design.- Returns:
- count
-
countBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countBioSequences(ArrayDesign arrayDesign) returns the number of bioSequences associated with this ArrayDesign id- Parameters:
arrayDesign- AD- Returns:
- count
-
countBlatResults
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countBlatResults(ArrayDesign arrayDesign) returns the number of BlatResults (BioSequence2GeneProduct) entries associated with this ArrayDesign id.- Parameters:
arrayDesign- AD- Returns:
- count
-
countCompositeSequencesWithBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countCompositeSequencesWithBioSequences(ArrayDesign arrayDesign) -
countCompositeSequencesWithBlatResults
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countCompositeSequencesWithBlatResults(ArrayDesign arrayDesign) -
countCompositeSequencesWithGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countCompositeSequencesWithGenes(ArrayDesign arrayDesign, boolean useGene2Cs) -
countGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long countGenes(ArrayDesign arrayDesign, boolean useGene2Cs) Returns the number of unique Genes associated with this ArrayDesign id- Parameters:
arrayDesign- AD- Returns:
- count
-
removeBiologicalCharacteristics
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void removeBiologicalCharacteristics(ArrayDesign arrayDesign) Remove all associations that this array design has with BioSequences. This is needed for cases where the original import has associated the probes with the wrong sequences. A common case is for GEO data sets where the actual oligonucleotide is not given. Instead the submitter provides GenBank accessions, which are misleading. This method can be used to clear those until the "right" sequences can be identified and filled in. Note that this does not remove the BioSequences, it just nulls the BiologicalCharacteristics of the CompositeSequences.- Parameters:
arrayDesign- AD
-
thaw
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ArrayDesign thaw(ArrayDesign arrayDesign) Thaw a given platform.- See Also:
-
thaw
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> thaw(Collection<ArrayDesign> aas) Thaw a collection of platforms.- See Also:
-
thawCompositeSequences
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ArrayDesign thawCompositeSequences(ArrayDesign arrayDesign) Thaw the composite sequences of a given platform- See Also:
-
thawCompositeSequences
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> thawCompositeSequences(Collection<ArrayDesign> ads) -
thawLite
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) ArrayDesign thawLite(ArrayDesign arrayDesign) Perform a less intensive thaw of an array design: not the composite sequences.- Parameters:
arrayDesign- AD- Returns:
- AD
-
thawLite
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> thawLite(Collection<ArrayDesign> arrayDesigns) -
updateSubsumingStatus
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) boolean updateSubsumingStatus(ArrayDesign candidateSubsumer, ArrayDesign candidateSubsumee) Test whether the candidateSubsumer subsumes the candidateSubsumee. If so, the array designs are updated to reflect this fact. The boolean value returned indicates whether there was indeed a subsuming relationship found.- Parameters:
candidateSubsumer- candidate subsumercandidateSubsumee- candidate subsumee- Returns:
- success
-
deleteGeneProductAnnotationAssociations
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void deleteGeneProductAnnotationAssociations(ArrayDesign arrayDesign) -
deleteGeneProductAlignmentAssociations
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void deleteGeneProductAlignmentAssociations(ArrayDesign arrayDesign) -
loadBlacklistedValueObjects
@Secured("GROUP_ADMIN") Slice<ArrayDesignValueObject> loadBlacklistedValueObjects(@Nullable Filters filters, @Nullable Sort sort, int offset, int limit) No need for ACL_VALUE_OBJECT_COLLECTION_READ because the filtering is done in the query.- See Also:
-
loadValueObjectsWithCache
@Secured("IS_AUTHENTICATED_ANONYMOUSLY") Collection<ArrayDesignValueObject> loadValueObjectsWithCache(@Nullable Filters filters, @Nullable Sort sort) -
countWithCache
-