Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 def testSearchVariantSets(self):
     request = protocol.SearchVariantSetsRequest()
     responseStr = self._backend.searchVariantSets(request.toJsonString())
     response = protocol.SearchVariantSetsResponse.fromJsonString(
         responseStr)
     self.assertTrue(
         isinstance(response, protocol.SearchVariantSetsResponse))
Пример #4
0
 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')
Пример #5
0
 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")
Пример #6
0
 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))
Пример #7
0
 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)
Пример #8
0
    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)
Пример #9
0
    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)
Пример #10
0
    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)
Пример #11
0
 def testDatasetNotFound(self):
     request = protocol.SearchVariantSetsRequest()
     datasetId = 'doesNotExist'
     request.datasetId = datasetId
     with self.assertRaises(exceptions.DatasetNotFoundException):
         self._backend.getDataset(request.datasetId)
Пример #12
0
 def sendVariantSetsSearch(self):
     request = protocol.SearchVariantSetsRequest()
     request.datasetId = self.datasetId
     return self.sendPostRequest('/variantsets/search', request)
Пример #13
0
 def createSearchVariantSetsRequest(self):
     request = protocol.SearchVariantSetsRequest()
     setCommaSeparatedAttribute(request, self.args, 'datasetIds')
     request.pageSize = self.args.pageSize
     request.pageToken = None
     return request
Пример #14
0
 def sendVariantSetsSearch(self, datasetIds=[""]):
     request = protocol.SearchVariantSetsRequest()
     request.datasetIds = datasetIds
     return self.sendRequest('/variantsets/search', request)
Пример #15
0
 def createSearchVariantSetsRequest(self):
     request = protocol.SearchVariantSetsRequest()
     request.datasetId = self.args.datasetId
     request.pageSize = self.args.pageSize
     request.pageToken = None
     return request
Пример #16
0
 def sendVariantSetsSearch(self):
     request = protocol.SearchVariantSetsRequest()
     request.datasetIds = ["simulatedDataset1"]
     return self.sendPostRequest('/variantsets/search', request)