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")
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")
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")
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")
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)
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)
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)
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)
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)
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)
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)
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")