Ejemplo n.º 1
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_ri_path = os.path.join(self._out_dir, 'fromGTF.RI.txt')
        from_gtf_ri_header, from_gtf_ri_rows, error = output_parser.parse_from_gtf(
            from_gtf_ri_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_ri_rows), 3)
        sorted_from_gtf_ri_rows = self._sort_by_event_coords(from_gtf_ri_rows)
        self._check_event_coords(sorted_from_gtf_ri_rows[0], '0', '98', '200',
                                 '300')
        self._check_event_coords(sorted_from_gtf_ri_rows[1], '0', '100', '200',
                                 '300')
        self._check_event_coords(sorted_from_gtf_ri_rows[2], '0', '100', '202',
                                 '300')

        from_gtf_novel_junction_ri_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.RI.txt')
        from_gtf_novel_junction_ri_header, from_gtf_novel_junction_ri_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_ri_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_ri_rows), 0)

        from_gtf_novel_splice_site_ri_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.RI.txt')
        from_gtf_novel_splice_site_ri_header, from_gtf_novel_splice_site_ri_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_ri_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_ri_rows), 2)
        sorted_from_gtf_novel_splice_site_ri_rows = self._sort_by_event_coords(
            from_gtf_novel_splice_site_ri_rows)
        self._check_event_coords(sorted_from_gtf_novel_splice_site_ri_rows[0],
                                 '0', '98', '200', '300')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_ri_rows[1],
                                 '0', '100', '202', '300')
Ejemplo n.º 2
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
        from_gtf_se_header, from_gtf_se_rows, error = (
            output_parser.parse_from_gtf(from_gtf_se_path))
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_se_rows), 1)
        self._check_event_coords(from_gtf_se_rows[0], '200', '300', '400',
                                 '500', '600', '700')

        from_gtf_novel_junction_se_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.SE.txt')
        (from_gtf_novel_junction_se_header, from_gtf_novel_junction_se_rows,
         error) = output_parser.parse_from_gtf_novel_junction(
             from_gtf_novel_junction_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_se_rows), 0)

        from_gtf_novel_splice_site_se_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.SE.txt')
        (from_gtf_novel_splice_site_se_header,
         from_gtf_novel_splice_site_se_rows,
         error) = output_parser.parse_from_gtf_novel_splice_site(
             from_gtf_novel_splice_site_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_se_rows), 0)
Ejemplo n.º 3
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_a3ss_path = os.path.join(self._out_dir, 'fromGTF.A3SS.txt')
        from_gtf_a3ss_header, from_gtf_a3ss_rows, error = output_parser.parse_from_gtf(
            from_gtf_a3ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_a3ss_rows), 7)
        sorted_from_gtf_a3ss_rows = self._sort_by_event_coords(
            from_gtf_a3ss_rows)
        self._check_event_coords(sorted_from_gtf_a3ss_rows[0], '0', '94',
                                 '200', '300', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[1], '0', '100',
                                 '200', '202', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[2], '0', '100',
                                 '200', '300', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[3], '0', '100',
                                 '200', '302', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[4], '0', '100',
                                 '202', '300', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[5], '0', '100',
                                 '202', '302', '400')
        self._check_event_coords(sorted_from_gtf_a3ss_rows[6], '0', '100',
                                 '300', '302', '400')

        from_gtf_novel_junction_a3ss_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.A3SS.txt')
        from_gtf_novel_junction_a3ss_header, from_gtf_novel_junction_a3ss_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_a3ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_a3ss_rows), 0)

        from_gtf_novel_splice_site_a3ss_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.A3SS.txt')
        from_gtf_novel_splice_site_a3ss_header, from_gtf_novel_splice_site_a3ss_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_a3ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_a3ss_rows), 6)
        sorted_from_gtf_novel_splice_site_a3ss_rows = self._sort_by_event_coords(
            from_gtf_novel_splice_site_a3ss_rows)
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[0], '0', '94', '200',
            '300', '400')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[1], '0', '100', '200',
            '202', '400')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[2], '0', '100', '200',
            '302', '400')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[3], '0', '100', '202',
            '300', '400')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[4], '0', '100', '202',
            '302', '400')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_a3ss_rows[5], '0', '100', '300',
            '302', '400')
Ejemplo n.º 4
0
    def _check_results_post(self):
        self._check_no_error_results()

        command_stdout_file_name = self._get_stdout_file_name()
        with open(command_stdout_file_name, 'rt') as out_f_h:
            out_lines = out_f_h.readlines()

        tests.util.assert_some_line_has(self, out_lines,
                                        'Processing count files')

        from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
        from_gtf_se_header, from_gtf_se_rows, error = output_parser.parse_from_gtf(
            from_gtf_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_se_rows), 1)
        from_gtf_se_row = from_gtf_se_rows[0]
        self.assertEqual(from_gtf_se_row['GeneID'],
                         tests.util.double_quote(tests.util.gene_id_str(1)))
        self.assertEqual(from_gtf_se_row['exonStart_0base'], '200')
        self.assertEqual(from_gtf_se_row['exonEnd'], '300')

        jc_raw_se_path = os.path.join(self._out_dir, 'JC.raw.input.SE.txt')
        jc_raw_se_header, jc_raw_se_rows, error = output_parser.parse_jc_raw(
            jc_raw_se_path)
        self.assertFalse(error)
        self.assertEqual(len(jc_raw_se_rows), 1)
        jc_raw_se_row = jc_raw_se_rows[0]
        self.assertEqual(jc_raw_se_row['ID'], from_gtf_se_row['ID'])
        self.assertEqual(jc_raw_se_row['IJC_SAMPLE_1'], '1,1')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_1'], '0,0')
        self.assertEqual(jc_raw_se_row['IJC_SAMPLE_2'], '0,0')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_2'], '1,1')

        se_mats_jc_path = os.path.join(self._out_dir, 'SE.MATS.JC.txt')
        se_mats_jc_header, se_mats_jc_rows, error = output_parser.parse_mats_jc(
            se_mats_jc_path)
        self.assertFalse(error)
        self._check_se_mats_jc_header(se_mats_jc_header)
        self.assertEqual(len(se_mats_jc_rows), 1)
        se_mats_jc_row = se_mats_jc_rows[0]
        pvalue = float(se_mats_jc_row['PValue'])
        tests.util.assert_within_bounds(self, pvalue, 0, 1)
        fdr = float(se_mats_jc_row['FDR'])
        tests.util.assert_within_bounds(self, fdr, 0, 1)
        inc_level_1_splits = se_mats_jc_row['IncLevel1'].split(',')
        self.assertEqual(len(inc_level_1_splits), 2)
        self.assertAlmostEqual(float(inc_level_1_splits[0]), 1)
        self.assertAlmostEqual(float(inc_level_1_splits[1]), 1)
        inc_level_2_splits = se_mats_jc_row['IncLevel2'].split(',')
        self.assertEqual(len(inc_level_2_splits), 2)
        self.assertAlmostEqual(float(inc_level_2_splits[0]), 0)
        self.assertAlmostEqual(float(inc_level_2_splits[1]), 0)
        self.assertAlmostEqual(float(se_mats_jc_row['IncLevelDifference']), 1)
Ejemplo n.º 5
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_mxe_path = os.path.join(self._out_dir, 'fromGTF.MXE.txt')
        from_gtf_mxe_header, from_gtf_mxe_rows, error = output_parser.parse_from_gtf(
            from_gtf_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_mxe_rows), 5)
        sorted_from_gtf_mxe_rows = self._sort_by_event_coords(
            from_gtf_mxe_rows)
        self._check_event_coords(sorted_from_gtf_mxe_rows[0], '0', '100',
                                 '200', '300', '400', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[1], '1600', '1700',
                                 '1800', '1900', '2000', '2100', '2200',
                                 '2300')
        self._check_event_coords(sorted_from_gtf_mxe_rows[2], '3200', '3300',
                                 '3400', '3500', '3600', '3700', '4000',
                                 '4100')
        self._check_event_coords(sorted_from_gtf_mxe_rows[3], '4200', '4300',
                                 '4600', '4700', '4800', '4900', '5000',
                                 '5100')
        self._check_event_coords(sorted_from_gtf_mxe_rows[4], '5200', '5300',
                                 '5400', '5500', '5600', '5700', '5800',
                                 '5900')

        from_gtf_novel_junction_mxe_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.MXE.txt')
        from_gtf_novel_junction_mxe_header, from_gtf_novel_junction_mxe_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_mxe_rows), 4)
        sorted_from_gtf_novel_junction_mxe_rows = self._sort_by_event_coords(
            from_gtf_novel_junction_mxe_rows)
        self._check_event_coords(sorted_from_gtf_novel_junction_mxe_rows[0],
                                 '1600', '1700', '1800', '1900', '2000',
                                 '2100', '2200', '2300')
        self._check_event_coords(sorted_from_gtf_novel_junction_mxe_rows[1],
                                 '3200', '3300', '3400', '3500', '3600',
                                 '3700', '4000', '4100')
        self._check_event_coords(sorted_from_gtf_novel_junction_mxe_rows[2],
                                 '4200', '4300', '4600', '4700', '4800',
                                 '4900', '5000', '5100')
        self._check_event_coords(sorted_from_gtf_novel_junction_mxe_rows[3],
                                 '5200', '5300', '5400', '5500', '5600',
                                 '5700', '5800', '5900')

        from_gtf_novel_splice_site_mxe_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.MXE.txt')
        from_gtf_novel_splice_site_mxe_header, from_gtf_novel_splice_site_mxe_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_mxe_rows), 0)
Ejemplo n.º 6
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
        from_gtf_se_header, from_gtf_se_rows, error = output_parser.parse_from_gtf(
            from_gtf_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_se_rows), 7)
        sorted_from_gtf_se_rows = self._sort_by_event_coords(from_gtf_se_rows)
        self._check_event_coords(sorted_from_gtf_se_rows[0], '0', '96', '200',
                                 '300', '400', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[1], '0', '100', '200',
                                 '298', '400', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[2], '0', '100', '200',
                                 '300', '400', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[3], '0', '100', '200',
                                 '300', '404', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[4], '0', '100', '202',
                                 '298', '400', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[5], '0', '100', '202',
                                 '300', '400', '500')
        self._check_event_coords(sorted_from_gtf_se_rows[6], '600', '700',
                                 '800', '900', '1000', '1100')

        from_gtf_novel_junction_se_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.SE.txt')
        from_gtf_novel_junction_se_header, from_gtf_novel_junction_se_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_se_rows), 1)
        self._check_event_coords(from_gtf_novel_junction_se_rows[0], '600',
                                 '700', '800', '900', '1000', '1100')

        from_gtf_novel_splice_site_se_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.SE.txt')
        from_gtf_novel_splice_site_se_header, from_gtf_novel_splice_site_se_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_se_rows), 5)
        sorted_from_gtf_novel_splice_site_se_rows = self._sort_by_event_coords(
            from_gtf_novel_splice_site_se_rows)
        self._check_event_coords(sorted_from_gtf_novel_splice_site_se_rows[0],
                                 '0', '96', '200', '300', '400', '500')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_se_rows[1],
                                 '0', '100', '200', '298', '400', '500')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_se_rows[2],
                                 '0', '100', '200', '300', '404', '500')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_se_rows[3],
                                 '0', '100', '202', '298', '400', '500')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_se_rows[4],
                                 '0', '100', '202', '300', '400', '500')
Ejemplo n.º 7
0
    def _check_results(self):
        self._check_no_error_results()

        se_mats_jc_path = os.path.join(self._out_dir, 'SE.MATS.JC.txt')
        se_mats_jc_header, se_mats_jc_rows, error = output_parser.parse_mats_jc(
            se_mats_jc_path)
        self.assertFalse(error)
        self._check_se_mats_jc_header(se_mats_jc_header)
        self.assertEqual(len(se_mats_jc_rows), 2)
        expected_genes = [
            tests.util.double_quote(tests.util.gene_id_str(i)) for i in [1, 2]
        ]
        for row in se_mats_jc_rows:
            self.assertIn(row['exonStart_0base'], ['200', '1200'])
            if row['exonStart_0base'] == '200':
                self.assertEqual(row['IJC_SAMPLE_1'], '1,0')
                self.assertEqual(row['SJC_SAMPLE_1'], '1,0')
                self.assertIn(row['GeneID'], expected_genes)
            elif row['exonStart_0base'] == '1200':
                self.assertEqual(row['IJC_SAMPLE_1'], '0,1')
                self.assertEqual(row['SJC_SAMPLE_1'], '0,1')
                self.assertEqual(row['GeneID'], expected_genes[0])

        from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
        from_gtf_se_header, from_gtf_se_rows, error = (
            output_parser.parse_from_gtf(from_gtf_se_path))
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_se_rows), 2)
        gtf_coords = list()
        for row in from_gtf_se_rows:
            gtf_coords.append(row['exonStart_0base'])

        self.assertEqual(sorted(gtf_coords), ['1200', '200'])

        from_gtf_nj_se_path = os.path.join(self._out_dir,
                                           'fromGTF.novelJunction.SE.txt')
        from_gtf_nj_se_header, from_gtf_nj_se_rows, error = (
            output_parser.parse_from_gtf_novel_junction(from_gtf_nj_se_path))
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_nj_se_rows), 0)
Ejemplo n.º 8
0
    def _check_results(self):
        self._check_no_error_results()

        command_stdout_file_name = self._get_stdout_file_name()
        with open(command_stdout_file_name, 'rt') as out_f_h:
            out_lines = out_f_h.readlines()

        tests.util.assert_some_line_has(self, out_lines,
                                        'Found 1 exon skipping event')

        from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
        from_gtf_se_header, from_gtf_se_rows, error = output_parser.parse_from_gtf(
            from_gtf_se_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_se_rows), 1)
        from_gtf_se_row = from_gtf_se_rows[0]
        self.assertEqual(from_gtf_se_row['GeneID'],
                         tests.util.double_quote(tests.util.gene_id_str(1)))
        self.assertEqual(from_gtf_se_row['geneSymbol'],
                         tests.util.double_quote(tests.util.gene_name_str(1)))
        self.assertEqual(from_gtf_se_row['chr'], 'chr1')
        self.assertEqual(from_gtf_se_row['strand'], '+')
        self.assertEqual(from_gtf_se_row['exonStart_0base'], '200')
        self.assertEqual(from_gtf_se_row['exonEnd'], '300')
        self.assertEqual(from_gtf_se_row['upstreamES'], '0')
        self.assertEqual(from_gtf_se_row['upstreamEE'], '100')
        self.assertEqual(from_gtf_se_row['downstreamES'], '400')
        self.assertEqual(from_gtf_se_row['downstreamEE'], '500')

        jc_raw_se_path = os.path.join(self._out_dir, 'JC.raw.input.SE.txt')
        jc_raw_se_header, jc_raw_se_rows, error = output_parser.parse_jc_raw(
            jc_raw_se_path)
        self.assertFalse(error)
        self.assertEqual(len(jc_raw_se_rows), 1)
        jc_raw_se_row = jc_raw_se_rows[0]
        self.assertEqual(jc_raw_se_row['ID'], from_gtf_se_row['ID'])
        self.assertEqual(jc_raw_se_row['IJC_SAMPLE_1'], '1,1')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_1'], '0,0')
        self.assertEqual(jc_raw_se_row['IJC_SAMPLE_2'], '0,0')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_2'], '1,1')
Ejemplo n.º 9
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_a5ss_path = os.path.join(self._out_dir, 'fromGTF.A5SS.txt')
        from_gtf_a5ss_header, from_gtf_a5ss_rows, error = output_parser.parse_from_gtf(
            from_gtf_a5ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_a5ss_rows), 3)
        sorted_from_gtf_a5ss_rows = self._sort_by_event_coords(
            from_gtf_a5ss_rows)
        self._check_event_coords(sorted_from_gtf_a5ss_rows[0], '0', '100',
                                 '200', '300', '400')
        self._check_event_coords(sorted_from_gtf_a5ss_rows[1], '500', '600',
                                 '700', '800', '900')
        self._check_event_coords(sorted_from_gtf_a5ss_rows[2], '1000', '1100',
                                 '1200', '1300', '1400')

        from_gtf_novel_junction_a5ss_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.A5SS.txt')
        from_gtf_novel_junction_a5ss_header, from_gtf_novel_junction_a5ss_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_a5ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_a5ss_rows), 2)
        sorted_from_gtf_novel_junction_a5ss_rows = self._sort_by_event_coords(
            from_gtf_novel_junction_a5ss_rows)
        self._check_event_coords(sorted_from_gtf_novel_junction_a5ss_rows[0],
                                 '500', '600', '700', '800', '900')
        self._check_event_coords(sorted_from_gtf_novel_junction_a5ss_rows[1],
                                 '1000', '1100', '1200', '1300', '1400')

        from_gtf_novel_splice_site_a5ss_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.A5SS.txt')
        from_gtf_novel_splice_site_a5ss_header, from_gtf_novel_splice_site_a5ss_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_a5ss_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_a5ss_rows), 0)
Ejemplo n.º 10
0
 def _get_sorted_from_gtf_se_rows(self):
     from_gtf_se_path = os.path.join(self._out_dir, 'fromGTF.SE.txt')
     from_gtf_se_header, from_gtf_se_rows, error = output_parser.parse_from_gtf(
         from_gtf_se_path)
     self.assertFalse(error)
     return sorted(from_gtf_se_rows, key=lambda r: r['exonEnd'])
Ejemplo n.º 11
0
    def _check_results(self):
        self._check_no_error_results()

        from_gtf_mxe_path = os.path.join(self._out_dir, 'fromGTF.MXE.txt')
        from_gtf_mxe_header, from_gtf_mxe_rows, error = output_parser.parse_from_gtf(
            from_gtf_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_mxe_rows), 16)
        sorted_from_gtf_mxe_rows = self._sort_by_event_coords(
            from_gtf_mxe_rows)
        self._check_event_coords(sorted_from_gtf_mxe_rows[0], '0', '100',
                                 '200', '298', '400', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[1], '0', '100',
                                 '200', '298', '400', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[2], '0', '100',
                                 '200', '298', '402', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[3], '0', '100',
                                 '200', '298', '402', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[4], '0', '100',
                                 '200', '300', '400', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[5], '0', '100',
                                 '200', '300', '400', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[6], '0', '100',
                                 '200', '300', '402', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[7], '0', '100',
                                 '200', '300', '402', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[8], '0', '100',
                                 '202', '298', '400', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[9], '0', '100',
                                 '202', '298', '400', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[10], '0', '100',
                                 '202', '298', '402', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[11], '0', '100',
                                 '202', '298', '402', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[12], '0', '100',
                                 '202', '300', '400', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[13], '0', '100',
                                 '202', '300', '400', '500', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[14], '0', '100',
                                 '202', '300', '402', '498', '600', '700')
        self._check_event_coords(sorted_from_gtf_mxe_rows[15], '0', '100',
                                 '202', '300', '402', '500', '600', '700')

        from_gtf_novel_junction_mxe_path = os.path.join(
            self._out_dir, 'fromGTF.novelJunction.MXE.txt')
        from_gtf_novel_junction_mxe_header, from_gtf_novel_junction_mxe_rows, error = output_parser.parse_from_gtf_novel_junction(
            from_gtf_novel_junction_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_junction_mxe_rows), 0)

        from_gtf_novel_splice_site_mxe_path = os.path.join(
            self._out_dir, 'fromGTF.novelSpliceSite.MXE.txt')
        from_gtf_novel_splice_site_mxe_header, from_gtf_novel_splice_site_mxe_rows, error = output_parser.parse_from_gtf_novel_splice_site(
            from_gtf_novel_splice_site_mxe_path)
        self.assertFalse(error)
        self.assertEqual(len(from_gtf_novel_splice_site_mxe_rows), 15)
        sorted_from_gtf_novel_splice_site_mxe_rows = self._sort_by_event_coords(
            from_gtf_novel_splice_site_mxe_rows)
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[0],
                                 '0', '100', '200', '298', '400', '498', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[1],
                                 '0', '100', '200', '298', '400', '500', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[2],
                                 '0', '100', '200', '298', '402', '498', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[3],
                                 '0', '100', '200', '298', '402', '500', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[4],
                                 '0', '100', '200', '300', '400', '498', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[5],
                                 '0', '100', '200', '300', '402', '498', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[6],
                                 '0', '100', '200', '300', '402', '500', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[7],
                                 '0', '100', '202', '298', '400', '498', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[8],
                                 '0', '100', '202', '298', '400', '500', '600',
                                 '700')
        self._check_event_coords(sorted_from_gtf_novel_splice_site_mxe_rows[9],
                                 '0', '100', '202', '298', '402', '498', '600',
                                 '700')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_mxe_rows[10], '0', '100', '202',
            '298', '402', '500', '600', '700')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_mxe_rows[11], '0', '100', '202',
            '300', '400', '498', '600', '700')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_mxe_rows[12], '0', '100', '202',
            '300', '400', '500', '600', '700')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_mxe_rows[13], '0', '100', '202',
            '300', '402', '498', '600', '700')
        self._check_event_coords(
            sorted_from_gtf_novel_splice_site_mxe_rows[14], '0', '100', '202',
            '300', '402', '500', '600', '700')