Пример #1
0
 def sendVariantsSearch(self):
     response = self.sendVariantSetsSearch()
     variantSets = protocol.fromJson(
         response.data, protocol.SearchVariantSetsResponse).variant_sets
     request = protocol.SearchVariantsRequest()
     request.variant_set_id = variantSets[0].id
     request.reference_name = "1"
     request.start = 0
     request.end = 1
     return self.sendPostRequest('/variants/search', request)
Пример #2
0
 def sendVariantsSearch(self):
     response = self.sendVariantSetsSearch()
     variantSets = self.deserialize(
         response, protocol.SearchVariantSetsResponse).variant_sets
     request = protocol.SearchVariantsRequest()
     request.variant_set_ids.append(variantSets[0].id)
     request.reference_name = "1"
     request.start = 0
     request.end = 1
     return self.sendPostRequest('/variants/search', request)
Пример #3
0
def _heavyQuery(variantSetId, callSetIds):
    """
    Very heavy query: calls for the specified list of callSetIds
    on chromosome 2 (11 pages, 90 seconds to fetch the entire thing
    on a high-end desktop machine)
    """
    request = protocol.SearchVariantsRequest()
    request.reference_name = '2'
    request.variant_set_id = variantSetId
    for callSetId in callSetIds:
        request.call_set_ids.add(callSetId)
    request.page_size = 100
    request.end = 100000
    return request
Пример #4
0
 def testSearchVariants(self):
     request = protocol.SearchVariantsRequest()
     request.reference_name = self.referenceName
     request.start = self.start
     request.end = self.end
     request.variant_set_id = self.variantSetId
     request.call_set_ids.extend(self.callSetIds)
     request.page_size = self.pageSize
     self.httpClient.search_variants(self.variantSetId,
                                     start=self.start,
                                     end=self.end,
                                     reference_name=self.referenceName,
                                     call_set_ids=self.callSetIds)
     self.httpClient._run_search_request.assert_called_once_with(
         request, "variants", protocol.SearchVariantsResponse)
Пример #5
0
    def search_variants(self,
                        variant_set_id,
                        start=None,
                        end=None,
                        reference_name=None,
                        call_set_ids=None):
        """
        Returns an iterator over the Variants fulfilling the specified
        conditions from the specified VariantSet.

        :param str variant_set_id: The ID of the
            :class:`ga4gh.protocol.VariantSet` of interest.
        :param int start: Required. The beginning of the window (0-based,
            inclusive) for which overlapping variants should be returned.
            Genomic positions are non-negative integers less than reference
            length. Requests spanning the join of circular genomes are
            represented as two requests one on each side of the join
            (position 0).
        :param int end: Required. The end of the window (0-based, exclusive)
            for which overlapping variants should be returned.
        :param str reference_name: The name of the
            :class:`ga4gh.protocol.Reference` we wish to return variants from.
        :param list call_set_ids: Only return variant calls which belong to
            call sets with these IDs. If an empty array, returns variants
            without any call objects. If null, returns all variant calls.

        :return: An iterator over the :class:`ga4gh.protocol.Variant` objects
            defined by the query parameters.
        :rtype: iter
        """
        request = protocol.SearchVariantsRequest()
        request.reference_name = pb.string(reference_name)
        request.start = pb.int(start)
        request.end = pb.int(end)
        request.variant_set_id = variant_set_id
        request.call_set_ids.extend(pb.string(call_set_ids))
        request.page_size = pb.int(self._page_size)
        return self._run_search_request(request, "variants",
                                        protocol.SearchVariantsResponse)