def test_make_control_report(self): """ Test that the report gets written proppa """ cmph5 = os.path.join(self.DATA_DIR, 'control_reads.cmp.h5') csv = os.path.join(self.DATA_DIR, 'filtered_summary.csv') make_control_report(cmph5, csv, 'foo.json', self._output_dir, 60, False) # deserialize report s = None with open(os.path.join(self._output_dir, 'foo.json'), 'r') as f: s = json.load(f) report = dict_to_report(s) self.assertEqual(7, len(report.attributes)) for i in range(2): pg = report.plotGroups[i] self.assertFalse(os.path.isabs(pg.thumbnail)) self.assertTrue( os.path.exists(os.path.join(self._output_dir, pg.thumbnail))) p = pg.plots[0] self.assertFalse(os.path.isabs(p.image)) self.assertTrue( os.path.exists(os.path.join(self._output_dir, p.image)))
def test_make_control_report(self): """ Test that the report gets written proppa """ cmph5 = os.path.join(self.DATA_DIR, 'control_reads.cmp.h5') csv = os.path.join(self.DATA_DIR, 'filtered_summary.csv') make_control_report(cmph5, csv, 'foo.json', self._output_dir, 60, False) # deserialize report s = None with open(os.path.join(self._output_dir, 'foo.json'), 'r') as f: s = json.load(f) report = dict_to_report(s) validate_report_complete(self, report) self.assertEqual(7, len(report.attributes)) for i in range(2): pg = report.plotGroups[i] self.assertFalse(os.path.isabs(pg.thumbnail)) self.assertTrue(os.path.exists( os.path.join(self._output_dir, pg.thumbnail))) p = pg.plots[0] self.assertFalse(os.path.isabs(p.image)) self.assertTrue(os.path.exists( os.path.join(self._output_dir, p.image)))
def test_make_coverage_report_none_csv(self): """ csv cannot be null """ cmph5 = os.path.join(self.DATA_DIR, 'control_reads.cmp.h5') with self.assertRaises(PbReportError): make_control_report(cmph5, None, 'foo.json', self._output_dir, '1', False)
def test_make_coverage_report_no_cmp_h5(self): """ cmp.h5 must exist """ csv = os.path.join(self.DATA_DIR, 'filtered_summary.csv') with self.assertRaises(IOError): make_control_report('foo', csv, 'foo.json', self._output_dir, '1', False)
def test_make_coverage_report_none_cmp_h5(self): """ cmp.h5 cannot be null """ csv = os.path.join(self.DATA_DIR, 'filtered_summary.csv') with self.assertRaises(PbReportError): make_control_report(None, csv, 'foo.json', self._output_dir, '1', False)
def test_make_coverage_report_no_csv(self): """ csv must exist """ cmph5 = os.path.join(self.DATA_DIR, 'control_reads.cmp.h5') with self.assertRaises(IOError): make_control_report(cmph5, 'foo', 'foo.json', self._output_dir, '1', False)
def _create_control_report(self): """ Creates and returns a Control Report """ from pbreports.report.control import make_control_report datadir = os.path.join(ROOT_DATA_DIR, 'control') log.info('Creating Control report using datadir {d}'.format(d=datadir)) cmph5 = os.path.join(datadir, 'control_reads.cmp.h5') csv = os.path.join(datadir, 'filtered_summary.csv') report_json = 'control.json' output_json = os.path.join(self._output_dir, report_json) dpi = 60 dumpdata = False make_control_report(cmph5, csv, report_json, self._output_dir, dpi, dumpdata) return self._deserialize_report(output_json)
def _create_control_report(self): """ Creates and returns a Control Report """ from pbreports.report.control import make_control_report datadir = os.path.join(ROOT_DATA_DIR, 'control') log.info('Creating Control report using datadir {d}'.format(d=datadir)) cmph5 = os.path.join(datadir, 'control_reads.cmp.h5') csv = os.path.join(datadir, 'filtered_summary.csv') report_json = 'control.json' output_json = os.path.join(self._output_dir, report_json) dpi = 60 dumpdata = False make_control_report( cmph5, csv, report_json, self._output_dir, dpi, dumpdata) return self._deserialize_report(output_json)
def run_report(args): return make_control_report(args.cntrCmpH5, args.csv, args.report, args.output, args.dpi, args.dumpdata)