def testVariantSetsSearch(self): path = '/variantsets/search' for dataset in self.backend.getDatasets(): variantSets = dataset.getVariantSets() request = protocol.SearchVariantSetsRequest() request.datasetId = dataset.getId() self.verifySearchMethod(request, path, protocol.SearchVariantSetsResponse, variantSets, self.verifyVariantSetsEqual) for badId in self.getBadIds(): request = protocol.SearchVariantSetsRequest() request.datasetId = badId self.verifySearchMethodFails(request, path)
def testSearchVariantSets(self): request = protocol.SearchVariantSetsRequest() request.datasetId = self.datasetId request.pageSize = self.pageSize self.httpClient.searchVariantSets(self.datasetId) self.httpClient._runSearchRequest.assert_called_once_with( request, "variantsets", protocol.SearchVariantSetsResponse)
def testSearchVariantSets(self): request = protocol.SearchVariantSetsRequest() responseStr = self._backend.searchVariantSets(request.toJsonString()) response = protocol.SearchVariantSetsResponse.fromJsonString( responseStr) self.assertTrue( isinstance(response, protocol.SearchVariantSetsResponse))
def testDatasetNotFound(self): request = protocol.SearchVariantSetsRequest() datasetId = 'doesNotExist' request.datasetIds = [datasetId] with self.assertRaises(exceptions.DatasetNotFoundException): self._backend._getDatasetFromRequest(request) with self.assertRaises(exceptions.DatasetNotFoundException): self._backend._getDatasetFromCompoundId(datasetId + ':notUsed')
def getVariantSets(self, pageSize=100): """ Returns an iterator over the variantSets, abstracting away the details of the pageSize. """ request = protocol.SearchVariantSetsRequest() request.datasetIds = [self._backend.getDatasetIds()[0]] return self.resultIterator( request, pageSize, self._backend.searchVariantSets, protocol.SearchVariantSetsResponse, "variantSets")
def testRunSearchRequest(self): request = protocol.SearchVariantSetsRequest() responseStr = self._backend.runSearchRequest( request.toJsonString(), protocol.SearchVariantSetsRequest, protocol.SearchVariantSetsResponse, self._backend.variantSetsGenerator) response = protocol.SearchVariantSetsResponse.fromJsonString( responseStr) self.assertTrue( isinstance(response, protocol.SearchVariantSetsResponse))
def __init__(self, args): super(SearchVariantsRunner, self).__init__(args) request = RequestFactory(args).createSearchVariantsRequest() # if no variantSets have been specified, send a request to # the server to grab all variantSets and then continue if args.variantSetIds is None: variantSetsRequest = protocol.SearchVariantSetsRequest() response = self._httpClient.searchVariantSets(variantSetsRequest) variantSetIds = [variantSet.id for variantSet in response] request.variantSetIds = variantSetIds else: setCommaSeparatedAttribute(request, args, 'variantSetIds') self._setRequest(request, args)
def searchVariantSets(self, datasetId): """ Returns an iterator over the VariantSets fulfilling the specified conditions from the specified Dataset. :param str datasetId: The ID of the :class:`ga4gh.protocol.Dataset` of interest. :return: An iterator over the :class:`ga4gh.protocol.VariantSet` objects defined by the query parameters. """ request = protocol.SearchVariantSetsRequest() request.datasetId = datasetId request.pageSize = self._pageSize return self._runSearchRequest( request, "variantsets", protocol.SearchVariantSetsResponse)
def testOneDatasetRestriction(self): # no datasetIds attr request = protocol.SearchReadsRequest() with self.assertRaises(AssertionError): self._backend._getDatasetFromRequest(request) # datasetIds attr request = protocol.SearchVariantSetsRequest() with self.assertRaises(exceptions.NotExactlyOneDatasetException): self._backend._getDatasetFromRequest(request) datasetId = 'dataset1' request.datasetIds = [datasetId] dataset = self._backend._getDatasetFromRequest(request) self.assertEquals(dataset.getId(), datasetId) request.datasetIds = ['dataset1', 'dataset2'] with self.assertRaises(exceptions.NotExactlyOneDatasetException): self._backend._getDatasetFromRequest(request)
def testVariantSetsSearch(self): expectedIds = self.variantSetIds request = protocol.SearchVariantSetsRequest() request.pageSize = len(expectedIds) path = utils.applyVersion('/variantsets/search') response = self.sendJsonPostRequest(path, request.toJsonString()) self.assertEqual(200, response.status_code) responseData = protocol.SearchVariantSetsResponse.fromJsonString( response.data) self.assertTrue( protocol.SearchVariantSetsResponse.validate( responseData.toJsonDict())) self.assertIsNone(responseData.nextPageToken) self.assertEqual(len(expectedIds), len(responseData.variantSets)) for variantSet in responseData.variantSets: self.assertTrue(variantSet.id in expectedIds)
def testDatasetNotFound(self): request = protocol.SearchVariantSetsRequest() datasetId = 'doesNotExist' request.datasetId = datasetId with self.assertRaises(exceptions.DatasetNotFoundException): self._backend.getDataset(request.datasetId)
def sendVariantSetsSearch(self): request = protocol.SearchVariantSetsRequest() request.datasetId = self.datasetId return self.sendPostRequest('/variantsets/search', request)
def createSearchVariantSetsRequest(self): request = protocol.SearchVariantSetsRequest() setCommaSeparatedAttribute(request, self.args, 'datasetIds') request.pageSize = self.args.pageSize request.pageToken = None return request
def sendVariantSetsSearch(self, datasetIds=[""]): request = protocol.SearchVariantSetsRequest() request.datasetIds = datasetIds return self.sendRequest('/variantsets/search', request)
def createSearchVariantSetsRequest(self): request = protocol.SearchVariantSetsRequest() request.datasetId = self.args.datasetId request.pageSize = self.args.pageSize request.pageToken = None return request
def sendVariantSetsSearch(self): request = protocol.SearchVariantSetsRequest() request.datasetIds = ["simulatedDataset1"] return self.sendPostRequest('/variantsets/search', request)