def test_convert_genomic_space_to_exon_space(self, loc, gt_d): """Test genomic --> exon transform on real data. """ gencode_input_gtf = "testdata/gencode/MAPK1.gencode.v18.annotation.gtf" gencode_input_fasta = "testdata/gencode/MAPK1.gencode.v18.pc_transcripts.fa" base_output_filename = "out/test_variant_classification" shutil.rmtree(base_output_filename + ".transcript.idx", ignore_errors=True) shutil.rmtree(base_output_filename + ".transcript_by_gene.idx", ignore_errors=True) shutil.rmtree(base_output_filename + ".transcript_by_gp_bin.idx", ignore_errors=True) genome_build_factory = GenomeBuildFactory() genome_build_factory.construct_ensembl_indices([gencode_input_gtf], [gencode_input_fasta], base_output_filename) ensembl_ds = EnsemblTranscriptDatasource(base_output_filename, version="TEST") tx = ensembl_ds.get_overlapping_transcripts("22", "22108790", "22108790") start, end = TranscriptProviderUtils.convert_genomic_space_to_exon_space(loc[0], loc[1], tx[0]) loc_length = (int(loc[1]) - int(loc[0])) self.assertTrue((end - start) == loc_length, str(end) + " - " + str(start) + " was not correct length: " + str(loc_length)) self.assertTrue(start == gt_d, "start position (" + str(start) + ") did not match gt (" + str(end) + ")" + " exons: " + str(tx[0].get_exons()))