Class ExpressionExperimentController
java.lang.Object
ubic.gemma.web.controller.expression.experiment.ExpressionExperimentController
@Controller
@RequestMapping({"/expressionExperiment","/ee"})
public class ExpressionExperimentController
extends Object
- Author:
- keshav
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbrowse
(ListBatchCommand batch) AJAX call for remote paging store security isn't incorporated in db query, so paging needs to occur at higher level.browseByTaxon
(ListBatchCommand batch, Long taxonId) AJAXbrowseSpecificIds
(ListBatchCommand batch, Collection<Long> ids) AJAX call for remote paging storeboolean
AJAX returns a JSON string encoding whether the current user owns the experiment and whether they can edit itvoid
clearFromCaches
(Long eeId) AJAX clear entries in caches relevant to experimental design for the experiment passed in.deleteById
(Long id) Exposed for AJAX calls.boolean
AJAX returns a JSON string encoding whether the current user owns the experiment and whether they can edit itvoid
downloadExpressionExperimentList
(String e, String es, javax.servlet.http.HttpServletResponse response) org.springframework.web.servlet.ModelAndView
AJAX TODO --- include a search of subsets.getAllTaxonExperimentGroup
(Long taxonId) AJAXAJAXgetDescription
(Long id) AJAX callAJAXAJAXAJAXAJAX method to get data for database summary table, returned as a JSON object the slow part here is loading each new or updated object in whatsNewService.retrieveReport() -> fetch()AJAX - for display in tables.AJAX get experiments that used a given platform.AJAX; Populate all the details.AJAX - for display in tables.AJAX; get a collection of experiments that have had samples removed due to outliers TODO: and experiment that have possible batch effects detectedloadQuantitationTypes
(Long eeId) AJAX - for display in tablesloadStatusSummaries
(Long taxonId, List<Long> ids, Integer limit, Integer filter, Boolean showPublic) AJAX.void
AJAXvoid
AJAXremovePrimaryPublication
(Long eeId) Remove the primary publication for the given expression experiment (by id).void
AJAXsearchExperimentsAndExperimentGroups
(String query, Long taxonId) AJAX (used by experimentAndExperimentGroupCombo.js)AJAX (used by ExperimentCombo.js)org.springframework.web.servlet.ModelAndView
Show all experiments (optionally conditioned on either a taxon, a list of ids, or a platform)org.springframework.web.servlet.ModelAndView
org.springframework.web.servlet.ModelAndView
showAllSubSets
(Long id, Long dimensionId, javax.servlet.http.HttpServletRequest request) org.springframework.web.servlet.ModelAndView
showAllSubSets
(String shortName, Long dimensionId, javax.servlet.http.HttpServletRequest request) org.springframework.web.servlet.ModelAndView
showBioAssays
(Long id, Long platformId) org.springframework.web.servlet.ModelAndView
showBioMaterials
(Long id) org.springframework.web.servlet.ModelAndView
org.springframework.web.servlet.ModelAndView
showExpressionExperimentByShortName
(String shortName) org.springframework.web.servlet.ModelAndView
showSingleCellExpressionData
(Long id, Long quantitationTypeId, Long designElementId, Long[] assayIds, Long cellTypeAssignmentId, Long cellLevelCharacteristicsId, Long focusedCharacteristicId, javax.servlet.http.HttpServletRequest request) org.springframework.web.servlet.ModelAndView
showSubSet
(Long id, Long dimensionId, javax.servlet.http.HttpServletRequest request) Shows a list of BioAssays for an expression experiment subset.void
unmatchAllBioAssays
(Long eeId) Completely reset the pairing of bioassays to biomaterials, so they are no longer paired.updateBasics
(UpdateEEDetailsCommand command) updatePubMed
(Long eeId, String pubmedId) AJAX.
-
Constructor Details
-
ExpressionExperimentController
public ExpressionExperimentController()
-
-
Method Details
-
browse
AJAX call for remote paging store security isn't incorporated in db query, so paging needs to occur at higher level.- a db call returns all experiments, which are filtered by the service method
- if the user is an admin, we filter out the troubled experiments
- an appropriate page-sized chunk is then taken from this (filtered) list
- another round of db calls create and fill value objects for this chunk
- value objects are returned
-
browseByTaxon
public JsonReaderResponse<ExpressionExperimentDetailsValueObject> browseByTaxon(ListBatchCommand batch, Long taxonId) AJAX -
browseSpecificIds
public JsonReaderResponse<ExpressionExperimentDetailsValueObject> browseSpecificIds(ListBatchCommand batch, Collection<Long> ids) AJAX call for remote paging store -
canCurrentUserEditExperiment
AJAX returns a JSON string encoding whether the current user owns the experiment and whether they can edit it -
clearFromCaches
AJAX clear entries in caches relevant to experimental design for the experiment passed in. The caches cleared are the processedDataVectorCache and the caches held in ExperimentalDesignVisualizationService -
deleteById
Exposed for AJAX calls. -
doesCurrentUserOwnExperiment
AJAX returns a JSON string encoding whether the current user owns the experiment and whether they can edit it -
filter
@RequestMapping(value="/filterExpressionExperiments.html", method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView filter(@RequestParam("filter") String searchString) -
find
AJAX TODO --- include a search of subsets. NOTE: only used via DataSetSearchAndGrabToolbar -> DatasetGroupEditor?- Parameters:
query
- search stringtaxonId
- (if null, all taxa are searched)- Returns:
- EE ids that match
-
getAllTaxonExperimentGroup
AJAX -
getAnnotation
AJAX -
getDescription
AJAX call- Returns:
- a more informative description than the regular description 1st 120 characters of ee.description + Experimental Design information returned string contains HTML tags. TODO: Would be more generic if passed back a DescriptionValueObject that contains all the info necessary to reconstruct the HTML on the client side Currently only used by ExpressionExperimentGrid.js (row expander)
-
getDesignMatrixRows
public Collection<DesignMatrixRowValueObject> getDesignMatrixRows(EntityDelegator<ExpressionExperiment> e) AJAX -
getExperimentalFactors
public Collection<ExperimentalFactorValueObject> getExperimentalFactors(EntityDelegator<ExpressionExperiment> e) AJAX- Returns:
- a collection of factor value objects that represent the factors of a given experiment
-
getFactorValues
AJAX- Returns:
- A collection of factor value objects for the specified experimental factor
-
loadCountsForDataSummaryTable
AJAX method to get data for database summary table, returned as a JSON object the slow part here is loading each new or updated object in whatsNewService.retrieveReport() -> fetch()- Returns:
- json
-
loadExpressionExperimentDetails
AJAX; Populate all the details.- Parameters:
id
- Identifier for the experiment- Returns:
- ee details vo
-
recalculateBatchConfound
AJAX -
recalculateBatchEffect
AJAX -
runGeeq
AJAX -
loadExpressionExperiments
AJAX - for display in tables. Don't retrieve too much detail.- Parameters:
ids
- of EEs to load- Returns:
- security-filtered set of value objects.
-
loadExperimentsForPlatform
AJAX get experiments that used a given platform. Don't retrieve too much detail.- Parameters:
id
- of platform- Returns:
- collection of experiments that use this platform -- including those that were switched
-
loadDetailedExpressionExperiments
public Collection<ExpressionExperimentDetailsValueObject> loadDetailedExpressionExperiments(Collection<Long> ids) AJAX - for display in tables. Get more details.- Parameters:
ids
- of EEs to load- Returns:
- security-filtered set of value objects.
-
loadExpressionExperimentsWithQcIssues
AJAX; get a collection of experiments that have had samples removed due to outliers TODO: and experiment that have possible batch effects detected- Returns:
- json reader response
-
loadQuantitationTypes
AJAX - for display in tables- Parameters:
eeId
- ee id- Returns:
- security-filtered set of value objects.
-
loadStatusSummaries
public Collection<ExpressionExperimentDetailsValueObject> loadStatusSummaries(Long taxonId, List<Long> ids, Integer limit, Integer filter, Boolean showPublic) AJAX. Data summarizing the status of experiments.- Parameters:
taxonId
- can be nulllimit
- If >0, get the most recently updated N experiments, where N <= limit; or if < 0, get the least recently updated; if 0, or null, return all.filter
- if non-null, limit data sets to ones meeting criteria.showPublic
- return user's public datasets too- Returns:
- ee details vos
-
removePrimaryPublication
Remove the primary publication for the given expression experiment (by id). The reference is not actually deleted from the system. AJAX- Parameters:
eeId
- ee id- Returns:
- string
-
searchExperimentsAndExperimentGroups
public List<SearchResultDisplayObject> searchExperimentsAndExperimentGroups(String query, Long taxonId) AJAX (used by experimentAndExperimentGroupCombo.js)- Parameters:
query
- querytaxonId
- if the search should not be limited by taxon, pass in null- Returns:
- Collection of SearchResultDisplayObjects
-
searchExpressionExperiments
AJAX (used by ExperimentCombo.js)- Parameters:
query
- query- Returns:
- Collection of expression experiment entity objects
-
showAllExpressionExperiments
@RequestMapping(value={"/showAllExpressionExperiments.html","/showAll"}, method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showAllExpressionExperiments()Show all experiments (optionally conditioned on either a taxon, a list of ids, or a platform) -
showAllLinkSummaries
@RequestMapping(value={"/showAllExpressionExperimentLinkSummaries.html","/manage.html"}, method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showAllLinkSummaries() -
showBioAssays
-
showBioMaterials
@RequestMapping(value={"/showBioMaterialsFromExpressionExperiment.html","/bioMaterials"}, method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showBioMaterials(@RequestParam("id") Long id) -
showExpressionExperimentById
@RequestMapping(value={"/showExpressionExperiment.html","/","/show"}, params="id", method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showExpressionExperimentById(@RequestParam("id") Long id) -
showExpressionExperimentByShortName
@RequestMapping(value={"/showExpressionExperiment.html","/","/show"}, params="shortName", method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showExpressionExperimentByShortName(@RequestParam("shortName") String shortName) -
showAllSubSets
@RequestMapping(value={"/showAllExpressionExperimentSubSets.html","/showSubsets"}, method={GET,HEAD}, params="id") public org.springframework.web.servlet.ModelAndView showAllSubSets(@RequestParam("id") Long id, @RequestParam(value="dimension",required=false) Long dimensionId, javax.servlet.http.HttpServletRequest request) -
showAllSubSets
@RequestMapping(value={"/showAllExpressionExperimentSubSets.html","/showSubsets"}, method={GET,HEAD}, params="shortName") public org.springframework.web.servlet.ModelAndView showAllSubSets(@RequestParam("shortName") String shortName, @RequestParam(value="dimension",required=false) Long dimensionId, javax.servlet.http.HttpServletRequest request) -
showSubSet
@RequestMapping(value={"/showExpressionExperimentSubSet.html","/showSubset"}, method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showSubSet(@RequestParam("id") Long id, @RequestParam(value="dimension",required=false) Long dimensionId, javax.servlet.http.HttpServletRequest request) Shows a list of BioAssays for an expression experiment subset. -
showSingleCellExpressionData
@RequestMapping(value="/showSingleCellExpressionData.html", method={GET,HEAD}) public org.springframework.web.servlet.ModelAndView showSingleCellExpressionData(@RequestParam("id") Long id, @RequestParam(value="quantitationType",required=false) @Nullable Long quantitationTypeId, @RequestParam("designElement") Long designElementId, @RequestParam(value="assays",required=false) @Nullable Long[] assayIds, @RequestParam(value="cellTypeAssignment",required=false) @Nullable Long cellTypeAssignmentId, @RequestParam(value="cellLevelCharacteristics",required=false) @Nullable Long cellLevelCharacteristicsId, @RequestParam(value="focusedCharacteristic",required=false) @Nullable Long focusedCharacteristicId, javax.servlet.http.HttpServletRequest request) -
unmatchAllBioAssays
Completely reset the pairing of bioassays to biomaterials, so they are no longer paired. New biomaterials are constructed where necessary; they retain the characteristics of the original. Experimental design might need to be redone after this operation. (AJAX)- Parameters:
eeId
- ee id
-
updateBasics
-
updatePubMed
AJAX. Associate the given pubmedId with the given expression experiment.- Parameters:
eeId
- ee idpubmedId
- pubmed id- Returns:
- string
-
downloadExpressionExperimentList
@RequestMapping(value="/downloadExpressionExperimentList.html", method={GET,HEAD}) public void downloadExpressionExperimentList(@RequestParam(value="e",required=false) String e, @RequestParam(value="es",required=false) String es, javax.servlet.http.HttpServletResponse response) throws IOException - Throws:
IOException
-