def test_12_generate_functions_taxonomy_stamp_input(self): for sample_id in self.project.list_samples(): self.project.import_reads_json(sample_id, self.project.ENDS) metrics = 'efpkg' # metrics = 'fragmentcount' scores = get_function_taxonomy_scores(self.project,metrics=metrics) generate_functions_taxonomy_stamp_input(self.project, scores, metrics)
def test_5_generate_functions_samples_xlsx(self): for sample_id in self.project.list_samples(): self.project.import_reads_json(sample_id, self.project.ENDS) metrics = 'efpkg' rank = 'phylum' scores = get_function_taxonomy_scores(self.project, metrics=metrics) generate_sample_taxonomy_function_xlsx(self.project, scores, metrics=metrics, rank = rank) self.assertTrue(len(scores) > 0)
def test_0320_convert_profile_into_score_df(self): self.project.import_reads_json(sample_id, ENDS) scores = get_function_taxonomy_scores(self.project, sample_id=sample_id, metric='fpk') sample_scores_taxonomy = slice_function_taxonomy_scores( scores, sample_id) taxonomy_profile = TaxonomyProfile() taxonomy_profile.make_function_taxonomy_profile( self.project.taxonomy_data, sample_scores_taxonomy) result = taxonomy_profile.convert_profile_into_score_df(metric='fpk') self.assertEqual(result.iloc[0][1], 'root') self.assertEqual(result.iloc[1][0], 'superkingdom')
def test_0290_stringify_node(self): self.project.import_reads_json(sample_id, ENDS) scores = get_function_taxonomy_scores(self.project, sample_id=sample_id, metric='fpk') sample_scores_taxonomy = slice_function_taxonomy_scores( scores, sample_id) taxonomy_profile = TaxonomyProfile() taxonomy_profile.make_function_taxonomy_profile( self.project.taxonomy_data, sample_scores_taxonomy) self.assertEqual( taxonomy_profile.stringify_node('118883', 0), "118883\tfamily\tSulfolobaceae\tParent:2281\tChildren:None\tUreC:{'count': 1.0, 'hit_count': 1.0" ", 'identity': 68.8, 'fpk': 0.5984440454817475}\n")
def test_0330_convert_node_into_dict(self): self.project.import_reads_json(sample_id, ENDS) scores = get_function_taxonomy_scores(self.project, sample_id=sample_id, metric='fpk') sample_scores_taxonomy = slice_function_taxonomy_scores( scores, sample_id) taxonomy_profile = TaxonomyProfile() taxonomy_profile.make_function_taxonomy_profile( self.project.taxonomy_data, sample_scores_taxonomy) result, attributes = taxonomy_profile.convert_node_into_values_dict( '118883', ['UreC', 'UreA'], 1, metric='fpk') self.assertEqual(result[1][('', 'Taxon name')], 'Sulfolobaceae') self.assertEqual(result[1][('UreC', 'fpk')], 0.5984440454817475) self.assertEqual(result[1][('UreA', 'fpk')], 0.0) self.assertEqual(attributes['UreC']['fpk'], 0.5984440454817475) self.assertNotIn('UreA', attributes.keys())
def test_collect_taxonomic_data(self): print ('Load project from JSON') sample_id = 'FW306-ZV-1' metrics = 'efpkg' self.project.import_reads_json(sample_id, ENDS) sample_scores = get_function_taxonomy_scores(self.project, sample_id = sample_id, metrics = metrics)# autovivify(2, float) with open('sample1_taxonomy_scores.tsv', 'w') as of: of.write('Taxonomy_ID\tFunction_ID\tScore\n') for taxonomy_id in sorted(sample_scores.keys()): for function_id in sorted(sample_scores[taxonomy_id].keys()): of.write('\t'.join([taxonomy_id,function_id,str(sample_scores[taxonomy_id][function_id][sample_id][metrics])]) + '\n') of.close() self.assertEqual(len(self.project.samples), 6)
def test_0270_make_function_taxonomy_profile(self): self.project.import_reads_json(sample_id, ENDS) scores = get_function_taxonomy_scores(self.project, sample_id=sample_id, metric='fpk') sample_scores_taxonomy = slice_function_taxonomy_scores( scores, sample_id) taxonomy_profile = TaxonomyProfile() taxonomy_profile.make_function_taxonomy_profile( self.project.taxonomy_data, sample_scores_taxonomy) print(taxonomy_profile) self.assertEqual(len(taxonomy_profile.tree.data), 22) self.assertEqual( taxonomy_profile.tree.data[ROOT_TAXONOMY_ID].attributes['NirK'] ['count'], 1.0) self.assertEqual( taxonomy_profile.tree.data[ROOT_TAXONOMY_ID].attributes['UreA'] ['count'], 3.0) self.assertEqual( taxonomy_profile.tree.data['118883'].attributes['UreC']['count'], 1.0)