Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -683,14 +683,15 @@ def parse_xls_file(raw_bytes):
|
|
| 683 |
pra6 = pra_all['X6']
|
| 684 |
overall = 'Positive' if pra6 > 0 else 'Negative'
|
| 685 |
|
| 686 |
-
# Confident alleles
|
| 687 |
-
# 將 beads_detail 轉為 get_confident_alleles 需要的格式
|
| 688 |
br_dict = OrderedDict()
|
|
|
|
| 689 |
for b in beads_detail:
|
| 690 |
br_dict[b['bead']] = {'rxn': b['rxn']}
|
| 691 |
-
|
|
|
|
| 692 |
|
| 693 |
-
sero_mfi = build_sero_mfi_stats(beads_detail, confident,
|
| 694 |
|
| 695 |
pc_nc_ratio = round(pc_raw / nc_raw, 1) if nc_raw > 0 else 0
|
| 696 |
qc_comment = build_qc_comment(nc_raw, pc_raw, beads_detail)
|
|
@@ -703,7 +704,7 @@ def parse_xls_file(raw_bytes):
|
|
| 703 |
'beads': beads_detail,
|
| 704 |
'confident_alleles': sorted(confident),
|
| 705 |
'allele_decisions': allele_decisions,
|
| 706 |
-
'specificity': generate_specificity(confident,
|
| 707 |
'sero_mfi': sero_mfi,
|
| 708 |
'comment': qc_comment,
|
| 709 |
'qc': {
|
|
|
|
| 683 |
pra6 = pra_all['X6']
|
| 684 |
overall = 'Positive' if pra6 > 0 else 'Negative'
|
| 685 |
|
| 686 |
+
# Confident alleles — XLS 路徑:用 XLS 自帶的 allele 建 bead map(lot 可能不同)
|
|
|
|
| 687 |
br_dict = OrderedDict()
|
| 688 |
+
xls_bead_map = {}
|
| 689 |
for b in beads_detail:
|
| 690 |
br_dict[b['bead']] = {'rxn': b['rxn']}
|
| 691 |
+
xls_bead_map[b['bead']] = {'sero': b['sero'], 'allele': b['allele']}
|
| 692 |
+
confident, allele_decisions = get_confident_alleles(br_dict, xls_bead_map)
|
| 693 |
|
| 694 |
+
sero_mfi = build_sero_mfi_stats(beads_detail, confident, xls_bead_map) if overall == 'Positive' else []
|
| 695 |
|
| 696 |
pc_nc_ratio = round(pc_raw / nc_raw, 1) if nc_raw > 0 else 0
|
| 697 |
qc_comment = build_qc_comment(nc_raw, pc_raw, beads_detail)
|
|
|
|
| 704 |
'beads': beads_detail,
|
| 705 |
'confident_alleles': sorted(confident),
|
| 706 |
'allele_decisions': allele_decisions,
|
| 707 |
+
'specificity': generate_specificity(confident, xls_bead_map) if overall == 'Positive' else '(-)',
|
| 708 |
'sero_mfi': sero_mfi,
|
| 709 |
'comment': qc_comment,
|
| 710 |
'qc': {
|