Esempio n. 1
0
    def test_call_from_allele_counter(self):
        ref = fasta.IndexedFastaReader(testdata.CHR20_FASTA)
        sam_reader = sam.SamReader(testdata.CHR20_BAM)
        size = 1000
        region = ranges.make_range('chr20', 10000000, 10000000 + size)
        allele_counter = _allelecounter.AlleleCounter(
            ref.c_reader, region,
            deepvariant_pb2.AlleleCounterOptions(partition_size=size))
        caller = variant_calling.VariantCaller(
            deepvariant_pb2.VariantCallerOptions(min_count_snps=2,
                                                 min_count_indels=2,
                                                 min_fraction_snps=0.12,
                                                 min_fraction_indels=0.12,
                                                 sample_name='sample_name',
                                                 p_error=0.001,
                                                 max_gq=50,
                                                 gq_resolution=1,
                                                 ploidy=2))

        # Grab all of the reads in our region and add them to the allele_counter.
        reads = list(sam_reader.query(region))
        self.assertNotEmpty(reads)
        for read in reads:
            allele_counter.add(read)

        # Get the candidates records for this whole region.
        candidates = caller.calls_from_allele_counter(allele_counter)

        # We should have at least some candidates and some gvcf records.
        self.assertNotEmpty(candidates)

        # Each candidate should be a DeepVariantCall.
        for candidate in candidates:
            self.assertIsInstance(candidate, deepvariant_pb2.DeepVariantCall)
Esempio n. 2
0
    def __init__(self, options, use_cache_table=True, max_cache_coverage=100):
        self.options = options
        self.cpp_variant_caller = variant_calling.VariantCaller(self.options)

        self.max_cache_coverage = max_cache_coverage
        if use_cache_table:
            self.table = [[
                self._calc_reference_confidence(n_ref, n_total)
                for n_ref in range(n_total + 1)
            ] for n_total in range(self.max_cache_coverage + 1)]
        else:
            self.table = None
Esempio n. 3
0
    def __init__(self, options, use_cache_table, max_cache_coverage):
        self.options = options
        self.cpp_variant_caller = variant_calling.VariantCaller(self.options)

        self.max_cache_coverage = max_cache_coverage
        # pylint: disable=g-complex-comprehension
        if use_cache_table:
            self.table = [[
                self._calc_reference_confidence(n_ref, n_total)
                for n_ref in range(n_total + 1)
            ] for n_total in range(self.max_cache_coverage + 1)]
        else:
            self.table = None