예제 #1
0
    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)
예제 #2
0
 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)
예제 #3
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')
예제 #4
0
 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")
예제 #5
0
 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())
예제 #6
0
 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)
예제 #7
0
 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)