Interface ArrayDesignService
-
- All Superinterfaces:
BaseImmutableService<ArrayDesign>,BaseReadOnlyService<ArrayDesign>,BaseService<ArrayDesign>,BaseVoEnabledService<ArrayDesign,ArrayDesignValueObject>,CuratableService<ArrayDesign,ArrayDesignValueObject>,FilteringService<ArrayDesign>,FilteringVoEnabledService<ArrayDesign,ArrayDesignValueObject>
- All Known Implementing Classes:
ArrayDesignServiceImpl
public interface ArrayDesignService extends CuratableService<ArrayDesign,ArrayDesignValueObject>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddProbes(ArrayDesign arrayDesign, Collection<CompositeSequence> newProbes)longcountWithCache(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.Collection<ArrayDesign>findByAlternateName(String queryString)Collection<ArrayDesign>findByManufacturer(String searchString)Collection<ArrayDesign>findByName(String name)ArrayDesignfindByShortName(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.LonggetCompositeSequenceCount(ArrayDesign arrayDesign)Collection<CompositeSequence>getCompositeSequences(ArrayDesign arrayDesign)Collection<CompositeSequence>getCompositeSequences(ArrayDesign arrayDesign, int limit, int offset)Collection<ExpressionExperiment>getExpressionExperiments(ArrayDesign arrayDesign)longgetExpressionExperimentsCount(ArrayDesign arrayDesign)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.longgetSwitchedExpressionExperimentCount(ArrayDesign id)Collection<Taxon>getTaxa(ArrayDesign arrayDesign)Return the taxa for the array design.TaxongetTaxon(Long id)booleanisBlackListed(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)longnumAllCompositeSequenceWithBioSequences()Function to return a count of all compositeSequences with bioSequence associationslongnumAllCompositeSequenceWithBioSequences(Collection<Long> ids)Function to return the count of all composite sequences with biosequences, given a list of array design IdslongnumAllCompositeSequenceWithBlatResults()Function to return all composite sequences with blat resultslongnumAllCompositeSequenceWithBlatResults(Collection<Long> ids)Function to return the count of all composite sequences with blat results, given a list of array design IdslongnumAllCompositeSequenceWithGenes()Function to return a count of all composite sequences with associated genes.longnumAllCompositeSequenceWithGenes(Collection<Long> ids)Function to return the count of all composite sequences with genes, given a list of array design IdslongnumAllGenes()Returns a count of the number of genes associated with all arrayDesignslongnumAllGenes(Collection<Long> ids)Returns the number of unique Genes associated with the collection of ArrayDesign ids.longnumBioSequences(ArrayDesign arrayDesign)returns the number of bioSequences associated with this ArrayDesign idlongnumBlatResults(ArrayDesign arrayDesign)returns the number of BlatResults (BioSequence2GeneProduct) entries associated with this ArrayDesign id.longnumCompositeSequenceWithBioSequences(ArrayDesign arrayDesign)longnumCompositeSequenceWithBlatResults(ArrayDesign arrayDesign)longnumCompositeSequenceWithGenes(ArrayDesign arrayDesign)longnumExperiments(ArrayDesign arrayDesign)longnumGenes(ArrayDesign arrayDesign)Returns the number of unique Genes associated with this ArrayDesign idvoidremoveBiologicalCharacteristics(ArrayDesign arrayDesign)Remove all associations that this array design has with BioSequences.Collection<ArrayDesign>thaw(Collection<ArrayDesign> aas)ArrayDesignthaw(ArrayDesign arrayDesign)Collection<ArrayDesign>thawLite(Collection<ArrayDesign> arrayDesigns)ArrayDesignthawLite(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.BaseImmutableService
remove
-
Methods inherited from interface ubic.gemma.persistence.service.BaseReadOnlyService
countAll, findOrFail, getElementClass
-
Methods inherited from interface ubic.gemma.persistence.service.expression.arrayDesign.CuratableService
create, create, find, findOrCreate, load, load, load, load, loadAll, loadAllValueObjects, loadIds, loadOrFail, loadOrFail, loadOrFail, loadOrFail, loadValueObject, loadValueObjectById, loadValueObjects, loadValueObjects, loadValueObjects, loadValueObjectsByIds, remove, remove, save, save, update, update
-
Methods inherited from interface ubic.gemma.persistence.service.FilteringService
count, getFilter, getFilter, getFilter, getFilter, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyConfigAttributes, getFilterablePropertyDescription, getFilterablePropertyIsUsingSubquery, getFilterablePropertyResolvableAllowedValuesLabels, getFilterablePropertyType, getIdentifierPropertyName, getSort
-
-
-
-
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 ExceptionLoad 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)
-
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)
- See Also:
ArrayDesignDao.thaw(ArrayDesign)
-
thaw
@CheckReturnValue @Secured({"IS_AUTHENTICATED_ANONYMOUSLY","AFTER_ACL_COLLECTION_READ"}) Collection<ArrayDesign> thaw(Collection<ArrayDesign> aas)
- See Also:
ArrayDesignDao#thaw(Collection)
-
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)
-
-