Beispiel #1
0
def test_pathway_mapping():
    print(' ********************     Test pathway mapping     ******************** ')

    pathway_name = 'Cytokine / proteomic test'
    dataLabelPathwayIDs = svc.find_pathway_data(pathway_name)

    for idx, c in enumerate(dataLabelPathwayIDs.data_label_references):
        print(' {}. {}: {}'.format(idx + 1, c.data_label, c.gene_symbol_references[0].data_label))

    data_list = svc.test_pathway_mapping()
    df, dataGeneSymbolList = utilities.create_df_from_object_list(data_list,
                                                                  [Proteomic, Cytokine],
                                                                  ['proteomic', 'cytokine'],
                                                                  assayResultsFlag=True,
                                                                  dataLabelPathwayIDs=dataLabelPathwayIDs)
    print('dataGeneSymbolList:', dataGeneSymbolList)
    print(df.head(15))
    print(df.columns)

    print(f"There are {len(df)} records.")
    df['aggregated_result'] = 0
    for idx, c in df.iterrows():
        print(' {}. {}: {}'.format(idx + 1, c.study_id,
                                   'ME/CFS patient' if c.phenotype == 'ME/CFS' else 'Healthy control'))
        print('      * Assay summary: {}, {}'.format(c.assay_type, c.timepoint))
        arList = []
        for ar in dataGeneSymbolList:
            if not np.isnan(c[ar]):
                arList.append(c[ar])
            print('            * Results: {}, {}'.format(ar, c[ar]))
        print(np.ma.average(arList))
        df.loc[idx, 'aggregated_result'] = np.ma.average(arList)

    print(df.head(15))
MECFSVersion = set_up_globals.MECFSVersion
data_folder = set_up_globals.data_folder

# Register connection to MongoDB
mongo_setup.global_init(database_name=set_up_globals.database_name)

# -------------------------------------------------------------------------------------
# Import data into pandas
scrnaseq_summary_data_list = svc.find_scrnaseq_summary_data_only()
if scrnaseq_summary_data_list is None:
    print(f'No scRNA-seq summary records.')
    sys.exit(2)

df, _ = utilities.create_df_from_object_list(scrnaseq_summary_data_list,
                                             [ScRNAseqSummary],
                                             ['scrnaseq_summary'])
print(df.head(5))

# Creating an ID column name gives us more interactive capabilities
df['id'] = df['study_id']
df.set_index('id', inplace=True, drop=False)

# -------------------------------------------------------------------------------------
# App layout
graphComponentID = 'datatable-interactivity-container-line'
dataTableComponentID = 'datatable-interactivity-line'
card_graph = utilities.spinner_wrapper(
    dbc.Card(
        id=graphComponentID,
        body=True,
Beispiel #3
0
MECFSVersion = set_up_globals.MECFSVersion
data_folder = set_up_globals.data_folder

# Register connection to MongoDB
mongo_setup.global_init(database_name=set_up_globals.database_name)

# -------------------------------------------------------------------------------------
# Import data into pandas
documentName = set_up_globals.clinical_document_name
# data_list = svc.find_clinical_data()
data_list = svc.find_proteomic_data_only()
if data_list is None:
    print(f'No {documentName} data records.')
    sys.exit(2)

df, _ = utilities.create_df_from_object_list(data_list, [Proteomic],
                                             ['proteomic'])
print(df.head(5))

# Creating an ID column name gives us more interactive capabilities
df['id'] = df['study_id']
df.set_index('id', inplace=True, drop=False)

# -------------------------------------------------------------------------------------
# App layout
uniqueComponentForApp = '-sql-interface-1'  # Make sure this is different for every app / page
buttonQuestion1ID = 'button-question-1' + uniqueComponentForApp
buttonQuestion2ID = 'button-question-2' + uniqueComponentForApp
buttonQuestion3ID = 'button-question-3' + uniqueComponentForApp
collapse1ID = 'collapse-1' + uniqueComponentForApp
collapse2ID = 'collapse-2' + uniqueComponentForApp
collapse3ID = 'collapse-3' + uniqueComponentForApp
Beispiel #4
0
#         for dataColumn in attribute_names:
#             dataRow.append(sc[dataColumn])
#         print(
#             '      Sample: {}, Freezer ID: {}, {} {} {} {}'.format(
#                 sc['sample_name'],
#                 sc.biospecimen_data_reference.freezer_id,
#                 sc.number_of_reads,
#                 sc.estimated_number_of_cells,
#                 sc.mean_reads_per_cell,
#                 sc.median_genes_per_cell
#             ))
#     dataList.append(dataRow)
#
# df = pd.DataFrame(dataList, columns=attribute_names)

df = utilities.create_df_from_object_list(scrnaseq_summary_data_list,
                                          ScRNAseqSummary, 'scrnaseq_summary')
print(df.head(5))

# db = 'mecfs_db_test1'
# collection = 'mecfs_collection'
# df = mongo_utilities.read_mongo(db, collection, query={}, host='localhost', port=27017, username=None, password=None, no_id=True)
# # df = df[df['year'] == 2019]

# Creating an ID column name gives us more interactive capabilities
df['id'] = df['study_id']
df.set_index('id', inplace=True, drop=False)

# -------------------------------------------------------------------------------------
# App layout
# bootstrapTheme = 'https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css'
# app = dash.Dash(__name__, prevent_initial_callbacks=True)  # this was introduced in Dash version 1.12.0
Beispiel #5
0
MECFSVersion = set_up_globals.MECFSVersion
data_folder = set_up_globals.data_folder

# Register connection to MongoDB
mongo_setup.global_init(database_name=set_up_globals.database_name)

# -------------------------------------------------------------------------------------
# Import data into pandas
documentName = set_up_globals.cytokines_document_name
# data_list = svc.find_cytokine_data()
data_list = svc.find_cytokine_data_only()
if data_list is None:
    print(f'No {documentName} data records.')
    sys.exit(2)

df, dataGeneSymbolList = utilities.create_df_from_object_list(
    data_list, [Cytokine], ['cytokine'], assayResultsFlag=True)
print(df.head(5))

# Creating an ID column name gives us more interactive capabilities
df['id'] = df['study_id']
df.set_index('id', inplace=True, drop=False)

# -------------------------------------------------------------------------------------
# App layout
uniqueComponentForApp = '-cytokine-1'  # Make sure this is different for every app / page
graphComponentID = 'datatable-interactivity-container-scatter' + uniqueComponentForApp
groupDropdownComponentID = 'group-dropdown' + uniqueComponentForApp
comparison1DropdownComponentID = 'compare-dropdown-1' + uniqueComponentForApp
comparison2DropdownComponentID = 'compare-dropdown-2' + uniqueComponentForApp
comparison3DropdownComponentID = 'compare-dropdown-3' + uniqueComponentForApp
dataTableComponentID = 'datatable-interactivity-scatter' + uniqueComponentForApp
Beispiel #6
0
MECFSVersion = set_up_globals.MECFSVersion
data_folder = set_up_globals.data_folder

# Register connection to MongoDB
mongo_setup.global_init(database_name=set_up_globals.database_name)

# -------------------------------------------------------------------------------------
# Import data into pandas
documentName = set_up_globals.metabolomics_document_name

data_list = svc.find_metabolomic_data_only()
if data_list is None:
    print(f'No {documentName} data records.')
    sys.exit(2)

df, dataLabelList = utilities.create_df_from_object_list(data_list, [Metabolomic], ['metabolomic'],
                                                         assayResultsFlag=True)
print(df.head(5))

# Creating an ID column name gives us more interactive capabilities
df['id'] = df['study_id']
df.set_index('id', inplace=True, drop=False)

# -------------------------------------------------------------------------------------
# App layout
uniqueComponentForApp = '-metabolomic-1'  # Make sure this is different for every app / page
graphComponentID = 'datatable-interactivity-container-violin' + uniqueComponentForApp
groupDropdownComponentID = 'group-dropdown' + uniqueComponentForApp
comparison1DropdownComponentID = 'compare-dropdown-1' + uniqueComponentForApp
comparison2DropdownComponentID = 'compare-dropdown-2' + uniqueComponentForApp
comparison3DropdownComponentID = 'compare-dropdown-3' + uniqueComponentForApp
radioItemsComponentID = 'radioitems-1' + uniqueComponentForApp
# documentName = set_up_globals.proteomics_document_name

pathwayList = ['Cytokine / proteomic test']
pathway_name = pathwayList[0]
dataLabelPathwayIDs = svc.find_pathway_data(pathway_name)
for idx, c in enumerate(dataLabelPathwayIDs.data_label_references):
    print(' {}. {}: {}'.format(idx + 1, c.data_label,
                               c.gene_symbol_references[0].data_label))

data_list = svc.test_pathway_mapping()
if data_list is None:
    print(f'No data records.')
    sys.exit(2)

df, dataLabelList = utilities.create_df_from_object_list(
    data_list, [Proteomic, Cytokine], ['proteomic', 'cytokine'],
    assayResultsFlag=True,
    dataLabelPathwayIDs=dataLabelPathwayIDs)

print('dataLabelList:', dataLabelList)

# Normalize
proteomicIndex = df[df['assay_type'] ==
                    set_up_globals.proteomics_document_name].index
cytokineIndex = df[df['assay_type'] ==
                   set_up_globals.cytokines_document_name].index
print(df.loc[cytokineIndex].head(10))
for col in dataLabelList:
    proteomicSum = df.loc[proteomicIndex, col].sum()
    if proteomicSum > 0:
        df.loc[proteomicIndex,
               col] = df.loc[proteomicIndex, col] / proteomicSum