示例#1
0
 def test_make_header_single_line_custom_feature_type(self):
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=('peak.chr',
                                   'peak.start',
                                   'peak.end',
                                   'number_of_results',
                                   'list(feature.id)'),
                           feature_type='gene',
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "peak.chr\tpeak.start\tpeak.end\tnumber_of_results\tgene.id_1\tgene.id_2")
示例#2
0
 def test_make_header_single_line_custom_feature_type(self):
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=('peak.chr',
                                   'peak.start',
                                   'peak.end',
                                   'number_of_results',
                                   'list(feature.id)'),
                           feature_type='gene',
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "peak.chr\tpeak.start\tpeak.end\tnumber_of_results\tgene.id_1\tgene.id_2")
示例#3
0
 def test_make_header_single_line_arbitrary_field(self):
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=('peak.chr',
                                   'peak.start',
                                   'peak.end',
                                   'cutoff',
                                   'number_of_results',
                                   'list(feature.id)'),
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "peak.chr\tpeak.start\tpeak.end\tcutoff\tnumber_of_results\tfeature.id_1\tfeature.id_2")
示例#4
0
 def test_make_header_multi_line_custom_feature_type(self):
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=('feature.id',
                                   'feature.chr',
                                   'feature.start',
                                   'feature.end',
                                   'peak.chr',
                                   'peak.start',
                                   'peak.end'),
                           feature_type='gene',
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "gene.id\tgene.chr\tgene.start\tgene.end\tpeak.chr\tpeak.start\tpeak.end")
示例#5
0
 def test_make_header_multi_line_custom_feature_type(self):
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=('feature.id',
                                   'feature.chr',
                                   'feature.start',
                                   'feature.end',
                                   'peak.chr',
                                   'peak.start',
                                   'peak.end'),
                           feature_type='gene',
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "gene.id\tgene.chr\tgene.start\tgene.end\tpeak.chr\tpeak.start\tpeak.end")
示例#6
0
 def test_make_header_multi_line_arbitrary_field(self):
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=('feature.id',
                                   'feature.chr',
                                   'feature.start',
                                   'feature.end',
                                   'cutoff',
                                   'peak.chr',
                                   'peak.start',
                                   'peak.end'),
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "feature.id\tfeature.chr\tfeature.start\tfeature.end\tcutoff\tpeak.chr\tpeak.start\tpeak.end")
示例#7
0
 def test_report_nearest_features_multi_line_max_hits(self):
     # Expected lines
     expected = (
         "chr2L\t66811\t66812\t1 of 2\tCG31973\t7568\t7568",
         "chr2L\t66811\t66812\t2 of 2\tCG2674-RE\t40091\t40091",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=2)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_features(self.peak,
                                        self.features),
             expected):
         self.assertEqual(line,expected_line)
示例#8
0
 def test_report_nearest_peaks_multi_line_max_hits(self):
     # Expected lines
     expected = (
         "CG31973\t1 of 2\tchr2L\t66711\t66911\t7468\t7468",
         "CG31973\t2 of 2\tchr2L\t249077\t249277\t189834\t189834",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=2)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#9
0
 def test_report_nearest_features_multi_line_max_hits(self):
     # Expected lines
     expected = (
         "chr2L\t66811\t66812\t1 of 2\tCG31973\t7568\t7568",
         "chr2L\t66811\t66812\t2 of 2\tCG2674-RE\t40091\t40091",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=2)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_features(self.peak,
                                        self.features),
             expected):
         self.assertEqual(line,expected_line)
示例#10
0
 def test_report_nearest_peaks_multi_line_max_hits(self):
     # Expected lines
     expected = (
         "CG31973\t1 of 2\tchr2L\t66711\t66911\t7468\t7468",
         "CG31973\t2 of 2\tchr2L\t249077\t249277\t189834\t189834",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=2)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#11
0
 def test_report_nearest_features_single_line(self):
     # Expected lines
     expected = (
         "chr2L\t66811\t66812\t3\t"
         "CG31973\t7568\t7568\t"
         "CG2674-RE\t40091\t40091\t"
         "CG2674-RC\t41114\t41114",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_features(self.peak,
                                        self.features),
             expected):
         self.assertEqual(line,expected_line)
示例#12
0
 def test_report_nearest_peaks_single_line(self):
     # Expected lines
     expected = (
         "CG31973\t3\t"
         "chr2L\t66711\t66911\t7468\t7468\t"
         "chr2L\t249077\t249277\t189834\t189834\t"
         "chr2L\t605850\t606050\t546607\t546607",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#13
0
 def test_report_nearest_features_single_line(self):
     # Expected lines
     expected = (
         "chr2L\t66811\t66812\t3\t"
         "CG31973\t7568\t7568\t"
         "CG2674-RE\t40091\t40091\t"
         "CG2674-RC\t41114\t41114",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_features(self.peak,
                                        self.features),
             expected):
         self.assertEqual(line,expected_line)
示例#14
0
 def test_report_nearest_peaks_single_line(self):
     # Expected lines
     expected = (
         "CG31973\t3\t"
         "chr2L\t66711\t66911\t7468\t7468\t"
         "chr2L\t249077\t249277\t189834\t189834\t"
         "chr2L\t605850\t606050\t546607\t546607",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#15
0
 def test_report_nearest_features_single_line_extra_data(self):
     # Expected lines
     expected = (
         "chr2L\t66811\t66812\t100000\t2\t"
         "CG31973\t7568\t7568\t"
         "CG2674-RE\t40091\t40091",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields_extra_data,
                           max_hits=2)
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_features(self.peak,
                                        self.features,
                                        cutoff=100000),
             expected):
         self.assertEqual(line,expected_line)
示例#16
0
 def test_report_nearest_peaks_single_line_extra_data(self):
     # Expected lines
     expected = (
         "CG31973\t100000\t2\t"
         "chr2L\t66711\t66911\t7468\t7468\t"
         "chr2L\t249077\t249277\t189834\t189834",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.SINGLE_LINE,
                           fields=self.single_line_fields_extra_data,
                           max_hits=2,
                           null_placeholder='.')
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks,
                                     cutoff=100000),
             expected):
         self.assertEqual(line,expected_line)
示例#17
0
 def test_report_nearest_peaks_multi_line_pad(self):
     # Expected lines
     expected = (
         "CG31973\t1 of 3\tchr2L\t66711\t66911\t7468\t7468",
         "CG31973\t2 of 3\tchr2L\t249077\t249277\t189834\t189834",
         "CG31973\t3 of 3\tchr2L\t605850\t606050\t546607\t546607",
         "CG31973\t.\t.\t.\t.\t.\t.",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=4,
                           pad=True,
                           null_placeholder='.')
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#18
0
 def test_report_nearest_peaks_multi_line_pad(self):
     # Expected lines
     expected = (
         "CG31973\t1 of 3\tchr2L\t66711\t66911\t7468\t7468",
         "CG31973\t2 of 3\tchr2L\t249077\t249277\t189834\t189834",
         "CG31973\t3 of 3\tchr2L\t605850\t606050\t546607\t546607",
         "CG31973\t.\t.\t.\t.\t.\t.",
     )
     # Set up to report some stuff
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=self.multi_line_fields,
                           max_hits=4,
                           pad=True,
                           null_placeholder='.')
     # Check that output matches
     for line,expected_line in izip_longest(
             ap.report_nearest_peaks(self.feature,
                                     self.peaks),
             expected):
         self.assertEqual(line,expected_line)
示例#19
0
 def test_make_header_multi_line(self):
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=('feature.id',
                                   'feature.chr',
                                   'feature.start',
                                   'feature.end',
                                   'peak.chr',
                                   'peak.start',
                                   'peak.end'))
     self.assertEqual(ap.make_header(),
                      "feature.id\tfeature.chr\tfeature.start\tfeature.end\tpeak.chr\tpeak.start\tpeak.end")
     ap = AnalysisReporter(output.MULTI_LINE,
                           fields=('feature.id',
                                   'feature.chr',
                                   'feature.start',
                                   'feature.end',
                                   'peak.chr',
                                   'peak.start',
                                   'peak.end'),
                           max_hits=2)
     self.assertEqual(ap.make_header(),
                      "feature.id\tfeature.chr\tfeature.start\tfeature.end\tpeak.chr\tpeak.start\tpeak.end")