def _retrieveAllSamplesWithTypeAndParent(self, sampleType, parentSampleId, parentSampleType): """ Retrieve all samples belonging to current experiment sample and collection having specified type. """ if _DEBUG: self._logger.info("Retrieving samples of type " + sampleType + " with parent sample with id " + parentSampleId + " and type " + parentSampleType) # The samples are of type 'sampleType' searchCriteria = SearchCriteria() searchCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, sampleType)) # The samples have given parent expSampleCriteria = SearchCriteria() expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, parentSampleType)) expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.CODE, parentSampleId)) searchCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria(expSampleCriteria)) # Now search samples = searchService.searchForSamples(searchCriteria) # Return the samples return samples
def _getChildSamples(parentSampleType, parentSamplePermId, sampleType): """Return the samples of given type for specified parent sample.""" # The samples are of type 'sampleType' searchCriteria = SearchCriteria() searchCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, sampleType) ) # The samples have given parent expSampleCriteria = SearchCriteria() expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, parentSampleType) ) expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, parentSamplePermId) ) searchCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria(expSampleCriteria) ) # Now search samples = searchService.searchForSamples(searchCriteria) # Return the samples return samples
def _retrieveAllSamplesWithType(self, sampleType): """ Retrieve all samples belonging to current experiment sample and collection having specified type. """ # The samples are of type 'sampleType' searchCriteria = SearchCriteria() searchCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, sampleType)) # The samples have parent _EXPERIMENT_SAMPLE expSampleCriteria = SearchCriteria() expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, self._expSampleType)) expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.PERM_ID, self._expSamplePermId)) searchCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria(expSampleCriteria)) # Now search samples = searchService.searchForSamples(searchCriteria) # Return the samples return samples
def _getChildSamples(parentSampleType, parentSamplePermId, sampleType): """Return the samples of given type for specified parent sample.""" # The samples are of type 'sampleType' searchCriteria = SearchCriteria() searchCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, sampleType)) # The samples have given parent expSampleCriteria = SearchCriteria() expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.TYPE, parentSampleType)) expSampleCriteria.addMatchClause( MatchClause.createAttributeMatch(MatchClauseAttribute.PERM_ID, parentSamplePermId)) searchCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria(expSampleCriteria)) # Now search samples = searchService.searchForSamples(searchCriteria) # Return the samples return samples
def _getMicroscopySampleTypeSample(self): # Search sample of type MICROSCOPY_SAMPLE_TYPE with specified CODE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, self._sampleType) ) sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, self._samplePermId) ) # Search parent sample of type MICROSCOPY_EXPERIMENT with specified permId sampleParentCriteria = SearchCriteria() sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, self._expSampleType)) sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, self._expSamplePermId)) # Add the parent sample subcriteria sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleParentCriteria ) ) # Search samples = searchService.searchForSamples(sampleCriteria) if len(samples) == 0: samples = [] self._message = "Could not retrieve MICROSCOPY_SAMPLE_TYPE sample with id " + \ self._sampleId + " for parent sample MICROSCOPY_EXPERIMENT with id " + \ self._expSampleId + " from COLLECTION experiment " + self._collectionId + "." self._logger.error(self._message) return samples if _DEBUG: self._logger.info("Retrieved " + str(len(samples)) + \ " samples of type MICROSCOPY_SAMPLE_TYPE " + \ "for parent sample MICROSCOPY_EXPERIMENT " + "with ID " + self._expSamplePermId) # Return return samples[0]
def _getMicroscopySampleTypeSample(self): # Search sample of type MICROSCOPY_SAMPLE_TYPE with specified CODE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, self._sampleType) ) sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, self._samplePermId) ) # Search parent sample of type MICROSCOPY_EXPERIMENT with specified permId sampleParentCriteria = SearchCriteria() sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, self._expSampleType)) sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, self._expSamplePermId)) # Add the parent sample subcriteria sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleParentCriteria ) ) # Search samples = searchService.searchForSamples(sampleCriteria) if len(samples) == 0: samples = [] self._message = "Could not retrieve MICROSCOPY_SAMPLE_TYPE sample with id " + \ self._sampleId + " for parent sample MICROSCOPY_EXPERIMENT with id " + \ self._expSampleId + " from COLLECTION experiment " + self._collectionId + "." self._logger.error(self._message) return samples if _DEBUG: self._logger.info("Retrieved " + str(len(samples)) + \ " samples of type MICROSCOPY_SAMPLE_TYPE " + \ "for parent sample MICROSCOPY_EXPERIMENT " + "with ID " + self._expSamplePermId) # Return return samples[0]
def _getSamples(self, expSampleType, expSamplePermId, sampleType): """ Return a list of datasets of requested type belonging to the MICROSCOPY_EXPERIMENT sample and a specific sample of type MICROSCOPY_SAMPLE_TYPE. If none are found, return []. """ if _DEBUG: self._logger.info("* Requested experiment sample type: " + expSampleType) self._logger.info("* Requested experiment sample permId: " + expSamplePermId) self._logger.info("* Requested sample type: " + sampleType) # Search samples of type MICROSCOPY_SAMPLE_TYPE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, sampleType) ) # Search parent sample of type MICROSCOPY_EXPERIMENT with specified permId sampleParentCriteria = SearchCriteria() sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, expSampleType)) sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, expSamplePermId)) # Add the parent sample subcriteria sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleParentCriteria ) ) # Search samples = searchService.searchForSamples(sampleCriteria) # Return return samples
def _getSamples(self, expSampleType, expSamplePermId, sampleType): """ Return a list of datasets of requested type belonging to the MICROSCOPY_EXPERIMENT sample and a specific sample of type MICROSCOPY_SAMPLE_TYPE. If none are found, return []. """ if _DEBUG: self._logger.info("* Requested experiment sample type: " + expSampleType) self._logger.info("* Requested experiment sample permId: " + expSamplePermId) self._logger.info("* Requested sample type: " + sampleType) # Search samples of type MICROSCOPY_SAMPLE_TYPE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, sampleType) ) # Search parent sample of type MICROSCOPY_EXPERIMENT with specified permId sampleParentCriteria = SearchCriteria() sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, expSampleType)) sampleParentCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, expSamplePermId)) # Add the parent sample subcriteria sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleParentCriteria ) ) # Search samples = searchService.searchForSamples(sampleCriteria) # Return return samples
def _getDataSets(self, expSampleType, expSamplePermId, sampleType, samplePermId, requestedDatasetType="MICROSCOPY_IMG_CONTAINER"): """ Return a list of datasets of requested type belonging to the MICROSCOPY_EXPERIMENT sample and a specific sample of type MICROSCOPY_SAMPLE_TYPE. If none are found, return []. """ # Only two types of experiment are allowed assert requestedDatasetType == "MICROSCOPY_IMG_CONTAINER" or requestedDatasetType == "MICROSCOPY_ACCESSORY_FILE", \ "Input argument 'requestedDatasetType' must be one of MICROSCOPY_IMG_CONTAINER or MICROSCOPY_ACCESSORY_FILE." self._logger.info("_getDataSetsForMicroscopySampleType() called " + "with requested data type " + requestedDatasetType) if _DEBUG: self._logger.info("* Requested dataset type: " + requestedDatasetType) self._logger.info("* Requested experiment sample type: " + expSampleType) self._logger.info("* Requested experiment sample permId: " + expSamplePermId) self._logger.info("* Requested sample type: " + sampleType) self._logger.info("* Requested sample permId: " + samplePermId) # Dataset criteria datasetSearchCriteria = SearchCriteria() datasetSearchCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, requestedDatasetType) ) # Add search criteria for sample of type MICROSCOPY_EXPERIMENT with specified CODE sampleExpCriteria = SearchCriteria() sampleExpCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, expSampleType)) sampleExpCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, expSamplePermId) ) # Add search criteria for sample of type MICROSCOPY_SAMPLE_TYPE with specified CODE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, sampleType) ) sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, samplePermId) ) sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleExpCriteria) ) # Add search for a parent sample of type MICROSCOPY_SAMPLE_TYPE as subcriterion datasetSearchCriteria.addSubCriteria( SearchSubCriteria.createSampleCriteria(sampleCriteria) ) # Retrieve the datasets dataSets = searchService.searchForDataSets(datasetSearchCriteria) # Inform self._logger.info("Retrieved " + str(len(dataSets)) + " dataSets of type " + requestedDatasetType + ".") # Return return dataSets
def _getDataSets(self, expSampleType, expSamplePermId, sampleType, samplePermId, requestedDatasetType="MICROSCOPY_IMG_CONTAINER"): """ Return a list of datasets of requested type belonging to the MICROSCOPY_EXPERIMENT sample and a specific sample of type MICROSCOPY_SAMPLE_TYPE. If none are found, return []. """ # Only two types of experiment are allowed assert requestedDatasetType == "MICROSCOPY_IMG_CONTAINER" or requestedDatasetType == "MICROSCOPY_ACCESSORY_FILE", \ "Input argument 'requestedDatasetType' must be one of MICROSCOPY_IMG_CONTAINER or MICROSCOPY_ACCESSORY_FILE." self._logger.info("_getDataSetsForMicroscopySampleType() called " + "with requested data type " + requestedDatasetType) if _DEBUG: self._logger.info("* Requested dataset type: " + requestedDatasetType) self._logger.info("* Requested experiment sample type: " + expSampleType) self._logger.info("* Requested experiment sample permId: " + expSamplePermId) self._logger.info("* Requested sample type: " + sampleType) self._logger.info("* Requested sample permId: " + samplePermId) # Dataset criteria datasetSearchCriteria = SearchCriteria() datasetSearchCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, requestedDatasetType) ) # Add search criteria for sample of type MICROSCOPY_EXPERIMENT with specified CODE sampleExpCriteria = SearchCriteria() sampleExpCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, expSampleType)) sampleExpCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, expSamplePermId) ) # Add search criteria for sample of type MICROSCOPY_SAMPLE_TYPE with specified CODE sampleCriteria = SearchCriteria() sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.TYPE, sampleType) ) sampleCriteria.addMatchClause( MatchClause.createAttributeMatch( MatchClauseAttribute.PERM_ID, samplePermId) ) sampleCriteria.addSubCriteria( SearchSubCriteria.createSampleParentCriteria( sampleExpCriteria) ) # Add search for a parent sample of type MICROSCOPY_SAMPLE_TYPE as subcriterion datasetSearchCriteria.addSubCriteria( SearchSubCriteria.createSampleCriteria(sampleCriteria) ) # Retrieve the datasets dataSets = searchService.searchForDataSets(datasetSearchCriteria) # Inform self._logger.info("Retrieved " + str(len(dataSets)) + " dataSets of type " + requestedDatasetType + ".") # Return return dataSets