def test_descriptive_stats_integration(self): seqs = DNAIterator(skbio.DNA(a, metadata=b)for a, b in ( ('A', {'id': 'seq01'}), ('AA', {'id': 'seq02'}), ('AAA', {'id': 'seq03'}), ('AAAA', {'id': 'seq04'}), ('AAAA', {'id': 'seq05'}), ('AAA', {'id': 'seq06'}), ('AA', {'id': 'seq07'}), ('AAAAAAAAAA', {'id': 'seq08'}))) with tempfile.TemporaryDirectory() as output_dir: tabulate_seqs(output_dir, seqs) expected_fp = os.path.join(output_dir, 'index.html') # all expected values are unique. If they all render in index.html, our # function likely worked as expected. with open(expected_fp) as fh: file_text = fh.read() self.assertTrue('<td>8</td>' in file_text) self.assertTrue('<td>1</td>' in file_text) self.assertTrue('<td>10</td>' in file_text) self.assertTrue('<td>3.62</td>' in file_text) self.assertTrue('<td>9</td>' in file_text) self.assertTrue('<td>1</td>' in file_text) self.assertTrue('<td>1</td>' in file_text) self.assertTrue('<td>2</td>' in file_text) self.assertTrue('<td>3</td>' in file_text) self.assertTrue('<td>4</td>' in file_text) self.assertTrue('<td>6</td>' in file_text) self.assertTrue('<td>9</td>' in file_text)
def test_tsv_builder(self): seqs = DNAIterator( skbio.DNA(a, metadata=b) for a, b in (('A', { 'id': 'seq01' }), ('AA', { 'id': 'seq02' }), ('AAA', { 'id': 'seq03' }), ('AAAA', { 'id': 'seq04' }), ('AAAA', { 'id': 'seq05' }), ('AAA', { 'id': 'seq06' }), ('AA', { 'id': 'seq07' }), ('AAAAAAAAAA', { 'id': 'seq08' }))) # Do the files exist? with tempfile.TemporaryDirectory() as output_dir: tabulate_seqs(output_dir, seqs) expected_stats_fp = os.path.join(output_dir, 'descriptive_stats.tsv') expected_summary_fp = os.path.join(output_dir, 'seven_number_summary.tsv') self.assertTrue(os.path.exists(expected_stats_fp)) self.assertTrue(os.path.exists(expected_summary_fp)) # Was data written to the files? with open(expected_stats_fp) as stats_tsv: tsv_reader = csv.reader(stats_tsv, dialect="excel-tab") tsv_text = [] for row in tsv_reader: tsv_text.append(row) self.assertEqual(['Statistic', 'Value'], tsv_text[0]) self.assertEqual(['count', '8'], tsv_text[1]) with open(expected_summary_fp) as summ_tsv: tsv_reader = csv.reader(summ_tsv, dialect="excel-tab") tsv_text = [] for row in tsv_reader: tsv_text.append(row) self.assertEqual(['Quantile', 'Value'], tsv_text[0]) self.assertEqual(['0.02', '1.14'], tsv_text[1]) # Does link html generate correctly? expected_index_fp = os.path.join(output_dir, 'index.html') with open(expected_index_fp) as fh: self.assertTrue('href="descriptive_stats.tsv"' in fh.read()) with open(expected_index_fp) as fh: self.assertTrue('href="seven_number_summary.tsv"' in fh.read())
def test_basic(self): seqs = DNAIterator( (s for s in (skbio.DNA('ACGT', metadata={'id': 'seq1'}), skbio.DNA('AAAA', metadata={'id': 'seq2'})))) with tempfile.TemporaryDirectory() as output_dir: tabulate_seqs(output_dir, seqs) expected_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(expected_fp)) self.assertTrue('ACGT</a>' in open(expected_fp).read()) self.assertTrue('<td>seq2</td>' in open(expected_fp).read())
def test_basic(self): seqs = DNAIterator(skbio.DNA(a, metadata=b) for a, b in( ('ACGT', {'id': 'seq1'}), ('AAAA', {'id': 'seq2'}))) with tempfile.TemporaryDirectory() as output_dir: tabulate_seqs(output_dir, seqs) expected_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(expected_fp)) with open(expected_fp) as fh: file_text = fh.read() self.assertTrue('ACGT</a>' in file_text) self.assertTrue('<td>4</td>' in file_text) self.assertTrue('<td>seq2</td>' in file_text)