vivek9 commited on
Commit
5875840
·
verified ·
1 Parent(s): 06bef74

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +116 -56
app.py CHANGED
@@ -3,21 +3,46 @@ import pandas as pd
3
  import scipy
4
  from utils import *
5
 
6
- 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):
7
- # Your data processing logic here
8
- result = {
9
- "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},
10
- "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}
 
 
 
 
 
 
 
 
11
  }
12
- spm_result, occurrence_matrix = SPM(result["SPM"])
13
- ptrn_left, ptrn_right, ptrn_both_left, ptrn_both_right, dsm_result = DSM(result["DSM"])
14
  spm_result.to_csv("spm_result.csv")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  dsm_result.to_csv("dsm_result.csv")
16
- if result_view=="SPM":
17
- re=spm_result
18
- if result_view=="DSM":
19
- re=dsm_result
20
- return "spm_result.csv","dsm_result.csv",re
21
 
22
  default_values = {
23
  "SPM Upload CSV file": None,
@@ -50,48 +75,83 @@ default_values = {
50
 
51
 
52
 
53
- with gr.Interface(
54
- fn=None,
55
- title="SPM And DSM Implementation in Python",
56
- layout="vertical",
57
- analytics_enabled=False,
58
- ) as iface:
59
-
60
- with gr.Tab("SPM"):
61
- with gr.Row():
62
- spm_file = gr.File(label="Upload CSV file")
63
- identifier_column = gr.Textbox(label="Identifier Column", value="Identifier")
64
- sequence_column = gr.Textbox(label="Sequence Column", value="Sequence")
65
- sortby = gr.Dropdown(label="Sort By", choices=["S-Support", "I-Support"], value="S-Support")
66
- sliding_window_min = gr.Number(label="Sliding Window Min", value=1)
67
- sliding_window_max = gr.Number(label="Sliding Window Max", value=4)
68
- min_gap = gr.Number(label="Min Gap", value=1)
69
- max_gap = gr.Number(label="Max Gap", value=12)
70
- S_support_thresh = gr.Number(label="S Support Threshold", value=0.4)
71
- I_support_thresh = gr.Number(label="I Support Threshold", value=0)
72
- dataset_format = gr.Number(label="Dataset Format", value=0)
73
-
74
- spm_result = gr.Textbox(label="SPM Result")
75
- spm_data = gr.Table(label="SPM Dataframe")
76
-
77
- with gr.Tab("DSM"):
78
- with gr.Row():
79
- dsm_left_file = gr.File(label="Upload Left Dataset CSV file")
80
- dsm_right_file = gr.File(label="Upload Right Dataset CSV file")
81
- identifier_column = gr.Textbox(label="Identifier Column", value="Identifier")
82
- sequence_column = gr.Textbox(label="Sequence Column", value="Sequence")
83
- sortby = gr.Dropdown(label="Sort By", choices=["S-Support", "I-Support"], value="S-Support")
84
- sliding_window_min = gr.Number(label="Sliding Window Min", value=1)
85
- sliding_window_max = gr.Number(label="Sliding Window Max", value=1)
86
- min_gap = gr.Number(label="Min Gap", value=1)
87
- max_gap = gr.Number(label="Max Gap", value=12)
88
- S_support_thresh = gr.Number(label="S Support Threshold", value=0.4)
89
- I_support_thresh = gr.Number(label="I Support Threshold", value=0)
90
- threshold_pvalue = gr.Number(label="Threshold P-value", value=0.1)
91
- dataset_format = gr.Number(label="Dataset Format", value=0)
92
- test_type = gr.Dropdown(label="Test Type", choices=["poisson_means_test", "ttest_ind", "mannwhitneyu", "bws_test", "ranksums", "brunnermunzel", "mood", "ansari", "cramervonmises_2samp", "epps_singleton_2samp", "ks_2samp", "kstest"], value="ttest_ind")
93
-
94
- dsm_result = gr.Textbox(label="DSM Result")
95
- dsm_left_data = gr.Table(label="Left DSM Dataframe")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
97
- iface.launch()
 
 
3
  import scipy
4
  from utils import *
5
 
6
+ def spm_fn(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):
7
+ spm_params = {
8
+ "path_to_csv": SPM_path_to_csv.name,
9
+ "identifier_column": SPM_identifier_column,
10
+ "sequence_column": SPM_sequence_column,
11
+ "sortby": SPM_sortby,
12
+ "sliding_window_min": SPM_sliding_window_min,
13
+ "sliding_window_max": SPM_sliding_window_max,
14
+ "min_gap": SPM_min_gap,
15
+ "max_gap": SPM_max_gap,
16
+ "S_support_thresh": SPM_S_support_thresh,
17
+ "I_support_thresh": SPM_I_support_thresh,
18
+ "dataset_format": SPM_dataset_format
19
  }
20
+
21
+ spm_result, occurrence_matrix = SPM(spm_params)
22
  spm_result.to_csv("spm_result.csv")
23
+ return "spm_result.csv",spm_result
24
+
25
+ def dsm_fn(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):
26
+ dsm_params = {
27
+ "path_to_csv_left": DSM_path_to_csv_left.name,
28
+ "path_to_csv_right": DSM_path_to_csv_right.name,
29
+ "identifier_column": DSM_identifier_column,
30
+ "sequence_column": DSM_sequence_column,
31
+ "sortby": DSM_sortby,
32
+ "sliding_window_min": DSM_sliding_window_min,
33
+ "sliding_window_max": DSM_sliding_window_max,
34
+ "min_gap": DSM_min_gap,
35
+ "max_gap": DSM_max_gap,
36
+ "S_support_thresh": DSM_S_support_thresh,
37
+ "I_support_thresh": DSM_I_support_thresh,
38
+ "threshold_pvalue": DSM_threshold_pvalue,
39
+ "dataset_format": DSM_dataset_format,
40
+ "test_type": DSM_test_type
41
+ }
42
+
43
+ ptrn_left, ptrn_right, ptrn_both_left, ptrn_both_right, dsm_result = DSM(dsm_params)
44
  dsm_result.to_csv("dsm_result.csv")
45
+ return "dsm_result.csv",dsm_result
 
 
 
 
46
 
47
  default_values = {
48
  "SPM Upload CSV file": None,
 
75
 
76
 
77
 
78
+ def demo():
79
+ with gr.Blocks(theme="base") as demo:
80
+
81
+ gr.Markdown(
82
+ """<center><h2>SPM and DSM Implementation in Python</center></h2>
83
+ <h3>Sequential Pattern Mining (SPM) and Differential Sequential Mining (DSM)</h3>
84
+ """
85
+ )
86
+
87
+ with gr.Tab("SPM"):
88
+ with gr.Row():
89
+ spm_file = gr.File(label="Upload CSV file")
90
+ with gr.Row():
91
+ identifier_column = gr.Textbox(label="Identifier Column", value="Identifier")
92
+ with gr.Row():
93
+ sequence_column = gr.Textbox(label="Sequence Column", value="Sequence")
94
+ with gr.Row():
95
+ sortby = gr.Dropdown(label="Sort By", choices=["S-Support", "I-Support"], value="S-Support")
96
+ with gr.Row():
97
+ sliding_window_min = gr.Number(label="Sliding Window Min", value=1)
98
+ with gr.Row():
99
+ sliding_window_max = gr.Number(label="Sliding Window Max", value=4)
100
+ with gr.Row():
101
+ min_gap = gr.Number(label="Min Gap", value=1)
102
+ with gr.Row():
103
+ max_gap = gr.Number(label="Max Gap", value=12)
104
+ with gr.Row():
105
+ S_support_thresh = gr.Number(label="S Support Threshold", value=0.4)
106
+ with gr.Row():
107
+ I_support_thresh = gr.Number(label="I Support Threshold", value=0)
108
+ with gr.Row():
109
+ dataset_format = gr.Number(label="Dataset Format", value=0)
110
+ with gr.Row():
111
+ spm_submit = gr.Button("Generate SPM Result...")
112
+
113
+
114
+ with gr.Tab("DSM"):
115
+ with gr.Row():
116
+ dsm_left_file = gr.File(label="Upload Left Dataset CSV file")
117
+ with gr.Row():
118
+ dsm_right_file = gr.File(label="Upload Right Dataset CSV file")
119
+ with gr.Row():
120
+ identifier_column_dsm = gr.Textbox(label="Identifier Column", value="Identifier")
121
+ with gr.Row():
122
+ sequence_column_dsm = gr.Textbox(label="Sequence Column", value="Sequence")
123
+ with gr.Row():
124
+ sortby_dsm = gr.Dropdown(label="Sort By", choices=["S-Support", "I-Support"], value="S-Support")
125
+ with gr.Row():
126
+ sliding_window_min_dsm = gr.Number(label="Sliding Window Min", value=1)
127
+ with gr.Row():
128
+ sliding_window_max_dsm = gr.Number(label="Sliding Window Max", value=1)
129
+ with gr.Row():
130
+ min_gap_dsm = gr.Number(label="Min Gap", value=1)
131
+ with gr.Row():
132
+ max_gap_dsm = gr.Number(label="Max Gap", value=12)
133
+ with gr.Row():
134
+ S_support_thresh_dsm = gr.Number(label="S Support Threshold", value=0.4)
135
+ with gr.Row():
136
+ I_support_thresh_dsm = gr.Number(label="I Support Threshold", value=0)
137
+ with gr.Row():
138
+ threshold_pvalue = gr.Number(label="Threshold P-value", value=0.1)
139
+ with gr.Row():
140
+ dataset_format_dsm = gr.Number(label="Dataset Format", value=0)
141
+ with gr.Row():
142
+ test_type = gr.Dropdown(label="Test Type", choices=["poisson_means_test", "ttest_ind", "mannwhitneyu", "bws_test", "ranksums", "brunnermunzel", "mood", "ansari", "cramervonmises_2samp", "epps_singleton_2samp", "ks_2samp", "kstest"], value="ttest_ind")
143
+ with gr.Row():
144
+ dsm_submit = gr.Button("Generate DSM Result...")
145
+ dsm_result_display = gr.Textbox(label="DSM Result")
146
+ dsm_left_data_display = gr.Table(label="Left DSM Dataframe")
147
+ spm_submit.click(spm_fn,inputs=)
148
+ spm_submit.click(spm_fn, \
149
+ inputs=[spm_file, identifier_column, sequence_column, sortby, sliding_window_min, sliding_window_max, min_gap, max_gap, S_support_thresh, I_support_thresh, dataset_format], \
150
+ outputs=[gr.File(label="SPM result"), "dataframe"])
151
+ dsm_submit.click(dsm_fn, \
152
+ inputs=[dsm_left_file, dsm_right_file, 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, dataset_format_dsm, test_type], \
153
+ outputs=[gr.File(label="DSM result"), "dataframe"])
154
+ demo.queue().launch(debug=True)
155
 
156
+ if __name__ == "__main__":
157
+ demo()