Spaces:
No application file
No application file
Update app.py
Browse files
app.py
CHANGED
|
@@ -830,7 +830,7 @@ def create_interface():
|
|
| 830 |
|
| 831 |
gr.Markdown("\n".join(model_status))
|
| 832 |
|
| 833 |
-
|
| 834 |
with gr.Row():
|
| 835 |
with gr.Column():
|
| 836 |
# Text outputs
|
|
@@ -863,11 +863,9 @@ def create_interface():
|
|
| 863 |
gr.Markdown("### 🌲 Phylogenetic Tree Visualization (ML Simplified Tree)")
|
| 864 |
tree_html = gr.HTML(
|
| 865 |
label="Interactive Tree",
|
| 866 |
-
value="<p>Click 'Show Tree' to view the ML Simplified Tree in a new tab
|
| 867 |
)
|
| 868 |
-
|
| 869 |
-
show_tree_btn = gr.Button("👁️ Show Tree", variant="secondary")
|
| 870 |
-
download_tree_btn = gr.Button("⬇️ Download Tree", variant="secondary")
|
| 871 |
|
| 872 |
# File downloads
|
| 873 |
gr.Markdown("### 📁 Download Results")
|
|
@@ -887,7 +885,6 @@ def create_interface():
|
|
| 887 |
interactive=False
|
| 888 |
)
|
| 889 |
|
| 890 |
-
|
| 891 |
# Event handlers
|
| 892 |
def run_analysis_text(dna_seq, sim_score, build_tree):
|
| 893 |
return run_pipeline(dna_seq, sim_score, build_tree)
|
|
@@ -908,18 +905,13 @@ def create_interface():
|
|
| 908 |
def show_tree(html_file):
|
| 909 |
if html_file and os.path.exists(html_file):
|
| 910 |
try:
|
| 911 |
-
#
|
| 912 |
file_url = f"/file={html_file}"
|
| 913 |
return gr.update(value=f"<script>window.open('{file_url}', '_blank');</script>")
|
| 914 |
except Exception as e:
|
| 915 |
-
return gr.update(value=f"<p>Error showing tree: {str(e)}. Please
|
| 916 |
return gr.update(value="<p>No tree file available. Run analysis to generate one.</p>")
|
| 917 |
|
| 918 |
-
def download_tree(html_file):
|
| 919 |
-
if html_file and os.path.exists(html_file):
|
| 920 |
-
return gr.File.update(value=html_file, visible=True)
|
| 921 |
-
return gr.File.update(value=None, visible=False)
|
| 922 |
-
|
| 923 |
# Connect events
|
| 924 |
run_btn.click(
|
| 925 |
fn=run_analysis_combined,
|
|
@@ -942,16 +934,6 @@ def create_interface():
|
|
| 942 |
outputs=[tree_html]
|
| 943 |
)
|
| 944 |
|
| 945 |
-
download_tree_btn.click(
|
| 946 |
-
fn=download_tree,
|
| 947 |
-
inputs=[html_file],
|
| 948 |
-
outputs=[html_file]
|
| 949 |
-
)
|
| 950 |
-
|
| 951 |
-
# Example data loading
|
| 952 |
-
gr.Markdown("### 🧪 Example Data")
|
| 953 |
-
example_btn = gr.Button("Load Example F Gene Sequence", variant="secondary")
|
| 954 |
-
|
| 955 |
def load_example():
|
| 956 |
example_seq = "ATGAAACTGTCAACACTCACTGAGTACATTAGCCAAGTTCTCAAGACTGAGTGTTTACCTTTGTGAATACACTGAGTCCTTGTCAACGTTCGGCTGCAGTCACACTGATGGTCTTGTCTTCAGGAGCAACTGCAGTCTGTGCTGTGTACTATAGTGCTAAGAGTGATAATGCACTGTTCAGTACCTTTGACAGTGTGTCTCTGTCACCTGGTGCTATGCAGAGCTGCGATGAGATCTACATTGGTCTGATCGATAAGACTGAGTCCAAGGGTGTTGCTGTGTGTACTGTAGAGTGTGATAGTGTTGCCTGCACTGTGTCTATGGCTGATCTTGAGGCTCTGCTTATGTCAACACTGAGTGTGAAATGTTCATTTGCTACTTCAAGACTGATGTGAAGACTGTGTATTGTACTCAGTCATGCAGAGTGAAGTCCTTGAGCCACTTGCTTTGTACAATGTGGGTGATGAGATGTTGTGCTGCAGTGTCAAGGGGCCACAGTCTTGCCTTGATAGTGCGATTGCTGTGATGATGTGCACTTCAATGAGTGGTCGAGATGCTGCTGTGTGTAAGGATGCTGCTGTGTGTAAGAAGGATGCTGCTGTGTGTAAGA"
|
| 957 |
return example_seq, "Example F gene sequence loaded"
|
|
|
|
| 830 |
|
| 831 |
gr.Markdown("\n".join(model_status))
|
| 832 |
|
| 833 |
+
with gr.Tab("📊 Results"):
|
| 834 |
with gr.Row():
|
| 835 |
with gr.Column():
|
| 836 |
# Text outputs
|
|
|
|
| 863 |
gr.Markdown("### 🌲 Phylogenetic Tree Visualization (ML Simplified Tree)")
|
| 864 |
tree_html = gr.HTML(
|
| 865 |
label="Interactive Tree",
|
| 866 |
+
value="<p>Click 'Show Tree' to view the ML Simplified Tree in a new tab.</p>"
|
| 867 |
)
|
| 868 |
+
show_tree_btn = gr.Button("👁️ Show Tree", variant="secondary")
|
|
|
|
|
|
|
| 869 |
|
| 870 |
# File downloads
|
| 871 |
gr.Markdown("### 📁 Download Results")
|
|
|
|
| 885 |
interactive=False
|
| 886 |
)
|
| 887 |
|
|
|
|
| 888 |
# Event handlers
|
| 889 |
def run_analysis_text(dna_seq, sim_score, build_tree):
|
| 890 |
return run_pipeline(dna_seq, sim_score, build_tree)
|
|
|
|
| 905 |
def show_tree(html_file):
|
| 906 |
if html_file and os.path.exists(html_file):
|
| 907 |
try:
|
| 908 |
+
# Use the same file-serving URL as the download link
|
| 909 |
file_url = f"/file={html_file}"
|
| 910 |
return gr.update(value=f"<script>window.open('{file_url}', '_blank');</script>")
|
| 911 |
except Exception as e:
|
| 912 |
+
return gr.update(value=f"<p>Error showing tree: {str(e)}. Please download and open the file manually.</p>")
|
| 913 |
return gr.update(value="<p>No tree file available. Run analysis to generate one.</p>")
|
| 914 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 915 |
# Connect events
|
| 916 |
run_btn.click(
|
| 917 |
fn=run_analysis_combined,
|
|
|
|
| 934 |
outputs=[tree_html]
|
| 935 |
)
|
| 936 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 937 |
def load_example():
|
| 938 |
example_seq = "ATGAAACTGTCAACACTCACTGAGTACATTAGCCAAGTTCTCAAGACTGAGTGTTTACCTTTGTGAATACACTGAGTCCTTGTCAACGTTCGGCTGCAGTCACACTGATGGTCTTGTCTTCAGGAGCAACTGCAGTCTGTGCTGTGTACTATAGTGCTAAGAGTGATAATGCACTGTTCAGTACCTTTGACAGTGTGTCTCTGTCACCTGGTGCTATGCAGAGCTGCGATGAGATCTACATTGGTCTGATCGATAAGACTGAGTCCAAGGGTGTTGCTGTGTGTACTGTAGAGTGTGATAGTGTTGCCTGCACTGTGTCTATGGCTGATCTTGAGGCTCTGCTTATGTCAACACTGAGTGTGAAATGTTCATTTGCTACTTCAAGACTGATGTGAAGACTGTGTATTGTACTCAGTCATGCAGAGTGAAGTCCTTGAGCCACTTGCTTTGTACAATGTGGGTGATGAGATGTTGTGCTGCAGTGTCAAGGGGCCACAGTCTTGCCTTGATAGTGCGATTGCTGTGATGATGTGCACTTCAATGAGTGGTCGAGATGCTGCTGTGTGTAAGGATGCTGCTGTGTGTAAGAAGGATGCTGCTGTGTGTAAGA"
|
| 939 |
return example_seq, "Example F gene sequence loaded"
|