Пример #1
0
    def _check_results_base(self):
        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['IJC_SAMPLE_1'], '1,0')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_1'], '0,1')
        self.assertEqual(jc_raw_se_row['IJC_SAMPLE_2'], '')
        self.assertEqual(jc_raw_se_row['SJC_SAMPLE_2'], '')

        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]
        self.assertEqual(se_mats_jc_row['PValue'], 'NA')
        self.assertEqual(se_mats_jc_row['FDR'], 'NA')
        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]), 0)
        self.assertEqual(se_mats_jc_row['IncLevel2'], '')
        self.assertEqual(se_mats_jc_row['IncLevelDifference'], 'NA')
Пример #2
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)
Пример #3
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')