import gradio as gr from utils import run_clinker # css = """ # body, .gradio-container { background-color: #e0e0e0 !important; } # .contain { background-color: #e0e0e0 !important; } # /* give the plot panel a white card so the clinker viz has a clean background */ # div[data-testid="html"] { background: #ffffff; border-radius: 8px; padding: 4px; } # """ with gr.Blocks(title="Clinker Gene Cluster Comparison", theme=gr.themes.Soft()) as demo: gr.Markdown( "# Clinker Gene Cluster Comparison\n" "Enter one NCBI nucleotide accession per line, then click **Run**." ) with gr.Row(): with gr.Column(scale=1): accessions_input = gr.Textbox( lines=6, placeholder="MH816969\nMH816970\n...", label="NCBI Accessions (one per line)", ) fasta_input = gr.Textbox( lines=6, placeholder=">contig_1\nATGCATGCATGC...\n>contig_2\nGCTAGCTAGCTA...", label="Multi-FASTA sequences (optional — ORFs predicted automatically)", ) run_btn = gr.Button("Run", variant="primary") with gr.Column(scale=3): html_output = gr.HTML(label="Clinker Output") run_btn.click( fn=run_clinker, inputs=[accessions_input, fasta_input], outputs=html_output, ) demo.launch()