wenjun99 commited on
Commit
81f62ec
·
verified ·
1 Parent(s): f37dc6c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -20
app.py CHANGED
@@ -67,6 +67,15 @@ mutation_site_headers = [
67
  4510, 4561, 4615, 4668, 4720, 4773, 4828, 4882
68
  ]
69
 
 
 
 
 
 
 
 
 
 
70
  st.title("ASCII & Binary Label Converter")
71
 
72
  # Create tabs
@@ -157,32 +166,27 @@ with tab2:
157
 
158
  with tab3:
159
  st.write("Upload an Editing Frequency CSV or fill in manually:")
160
- threshold_file = st.file_uploader("Upload Column Threshold CSV", type=["csv"], key="threshold")
161
  ef_file = st.file_uploader("Upload Editing Frequency CSV", type=["csv"], key="ef")
162
 
163
- if threshold_file:
164
- thresholds_df = pd.read_csv(threshold_file, index_col=0)
165
- thresholds = thresholds_df.squeeze()
166
-
167
  if ef_file:
168
  ef_df = pd.read_csv(ef_file)
169
  else:
170
- ef_df = pd.DataFrame(columns=thresholds.index if threshold_file else [])
171
 
172
  edited_df = st.data_editor(ef_df, num_rows="dynamic")
173
 
174
  if st.button("Convert to Binary Labels"):
175
- if threshold_file:
176
- binary_df = edited_df.ge(thresholds).astype(int)
177
- st.subheader("Binary Labels")
178
- st.dataframe(binary_df)
179
- st.download_button(
180
- label="Download Binary Labels Table as CSV",
181
- data=binary_df.to_csv(index=False),
182
- file_name="ef_binary_labels_table.csv",
183
- mime="text/csv"
184
- )
185
- else:
186
- st.error("Please upload the threshold CSV file first.")
187
-
188
- # Future: integrate DNA editor mapping for each mutation site here
 
67
  4510, 4561, 4615, 4668, 4720, 4773, 4828, 4882
68
  ]
69
 
70
+ # Built-in thresholds
71
+ built_in_thresholds = {
72
+ 3244: 0.5, 3297: 0.5, 3350: 0.5, 3399: 0.5, 3455: 0.5, 3509: 0.5, 3562: 0.5, 3614: 0.5,
73
+ 3665: 0.5, 3720: 0.5, 3773: 0.5, 3824: 0.5, 3879: 0.5, 3933: 0.5, 3985: 0.5, 4039: 0.5,
74
+ 4089: 0.5, 4145: 0.5, 4190: 0.5, 4245: 0.5, 4298: 0.5, 4349: 0.5, 4402: 0.5, 4455: 0.5,
75
+ 4510: 0.5, 4561: 0.5, 4615: 0.5, 4668: 0.5, 4720: 0.5, 4773: 0.5, 4828: 0.5, 4882: 0.5
76
+ }
77
+ thresholds = pd.Series(built_in_thresholds)
78
+
79
  st.title("ASCII & Binary Label Converter")
80
 
81
  # Create tabs
 
166
 
167
  with tab3:
168
  st.write("Upload an Editing Frequency CSV or fill in manually:")
 
169
  ef_file = st.file_uploader("Upload Editing Frequency CSV", type=["csv"], key="ef")
170
 
 
 
 
 
171
  if ef_file:
172
  ef_df = pd.read_csv(ef_file)
173
  else:
174
+ ef_df = pd.DataFrame(columns=thresholds.index)
175
 
176
  edited_df = st.data_editor(ef_df, num_rows="dynamic")
177
 
178
  if st.button("Convert to Binary Labels"):
179
+ common_cols = list(set(edited_df.columns) & set(thresholds.index))
180
+ binary_part = edited_df[common_cols].ge(thresholds[common_cols]).astype(int)
181
+ non_binary_part = edited_df.drop(columns=common_cols, errors='ignore')
182
+ binary_df = pd.concat([non_binary_part, binary_part], axis=1)
183
+ st.subheader("Binary Labels")
184
+ st.dataframe(binary_df)
185
+ st.download_button(
186
+ label="Download Binary Labels Table as CSV",
187
+ data=binary_df.to_csv(index=False),
188
+ file_name="ef_binary_labels_table.csv",
189
+ mime="text/csv"
190
+ )
191
+
192
+ # Future: integrate DNA editor mapping for each mutation site here