def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'test' conf = config.TestConfig() cls.username = conf.USERNAME cls.password = conf.PASSWORD cls.MongoDB = conf.SERVER cls.src = query_taxon_tree.QueryTaxonTree( cache_dirname=cls.cache_dirname, MongoDB=cls.MongoDB, db=cls.db, collection_str='test_taxon_tree', verbose=True, max_entries=20, username = cls.username, password = cls.password, readPreference='primary') dic_0 = {'tax_id': 0, 'tax_name': 's0', 'anc_id': [5,4,3,2,1], 'anc_name': ['s5', 's4', 's3', 's2', 's1']} dic_1 = {'tax_id': 1, 'tax_name': 's1', 'anc_id': [5,4,3,2], 'anc_name': ['s5', 's4', 's3', 's2']} dic_2 = {'tax_id': 2, 'tax_name': 's2', 'anc_id': [5,4,3], 'anc_name': ['s5', 's4', 's3']} dic_3 = {'tax_id': 3, 'tax_name': 's3', 'anc_id': [5,4], 'anc_name': ['s5', 's4']} dic_4 = {'tax_id': 4, 'tax_name': 's4', 'anc_id': [5], 'anc_name': ['s5']} dic_5 = {'tax_id': 5, 'tax_name': 's5', 'anc_id': [], 'anc_name': []} dic_6 = {'tax_id': 6, 'tax_name': 's6', 'anc_id': [5,4,3,2], 'anc_name': ['s5', 's4', 's3', 's2']} dic_7 = {'tax_id': 7, 'tax_name': 's7', 'anc_id': [5,4,3,2,6], 'anc_name': ['s5', 's4', 's3', 's2', 's6']} dic_8 = {'tax_id': 8, 'tax_name': 's8', 'anc_id': [5,4,3,2,6,7], 'anc_name': ['s5', 's4', 's3', 's2', 's6', 's7']} dic_9 = {'tax_id': 9, 'tax_name': 's9', 'anc_id': [5,4,3], 'anc_name': ['s5', 's4', 's3']} dic_10 = {'tax_id': 10, 'tax_name': 's10', 'anc_id': [5,4,3,9], 'anc_name': ['s5', 's4', 's3', 's9']} dic_11 = {'tax_id': 11, 'tax_name': 's11', 'anc_id': [5,4,3,2,1,0], 'anc_name': ['s5', 's4', 's3', 's2', 's1', 's0']} dic_12 = {'tax_id': 12, 'tax_name': 's12', 'anc_id': [5,4,3,2,1,0], 'anc_name': ['s5', 's4', 's3', 's2', 's1', 's0']} dic_13 = {'tax_id': 13, 'tax_name': 's13', 'anc_id': [5,4,3,2,1], 'anc_name': ['s5', 's4', 's3', 's2', 's1']} cls.src.collection.insert_many([dic_0,dic_1,dic_2,dic_3,dic_4, dic_5,dic_6,dic_7,dic_8,dic_9,dic_10,dic_11,dic_12,dic_13])
def setUpClass(cls): conf = config.TestConfig() cls.src = query_demo.QueryDemo(MongoDB=conf.SERVER, db='datanator-test', collection_str="taxon_tree", username=conf.USERNAME, password=conf.PASSWORD)
def setUpClass(cls): db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = tabu.Tabu(MongoDB=MongoDB, username=username, password=password, db=db, max_entries=20, verbose=True, authSource='admin', readPreference='nearest')
def setUpClass(cls): conf = config.TestConfig() cls.collection_str = 'brenda_reaction' username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = reaction.BrendaRxn(MongoDB=MongoDB, db='test', collection_str=cls.collection_str, username=username, password=password, authSource='admin', max_entries=20, verbose=True)
def setUpClass(cls): des_db = 'test' collection_str = 'metabolite_concentrations' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = doi_10_1038_nchembio_2077.Concentration(MongoDB=MongoDB, db=des_db, collection_str=collection_str, username=username, password=password, authSource='admin', readPreference='nearest', verbose=True, max_entries=float('inf'))
def setUpClass(cls): db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.col_str = 'rna_halflife_new' cls.src = query_rna_halflife.QueryRNA(server=MongoDB, username=username, password=password, verbose=True, db=db, collection_str=cls.col_str, readPreference='nearest')
def setUpClass(cls): conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = query_metabolite_concentrations.QueryMetaboliteConcentrations( MongoDB=MongoDB, password=password, username=username, db='datanator', collection_str='metabolite_concentrations')
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' conf = config.TestConfig() cls.username = conf.USERNAME cls.password = conf.PASSWORD cls.MongoDB = conf.SERVER cls.src = query_taxon_tree.QueryTaxonTree( cache_dirname=cls.cache_dirname, MongoDB=cls.MongoDB, db=cls.db, verbose=True, max_entries=20, username = cls.username, password = cls.password, readPreference='nearest')
def init_query_pax(): db = 'datanator' conf = config_query.TestConfig() username = conf.MONGO_TEST_USERNAME password = conf.MONGO_TEST_PASSWORD MongoDB = conf.SERVER pax_manager = query_pax.QueryPax(MongoDB=MongoDB, db=db, verbose=True, username=username, password=password) return pax_manager
def setUpClass(cls): db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = query_kegg_organism_code.QueryKOC( username=username, password=password, server=MongoDB, database=db, collection_str='kegg_organism_code')
def setUpClass(cls): des_db = 'test' src_db = 'datanator' cls.protein_col = 'uniprot' cls.rna_col = 'rna_halflife' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = doi_10_1038_srep01318.Halflife(server=MongoDB, src_db=src_db, protein_col=cls.protein_col, authDB='admin', readPreference='nearest', username=username, password=password, verbose=True, max_entries=20, des_db=des_db, rna_col=cls.rna_col)
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = query_metabolites.QueryMetabolites( cache_dirname=cls.cache_dirname, MongoDB=MongoDB, db=cls.db, verbose=True, max_entries=20, username=username, password=password)
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_kegg_orthology.QueryKO(server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password) cls.file_manager = file_util.FileUtil()
def setUpClass(cls): db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = query_uniprot.QueryUniprot(username=username, password=password, server=MongoDB, database=db, collection_str='uniprot') cls.src_test = query_uniprot.QueryUniprot(username=username, password=password, server=MongoDB, database='test', collection_str='uniprot') record_0 = {'uniprot_id': 'Q9VB24'} cls.src_test.collection.insert_many([record_0])
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_sabio_reaction_entries.QuerySabioRxn( cache_dirname=cls.cache_dirname, MongoDB=cls.MongoDB, db=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password)
def setUpClass(cls): cls.db = 'test' conf = query_config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_xmdb.QueryXmdb(server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password, collection_str='test_query_ecmdb') doc_0 = { 'm2m_id': 'm2m_0', 'concentrations': ['some values 0'], 'inchikey': 'key0', 'name': 'name0' } doc_1 = { 'm2m_id': 'm2m_1', 'not_concentrations': ['some values'], 'inchikey': 'key1', 'name': 'name1' } doc_2 = { 'm2m_id': 'm2m_2', 'concentrations': ['some values 1'], 'inchikey': 'key2', 'name': 'name2' } doc_3 = { 'm2m_id': 'm2m_2', 'field_0': ['some values 1'], 'field_2': 'add', 'inchikey': 'key3', 'name': 'name3' } cls.src.collection.insert_many([doc_0, doc_1, doc_2, doc_3])
def setUpClass(cls): cls.db = 'test' conf = query_config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_corum.QueryCorum(server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username = cls.username, password = cls.password, collection_str='test_query_corum', readPreference='primary') doc_0 = {'subunits_uniprot_id': ['P0', 'P1'], 'SWISSPROT_organism_NCBI_ID': 9606} doc_1 = {'subunits_uniprot_id': ['P1', 'P2'], 'SWISSPROT_organism_NCBI_ID': 9606} doc_2 = {'subunits_uniprot_id': ['P1', 'P2', 'P3'], 'SWISSPROT_organism_NCBI_ID': 9606} doc_3 = {'subunits_uniprot_id': ['P1', 'P2'], 'SWISSPROT_organism_NCBI_ID': 9607} doc_4 = {'subunits_uniprot_id': ['P1', 'P3'], 'SWISSPROT_organism_NCBI_ID': 9607} cls.src.collection.insert_many([doc_0,doc_1,doc_2,doc_3,doc_4])
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_sabiork_old.QuerySabioOld( cache_dirname=cls.cache_dirname, MongoDB=cls.MongoDB, db=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password, readPreference='primary')
def setUpClass(cls): des_db = 'test' src_db = 'datanator' cls.src_collection = 'rna_halflife_new' cls.des_collection = 'rna_halflife_test' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = order_by_ko.Reorg(MongoDB=MongoDB, src_db=src_db, verbose=False, max_entries=20, username=username, password=password, authSource='admin', readPreference='nearest', des_collection=cls.des_collection, src_collection=cls.src_collection, des_db=des_db)
def setUpClass(cls): src_db = 'datanator' des_db = 'test' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER username = username password = password cls.cache_dir = tempfile.mkdtemp() cls.protein_col = 'uniprot' cls.rna_col = 'rna_halflife' cls.src = rna_halflife_util.RnaHLUtil(server=MongoDB, username=username, password=password, src_db=src_db, des_db=des_db, protein_col=cls.protein_col, rna_col=cls.rna_col, readPreference='nearest', cache_dir=cls.cache_dir)
def setUpClass(cls): cls.cache_dirname = tempfile.mkdtemp() cls.db = 'datanator' cls.duplicate = 'duplicate_test' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = mongo_util.MongoUtil(cache_dirname=cls.cache_dirname, MongoDB=MongoDB, db=cls.db, verbose=True, max_entries=20, username=username, password=password) cls.collection_str = 'ecmdb' cls.src_test = mongo_util.MongoUtil(cache_dirname=cls.cache_dirname, MongoDB=MongoDB, db='test', verbose=True, max_entries=20, username=username, password=password) docs = [{ "name": "mike", "num": 0 }, { "name": "jon", "num": 1 }, { "name": "john", "num": 2 }, { "name": "mike", "num": 3 }] cls.src_test.db_obj[cls.duplicate].insert_many(docs) cls.schema_test = "schema_test" time.sleep(1)
def setUpClass(cls): des_db = 'test' src_db = 'datanator' cls.protein_col = 'uniprot' cls.rna_col = 'rna_halflife' cls.cache_dir = tempfile.mkdtemp() conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.src = doi_10_1371_journal_pone_0059059.Halflife( server=MongoDB, src_db=src_db, protein_col=cls.protein_col, authDB='admin', readPreference='nearest', username=username, password=password, verbose=True, max_entries=20, des_db=des_db, rna_col=cls.rna_col, cache_dir=cls.cache_dir)
def setUpClass(cls): cls.db = 'test' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_sabio_compound.QuerySabioCompound( server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password, collection_str='test_query_sabio_compound', readPreference='nearest') compound_0 = { '_id': 0, 'name': 'a', 'synonyms': ['a0', 'a1', 'a2'], 'inchi_key': 'asdf0' } compound_1 = { '_id': 1, 'name': 'b', 'synonyms': ['b0', 'b1', 'b2'], 'inchi_key': 'asdf1' } compound_2 = { '_id': 2, 'name': 'c', 'synonyms': ['c0', 'c1', 'c2'], 'inchi_key': 'asdf2' } cls.src.collection.insert_many([compound_0, compound_1, compound_2])
def setUpClass(cls): cls.db = 'test' conf = query_config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_intact_complex.QueryIntactComplex( server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username=cls.username, password=cls.password, collection_str='test_query_intact_complex', readPreference='primary') doc_0 = {'name': 'name_0', 'ncbi_id': 9606} doc_1 = {'name': 'name_1', 'ncbi_id': 9607} doc_2 = {'name': 'name_2', 'ncbi_id': 9606} doc_3 = {'name': 'name_3', 'ncbi_id': 9607} cls.src.collection.insert_many([doc_0, doc_1, doc_2, doc_3]) time.sleep(1)
def setUpClass(cls): cls.db = 'test' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER cls.MongoDB = MongoDB cls.username = username cls.password = password cls.src = query_protein.QueryProtein(server=cls.MongoDB, database=cls.db, verbose=True, max_entries=20, username = cls.username, password = cls.password, collection_str='test_query_protein', readPreference='primary') cls.src_1 = query_protein.QueryProtein(server=cls.MongoDB, database='datanator', verbose=True, username = cls.username, password = cls.password, readPreference='nearest') cls.src_2 = query_protein.QueryProtein(server=cls.MongoDB, database='datanator-test', verbose=True, username = cls.username, password = cls.password, readPreference='nearest') cls.src.db_obj.drop_collection('test_query_protein') mock_doc_0 = {'uniprot_id': 'MOCK_0', 'ancestor_taxon_id': [105,104,103,102,101], 'ancestor_name': ['name_5', 'name_4','name_3','name_2','name_1'], 'ko_number': 'MOCK_0', 'ncbi_taxonomy_id': 100, 'abundances': 0} mock_doc_1 = {'uniprot_id': 'MOCK_1', 'ko_number': 'MOCK_0'} # missing ancestor_taxon_id mock_doc_2 = {'uniprot_id': 'MOCK_2', 'ancestor_taxon_id': [105,104,103], 'ancestor_name': ['name_5', 'name_4','name_3'], 'ko_number': 'MOCK_0', 'ncbi_taxonomy_id': 102, 'abundances': 2} mock_doc_3 = {'uniprot_id': 'MOCK_3', 'ancestor_taxon_id': [105,104], 'ancestor_name': ['name_5', 'name_4'], 'ko_number': 'MOCK_1', 'ncbi_taxonomy_id': 103, 'abundances': 3} # different ko_number mock_doc_4 = {'uniprot_id': 'MOCK_4', 'ancestor_taxon_id': [105], 'ancestor_name': ['name_5'], 'ko_number': 'MOCK_0', 'ncbi_taxonomy_id': 104, 'abundances': 4} mock_doc_5 = {'uniprot_id': 'MOCK_5', 'ancestor_taxon_id': [105], 'ancestor_name': ['name_5'], 'ncbi_taxonomy_id': 104, 'abundances': 5} mock_doc_6 = {'uniprot_id': 'MOCK_6', 'ancestor_taxon_id': [105], 'ancestor_name': ['name_5'], 'ko_number': 'MOCK_0', 'ncbi_taxonomy_id': 104, 'abundances': 6} dic_0 = {'ncbi_taxonomy_id': 0, 'species_name': 's0', 'ancestor_taxon_id': [5,4,3,2,1], 'ancestor_name': ['s5', 's4', 's3', 's2', 's1'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot0', "protein_name": 'special name one', 'kinetics': [{'ncbi_taxonomy_id': 100, 'kinlaw_id': 1}, {'ncbi_taxonomy_id': 101, 'kinlaw_id': 2}], 'abundances': [], 'ko_name': ['KO0 name']} dic_1 = {'ncbi_taxonomy_id': 1, 'species_name': 's1', 'ancestor_taxon_id': [5,4,3,2], 'ancestor_name': ['s5', 's4', 's3', 's2'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot1', "protein_name": 'nonspeciali name one'} dic_2 = {'ncbi_taxonomy_id': 2, 'species_name': 's2', 'ancestor_taxon_id': [5,4,3], 'ancestor_name': ['s5', 's4', 's3'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot2', "protein_name": 'nonspeciali name two'} dic_3 = {'ncbi_taxonomy_id': 3, 'species_name': 's3', 'ancestor_taxon_id': [5,4], 'ancestor_name': ['s5', 's4'], 'ko_number': 'ko3', 'uniprot_id': 'uniprot3', "protein_name": 'your name one'} dic_4 = {'ncbi_taxonomy_id': 4, 'species_name': 's4', 'ancestor_taxon_id': [5], 'ancestor_name': ['s5'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot4'} dic_5 = {'ncbi_taxonomy_id': 5, 'species_name': 's5', 'ancestor_taxon_id': [], 'ancestor_name': [], 'ko_number': 'KO0', 'uniprot_id': 'uniprot5'} dic_6 = {'ncbi_taxonomy_id': 6, 'species_name': 's6', 'ancestor_taxon_id': [5,4,3,2], 'ancestor_name': ['s5', 's4', 's3', 's2'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot6', "protein_name": 'your name two', 'ko_name': 'ko name 0', 'abundances': []} dic_15 = {'ncbi_taxonomy_id': 6, 'species_name': 's6', 'ancestor_taxon_id': [5,4,3,2], 'ancestor_name': ['s5', 's4', 's3', 's2'], 'ko_number': 'KO1', 'uniprot_id': 'uniprot15', "protein_name": 'your name fifteen', 'ko_name': ['ko name 1']} dic_14 = {'ncbi_taxonomy_id': 14, 'species_name': 's6 something', 'ancestor_taxon_id': [5,4,3,2], 'ancestor_name': ['s5', 's4', 's3', 's2'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot6', "protein_name": 'your name three'} dic_7 = {'ncbi_taxonomy_id': 7, 'species_name': 's7', 'ancestor_taxon_id': [5,4,3,2,6], 'ancestor_name': ['s5', 's4', 's3', 's2', 's6'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot7', "protein_name": 'special name two'} dic_8 = {'ncbi_taxonomy_id': 8, 'species_name': 's8', 'ancestor_taxon_id': [5,4,3,2,6,7], 'ancestor_name': ['s5', 's4', 's3', 's2', 's6', 's7'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot8'} dic_9 = {'ncbi_taxonomy_id': 9, 'species_name': 's9', 'ancestor_taxon_id': [5,4,3], 'ancestor_name': ['s5', 's4', 's3'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot9'} dic_10 = {'ncbi_taxonomy_id': 10, 'species_name': 's10', 'ancestor_taxon_id': [5,4,3,9], 'ancestor_name': ['s5', 's4', 's3', 's9'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot10'} dic_11 = {'ncbi_taxonomy_id': 11, 'species_name': 's11', 'ancestor_taxon_id': [5,4,3,2,1,0], 'ancestor_name': ['s5', 's4', 's3', 's2', 's1', 's0'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot11'} dic_12 = {'ncbi_taxonomy_id': 12, 'species_name': 's12', 'ancestor_taxon_id': [5,4,3,2,1,0], 'ancestor_name': ['s5', 's4', 's3', 's2', 's1', 's0'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot12'} dic_13 = {'ncbi_taxonomy_id': 13, 'species_name': 's13', 'ancestor_taxon_id': [5,4,3,2,1], 'ancestor_name': ['s5', 's4', 's3', 's2', 's1'], 'ko_number': 'KO0', 'uniprot_id': 'uniprot13', 'kinetics':[{'ncbi_taxonomy_id': 100, 'kinlaw_id': 1}, {'ncbi_taxonomy_id': 101, 'kinlaw_id': 2}]} dic_16 = {'ncbi_taxonomy_id': 6, 'species_name': 's6', 'ancestor_taxon_id': [5,4,3,2], 'ancestor_name': ['s5', 's4', 's3', 's2'], 'ko_number': 'KO1', 'uniprot_id': 'uniprot16', "protein_name": 'your name fifteen'} cls.src.collection.insert_many([mock_doc_0, mock_doc_1, mock_doc_2, mock_doc_3, mock_doc_4,mock_doc_5,mock_doc_6]) cls.src.collection.insert_many([dic_0,dic_1,dic_2,dic_3,dic_4,dic_5,dic_6,dic_7,dic_8,dic_9,dic_10,dic_11,dic_12,dic_13,dic_14,dic_15,dic_16])
def main(): db = 'datanator' conf = config.TestConfig() username = conf.USERNAME password = conf.PASSWORD MongoDB = conf.SERVER src = Tabu(MongoDB=MongoDB, username=username, password=password, db=db, verbose=True, authSource='admin', readPreference='nearest', max_entries=10) uniprot_docs = src.uniprot_taxon_dist() sabio_docs = src.taxon_dist("sabio_rk_old", "taxon_id", match={"$match": { "taxon_id": { "$ne": None } }}) rnamod_docs = src.taxon_dist( "rna_modification", "modifications.ncbi_taxonomy_id", unwind={"$unwind": "$modifications"}, match={"$match": { "modifications.ncbi_taxonomy_id": { "$ne": None } }}) rnahalf_docs = src.taxon_dist("rna_halflife_new", "halflives.ncbi_taxonomy_id", unwind={"$unwind": "$halflives"}) conc_docs = src.taxon_dist("metabolite_concentrations", "concentrations.ncbi_taxonomy_id", unwind={"$unwind": "$concentrations"}) obj = defaultdict(int) for (p_doc, s_doc, m_doc, l_doc, c_doc) in itertools.zip_longest(uniprot_docs, sabio_docs, rnamod_docs, rnahalf_docs, conc_docs, fillvalue={ '_id': 1, 'count': 0 }): obj[p_doc['_id']] += p_doc['count'] obj[s_doc['_id']] += s_doc['count'] obj[m_doc['_id']] += m_doc['count'] obj[l_doc['_id']] += l_doc['count'] obj[c_doc['_id']] += c_doc['count'] # sort obj new_obj = { k: v for k, v in sorted(obj.items(), key=lambda item: item[1], reverse=True) } with open("./docs/taxon_distribution.json", "w+") as outfile: json.dump(new_obj, outfile) final_obj = {"others": 0} for i, (key, val) in enumerate(new_obj.items()): if i < 11 and key != 1: name = src.db_obj['taxon_tree'].find_one( {"tax_id": int(key)}, projection={"tax_name": 1})["tax_name"] final_obj[name] = val else: final_obj["others"] += val with open("./docs/taxon_distribution_frontend.json", "w+") as outfile: json.dump(final_obj, outfile)
def setUpClass(cls): cls.src_basic = config.Config() cls.src_prod = config.ProductionConfig() cls.src_test = config.TestConfig() cls.src_ftx = config.FtxConfig()