예제 #1
0
 def test_fetch_invalid_read(self, log_patcher):
     bad_read = mock.Mock(is_unmapped=False, reference_start=0, reference_end=0, query_name='BAD_READ')
     fh = mock.Mock(references=['chr'], spec=['references', 'fetch'])
     fh.configure_mock(**{'fetch.return_value': [bad_read]})
     cache = BamCache(fh)
     cache.fetch('chr', 1, 10)
     self.assertEqual(0, len(cache.cache))
     log_patcher.assert_called_with('ignoring invalid read', 'BAD_READ', level=logging.DEBUG)
예제 #2
0
def setUpModule():
    global REFERENCE_GENOME
    REFERENCE_GENOME = load_reference_genome(get_data('mock_reference_genome.fa'))
    if 'CTCCAAAGAAATTGTAGTTTTCTTCTGGCTTAGAGGTAGATCATCTTGGT' != REFERENCE_GENOME['fake'].seq[0:50].upper():
        raise AssertionError('fake genome file does not have the expected contents')
    global BAM_CACHE
    BAM_CACHE = BamCache(get_data('mini_mock_reads_for_events.sorted.bam'))
    global FULL_BAM_CACHE
    FULL_BAM_CACHE = BamCache(get_data('mock_reads_for_events.sorted.bam'))
    global READS
    READS = {}
    for read in BAM_CACHE.fetch('reference3', 1, 8000):
        if read.qname not in READS:
            READS[read.qname] = [None, None]
        if read.is_supplementary:
            continue
        if read.is_read1:
            READS[read.qname][0] = read
        else:
            READS[read.qname][1] = read