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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addProbes(ArrayDesign arrayDesign, Collection<CompositeSequence> newProbes)
long
countWithCache(Filters filters)
void
deleteAlignmentData(ArrayDesign arrayDesign)
remove sequence alignment results associated with the bioSequences for this array design.void
deleteGeneProductAlignmentAssociations(ArrayDesign arrayDesign)
void
deleteGeneProductAnnotationAssociations(ArrayDesign arrayDesign)
void
deleteGeneProductAssociations(ArrayDesign arrayDesign)
deletes the gene product associations on the specified array design.Collection<ArrayDesign>
findByAlternateName(String queryString)
Collection<ArrayDesign>
findByManufacturer(String searchString)
Collection<ArrayDesign>
findByName(String name)
ArrayDesign
findByShortName(String shortName)
Collection<ArrayDesign>
findByTaxon(Taxon taxon)
Find by the primary taxon.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)Collection<BioAssay>
getAllAssociatedBioAssays(ArrayDesign arrayDesign)
Map<CompositeSequence,BioSequence>
getBioSequences(ArrayDesign arrayDesign)
Return all the (unique) biosequences associated with the array design.Long
getCompositeSequenceCount(ArrayDesign arrayDesign)
Collection<CompositeSequence>
getCompositeSequences(ArrayDesign arrayDesign)
Collection<CompositeSequence>
getCompositeSequences(ArrayDesign arrayDesign, int limit, int offset)
Collection<ExpressionExperiment>
getExpressionExperiments(ArrayDesign arrayDesign)
long
getExpressionExperimentsCount(ArrayDesign arrayDesign)
Collection<Gene>
getGenes(ArrayDesign arrayDesign)
Obtain all the genes associated to the platform.Map<Long,AuditEvent>
getLastGeneMapping(Collection<Long> ids)
Gets the AuditEvents of the latest gene mapping for the specified array design ids.Map<Long,AuditEvent>
getLastRepeatAnalysis(Collection<Long> ids)
Map<Long,AuditEvent>
getLastSequenceAnalysis(Collection<Long> ids)
Gets the AuditEvents of the latest sequence analyses for the specified array design ids.Map<Long,AuditEvent>
getLastSequenceUpdate(Collection<Long> ids)
Gets the AuditEvents of the latest sequence update for the specified array design ids.Map<Taxon,Long>
getPerTaxonCount()
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.long
getSwitchedExpressionExperimentCount(ArrayDesign id)
Collection<Taxon>
getTaxa(ArrayDesign arrayDesign)
Return the taxa for the array design.Taxon
getTaxon(Long id)
boolean
isBlackListed(String geoAccession)
Map<Long,Boolean>
isMerged(Collection<Long> ids)
Map<Long,Boolean>
isMergee(Collection<Long> ids)
Map<Long,Boolean>
isSubsumed(Collection<Long> ids)
Map<Long,Boolean>
isSubsumer(Collection<Long> ids)
<T extends Exception>
ArrayDesignloadAndThawLiteOrFail(Long id, Function<String,T> exceptionSupplier, String message)
Load a platform by ID and thaw it withthawLite(ArrayDesign)
Slice<ArrayDesignValueObject>
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.List<ArrayDesignValueObject>
loadValueObjectsForEE(Long eeId)
Loads the Value Objects for array designs used by expression experiment with the given IDCollection<ArrayDesignValueObject>
loadValueObjectsWithCache(Filters filters, Sort sort)
long
numAllCompositeSequenceWithBioSequences()
Function to return a count of all compositeSequences with bioSequence associationslong
numAllCompositeSequenceWithBioSequences(Collection<Long> ids)
Function to return the count of all composite sequences with biosequences, given a list of array design Idslong
numAllCompositeSequenceWithBlatResults()
Function to return all composite sequences with blat resultslong
numAllCompositeSequenceWithBlatResults(Collection<Long> ids)
Function to return the count of all composite sequences with blat results, given a list of array design Idslong
numAllCompositeSequenceWithGenes()
Function to return a count of all composite sequences with associated genes.long
numAllCompositeSequenceWithGenes(Collection<Long> ids)
Function to return the count of all composite sequences with genes, given a list of array design Idslong
numAllGenes()
Returns a count of the number of genes associated with all arrayDesignslong
numAllGenes(Collection<Long> ids)
Returns the number of unique Genes associated with the collection of ArrayDesign ids.long
numBioSequences(ArrayDesign arrayDesign)
returns the number of bioSequences associated with this ArrayDesign idlong
numBlatResults(ArrayDesign arrayDesign)
returns the number of BlatResults (BioSequence2GeneProduct) entries associated with this ArrayDesign id.long
numCompositeSequenceWithBioSequences(ArrayDesign arrayDesign)
long
numCompositeSequenceWithBlatResults(ArrayDesign arrayDesign)
long
numCompositeSequenceWithGenes(ArrayDesign arrayDesign)
long
numExperiments(ArrayDesign arrayDesign)
long
numGenes(ArrayDesign arrayDesign)
Returns the number of unique Genes associated with this ArrayDesign idvoid
removeBiologicalCharacteristics(ArrayDesign arrayDesign)
Remove all associations that this array design has with BioSequences.Collection<ArrayDesign>
thaw(Collection<ArrayDesign> aas)
Thaw a collection of platforms.ArrayDesign
thaw(ArrayDesign arrayDesign)
Thaw a given platform.Collection<ArrayDesign>
thawLite(Collection<ArrayDesign> arrayDesigns)
ArrayDesign
thawLite(ArrayDesign arrayDesign)
Perform a less intensive thaw of an array design: not the composite sequences.Boolean
updateSubsumingStatus(ArrayDesign candidateSubsumer, ArrayDesign candidateSubsumee)
Test whether the candidateSubsumer subsumes the candidateSubsumee.-
Methods inherited from interface ubic.gemma.persistence.service.BaseReadOnlyService
countAll, getElementClass
-
Methods inherited from interface ubic.gemma.persistence.service.FilteringService
count, getFilter, getFilter, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyConfigAttributes, getFilterablePropertyDescription, getFilterablePropertyIsUsingSubquery, getFilterablePropertyResolvableAllowedValuesLabels, getFilterablePropertyType, getIdentifierPropertyName, getSort
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseImmutableService
create, create, findOrCreate, remove, remove, remove
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseReadOnlyService
find, findOrFail, load, load, loadAll, loadOrFail, loadOrFail, loadOrFail, loadOrFail
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseService
save, save, update, update
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableBaseVoEnabledService
loadAllValueObjects, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjectsByIds
-
Methods inherited from interface ubic.gemma.persistence.service.common.auditAndSecurity.SecurableFilteringVoEnabledService
load, load, loadIds, loadValueObjects, loadValueObjects
-
-
-
-
Method Detail
-
loadAndThawLiteOrFail
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_READ"}) <T extends Exception> ArrayDesign loadAndThawLiteOrFail(Long id, Function<String,T> exceptionSupplier, String message) throws T extends Exception
Load a platform by ID and thaw it withthawLite(ArrayDesign)
- Throws:
T extends Exception
-
addProbes
@Secured("GROUP_ADMIN") void addProbes(ArrayDesign arrayDesign, Collection<CompositeSequence> newProbes)
-
deleteAlignmentData
@Secured({"GROUP_USER","ACL_SECURABLE_EDIT"}) void deleteAlignmentData(ArrayDesign arrayDesign)
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)
-
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)
-
findByShortName
@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.
-
getCompositeSequenceCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Long getCompositeSequenceCount(ArrayDesign arrayDesign)
-
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)
-
getGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) Collection<Gene> getGenes(ArrayDesign arrayDesign)
Obtain all the genes associated to the platform.
-
getExpressionExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ","AFTER_ACL_COLLECTION_READ"}) Collection<ExpressionExperiment> getExpressionExperiments(ArrayDesign arrayDesign)
-
getExpressionExperimentsCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long getExpressionExperimentsCount(ArrayDesign arrayDesign)
-
getLastGeneMapping
Map<Long,AuditEvent> getLastGeneMapping(Collection<Long> ids)
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
Map<Long,AuditEvent> getLastRepeatAnalysis(Collection<Long> ids)
-
getLastSequenceAnalysis
Map<Long,AuditEvent> getLastSequenceAnalysis(Collection<Long> ids)
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
Map<Long,AuditEvent> getLastSequenceUpdate(Collection<Long> ids)
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
-
getSwitchedExpressionExperimentCount
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long getSwitchedExpressionExperimentCount(ArrayDesign id)
-
getPerTaxonCount
Map<Taxon,Long> getPerTaxonCount()
- Returns:
- a map of taxon -> count of how many array designs there are for that taxon. Taxa with no arrays are excluded.
-
getTaxa
Collection<Taxon> getTaxa(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
Map<Long,Boolean> isMerged(Collection<Long> ids)
-
isMergee
Map<Long,Boolean> isMergee(Collection<Long> ids)
-
isSubsumed
Map<Long,Boolean> isSubsumed(Collection<Long> ids)
-
isSubsumer
Map<Long,Boolean> isSubsumer(Collection<Long> ids)
-
loadValueObjectsForEE
List<ArrayDesignValueObject> loadValueObjectsForEE(Long eeId)
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
-
numAllCompositeSequenceWithBioSequences
long numAllCompositeSequenceWithBioSequences()
Function to return a count of all compositeSequences with bioSequence associations- Returns:
- count
-
numAllCompositeSequenceWithBioSequences
long numAllCompositeSequenceWithBioSequences(Collection<Long> ids)
Function to return the count of all composite sequences with biosequences, given a list of array design Ids- Parameters:
ids
- ids- Returns:
- count
-
numAllCompositeSequenceWithBlatResults
long numAllCompositeSequenceWithBlatResults()
Function to return all composite sequences with blat results- Returns:
- count
-
numAllCompositeSequenceWithBlatResults
long numAllCompositeSequenceWithBlatResults(Collection<Long> ids)
Function to return the count of all composite sequences with blat results, given a list of array design Ids- Parameters:
ids
- ids- Returns:
- count
-
numAllCompositeSequenceWithGenes
long numAllCompositeSequenceWithGenes()
Function to return a count of all composite sequences with associated genes.- Returns:
- count
-
numAllCompositeSequenceWithGenes
long numAllCompositeSequenceWithGenes(Collection<Long> ids)
Function to return the count of all composite sequences with genes, given a list of array design Ids- Parameters:
ids
- ids- Returns:
- count
-
numAllGenes
long numAllGenes()
Returns a count of the number of genes associated with all arrayDesigns- Returns:
- count
-
numAllGenes
long numAllGenes(Collection<Long> ids)
Returns the number of unique Genes associated with the collection of ArrayDesign ids.- Parameters:
ids
- ids- Returns:
- count
-
numBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numBioSequences(ArrayDesign arrayDesign)
returns the number of bioSequences associated with this ArrayDesign id- Parameters:
arrayDesign
- AD- Returns:
- count
-
numBlatResults
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numBlatResults(ArrayDesign arrayDesign)
returns the number of BlatResults (BioSequence2GeneProduct) entries associated with this ArrayDesign id.- Parameters:
arrayDesign
- AD- Returns:
- count
-
numCompositeSequenceWithBioSequences
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numCompositeSequenceWithBioSequences(ArrayDesign arrayDesign)
-
numCompositeSequenceWithBlatResults
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numCompositeSequenceWithBlatResults(ArrayDesign arrayDesign)
-
numCompositeSequenceWithGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numCompositeSequenceWithGenes(ArrayDesign arrayDesign)
-
numExperiments
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numExperiments(ArrayDesign arrayDesign)
- Parameters:
arrayDesign
- AD- Returns:
- how many experiments use this platform (not including experiment subsets) security filtered
-
numGenes
@Secured({"IS_AUTHENTICATED_ANONYMOUSLY","ACL_SECURABLE_READ"}) long numGenes(ArrayDesign arrayDesign)
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:
ArrayDesignDao.thaw(ArrayDesign)
-
thaw
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> thaw(Collection<ArrayDesign> aas)
Thaw a collection of platforms.- See Also:
ArrayDesignDao.thaw(ArrayDesign)
-
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:
candidateSubsumee
- candidate subsumeecandidateSubsumer
- candidate subsumer- Returns:
- success
-
isBlackListed
boolean isBlackListed(String geoAccession)
- Parameters:
geoAccession
- for a GEO series or platform
-
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.
-
loadValueObjectsWithCache
@Secured("IS_AUTHENTICATED_ANONYMOUSLY") Collection<ArrayDesignValueObject> loadValueObjectsWithCache(@Nullable Filters filters, @Nullable Sort sort)
-
-