ET_623_Project / app.py
vivek9's picture
Update app.py
be109f4 verified
raw
history blame
4.7 kB
import gradio as gr
import pandas as pd
import scipy
from utils import *
def demo(SPM_path_to_csv, SPM_identifier_column, SPM_sequence_column, SPM_sortby, SPM_sliding_window_min, SPM_sliding_window_max, SPM_min_gap, SPM_max_gap, SPM_S_support_thresh, SPM_I_support_thresh, SPM_dataset_format, DSM_path_to_csv_left, DSM_path_to_csv_right, DSM_identifier_column, DSM_sequence_column, DSM_sortby, DSM_sliding_window_min, DSM_sliding_window_max, DSM_min_gap, DSM_max_gap, DSM_S_support_thresh, DSM_I_support_thresh, DSM_threshold_pvalue, DSM_dataset_format, DSM_test_type,result_view):
# Your data processing logic here
result = {
"SPM": {"path_to_csv": SPM_path_to_csv.name, "identifier_column": SPM_identifier_column, "sequence_column": SPM_sequence_column, "sortby": SPM_sortby, "sliding_window_min": SPM_sliding_window_min, "sliding_window_max": SPM_sliding_window_max, "min_gap": SPM_min_gap, "max_gap": SPM_max_gap, "S_support_thresh": SPM_S_support_thresh, "I_support_thresh": SPM_I_support_thresh, "dataset_format": SPM_dataset_format},
"DSM": {"path_to_csv_left": DSM_path_to_csv_left.name, "path_to_csv_right": DSM_path_to_csv_right.name, "identifier_column": DSM_identifier_column, "sequence_column": DSM_sequence_column, "sortby": DSM_sortby, "sliding_window_min": DSM_sliding_window_min, "sliding_window_max": DSM_sliding_window_max, "min_gap": DSM_min_gap, "max_gap": DSM_max_gap, "S_support_thresh": DSM_S_support_thresh, "I_support_thresh": DSM_I_support_thresh, "threshold_pvalue": DSM_threshold_pvalue, "dataset_format": DSM_dataset_format, "test_type": DSM_test_type}
}
spm_result, occurrence_matrix = SPM(result["SPM"])
ptrn_left, ptrn_right, ptrn_both_left, ptrn_both_right, dsm_result = DSM(result["DSM"])
spm_result.to_csv("spm_result.csv")
dsm_result.to_csv("dsm_result.csv")
if result_view=="SPM":
re=spm_result
if result_view=="DSM":
re=dsm_result
return "spm_result.csv","dsm_result.csv",re
default_values = {
"SPM Upload CSV file": None,
"SPM_identifier_column": "Identifier",
"SPM_sequence_column": "Sequence",
"SPM_sortby": "S-Support",
"SPM_sliding_window_min": 1,
"SPM_sliding_window_max": 4,
"SPM_min_gap": 1,
"SPM_max_gap": 12,
"SPM_S_support_thresh": 0.4,
"SPM_I_support_thresh": 0,
"SPM_dataset_format": 0,
"DSM_path_to_csv_left": None,
"DSM_path_to_csv_right": None,
"DSM_identifier_column": "Identifier",
"DSM_sequence_column": "Sequence",
"DSM_sortby": "S-Support",
"DSM_sliding_window_min": 1,
"DSM_sliding_window_max": 1,
"DSM_min_gap": 1,
"DSM_max_gap": 12,
"DSM_S_support_thresh": 0.4,
"DSM_I_support_thresh": 0,
"DSM_threshold_pvalue": 0.1,
"DSM_dataset_format": 0,
"DSM_test_type": "ttest_ind",
"Select method for which you want to view result": "DSM"
}
interface = gr.Interface(
fn=process_data,
inputs=[
gr.File(label="SPM Upload CSV file"),
gr.Textbox(label="SPM identifier_column"),
gr.Textbox(label="SPM sequence_column"),
gr.Dropdown(label="SPM sortby", choices=["S-Support", "I-Support"]),
gr.Number(label="SPM sliding_window_min"),
gr.Number(label="SPM sliding_window_max"),
gr.Number(label="SPM min_gap"),
gr.Number(label="SPM max_gap"),
gr.Number(label="SPM S_support_thresh"),
gr.Number(label="SPM I_support_thresh"),
gr.Number(label="SPM dataset_format"),
gr.File(label="DSM Upload CSV file for left Dataset"),
gr.File(label="DSM Upload CSV file for right Dataset"),
gr.Textbox(label="DSM identifier_column"),
gr.Textbox(label="DSM sequence_column"),
gr.Dropdown(label="DSM sortby", choices=["S-Support", "I-Support"]),
gr.Number(label="DSM sliding_window_min"),
gr.Number(label="DSM sliding_window_max"),
gr.Number(label="DSM min_gap"),
gr.Number(label="DSM max_gap"),
gr.Number(label="DSM S_support_thresh"),
gr.Number(label="DSM I_support_thresh"),
gr.Number(label="DSM threshold_pvalue"),
gr.Number(label="DSM dataset_format"),
gr.Dropdown(label="DSM test_type", choices=["poisson_means_test", "ttest_ind", "mannwhitneyu", "bws_test", "ranksums", "brunnermunzel", "mood", "ansari", "cramervonmises_2samp", "epps_singleton_2samp", "ks_2samp", "kstest"]),
gr.Dropdown(label="Select method for which you want to view result", choices=["SPM", "DSM"])
],
outputs=[gr.File(label="SPM result"),gr.File(label="DSM result"),"dataframe"],
title="SPM And DSM Implementation in Python",
defaults=default_values
)
interface.launch(debug=True)