def test_collate_samples(self): """Ensure collate_samples task works.""" sample1_data = {'name': 'Sample01', KRAKEN_NAME: create_kraken()} sample2_data = {'name': 'Sample02', KRAKEN_NAME: create_kraken()} sample1 = Sample(**sample1_data).save() sample2 = Sample(**sample2_data).save() sample_group = add_sample_group(name='SampleGroup01') sample_group.samples = [sample1, sample2] db.session.commit() samples = [sample.fetch_safe() for sample in [sample1, sample2]] result = collate_samples.delay(KRAKEN_NAME, ['taxa'], samples).get() self.assertIn('Sample01', result) self.assertIn('Sample02', result) self.assertIn('taxa', result['Sample01']) self.assertIn('taxa', result['Sample02'])
def test_run_taxa_tree_sample(self): # pylint: disable=invalid-name """Ensure TaxaTree run_sample produces correct results.""" kwargs = { KrakenResultModule.name(): create_kraken(), KrakenHLLResultModule.name(): create_krakenhll(), Metaphlan2ResultModule.name(): create_metaphlan2(), } self.generic_run_sample_test(kwargs, TaxaTreeDisplayModule)
def test_tsne_returns_data(self): """ Ensure run_tsne method returns array of the correct size. tSNE is non-deterministic so that is as close as we can get to a real test. """ sample_dict = {f'SMPL_{i}': dict(create_kraken().taxa) for i in range(3)} tsne_output = run_tsne(sample_dict) self.assertEqual((3, 2), tsne_output.shape)
def create_sample(i): """Create unique sample for index i.""" args = { 'name': f'Sample{i}', 'metadata': {'foobar': f'baz{i}'}, CARDAMRResultModule.name(): create_card_amr(), KrakenResultModule.name(): create_kraken(), Metaphlan2ResultModule.name(): create_metaphlan2(), } return Sample(**args).save()
def create_sample(i): """Create unique sample for index i.""" metadata = {'foobar': f'baz{i}'} sample_data = { 'name': f'Sample{i}', 'metadata': metadata, KRAKEN_NAME: create_kraken(), KRAKENHLL_NAME: create_krakenhll(), METAPHLAN2_NAME: create_metaphlan2(), } return Sample(**sample_data).save()
def create_sample(i): """Create unique sample for index i.""" return Sample( **{ 'name': f'Sample{i}', 'metadata': { 'foobar': f'baz{i}' }, KrakenResultModule.name(): create_kraken(), KrakenHLLResultModule.name(): create_krakenhll(), Metaphlan2ResultModule.name(): create_metaphlan2(), }).save()
def test_clean_zeroed_samples(self): """Ensure get_clean_samples method removes features below threshold.""" sample_dict = {f'SMPL_{i}': dict(create_kraken().taxa) for i in range(3)} sample_dict['SMPL_1']['somebadkingdom'] = 0.0000001 all_feature_ids = set([]) for feature_set in sample_dict.values(): all_feature_ids |= set(feature_set.keys()) result = get_clean_samples(sample_dict) for feature_set in result.values(): self.assertNotIn('somebadkingdom', feature_set)
def test_clean_samples(self): """Ensure get_clean_samples method adds missing features to all samples.""" sample_dict = {f'SMPL_{i}': create_kraken().taxa for i in range(3)} all_feature_ids = set([]) for feature_set in sample_dict.values(): all_feature_ids |= set(feature_set.keys()) result = get_clean_samples(sample_dict, no_zero_features=False) for feature_set in result.values(): for feature_id in all_feature_ids: self.assertIn(feature_id, feature_set)
def create_sample(i): """Create unique sample for index.""" sample_data = {'name': f'SMPL_{i}', KRAKEN_NAME: create_kraken()} return Sample(**sample_data)
def test_tool_result_names(self): """Ensure tool_result_names property works as expected.""" sample_data = {'name': 'SMPL_01', KRAKEN_NAME: create_kraken()} sample = Sample(**sample_data).save() self.assertEqual(len(sample.tool_result_names), 1) self.assertIn(KRAKEN_NAME, sample.tool_result_names)