import gradio as gr from gradio_molecule3d import Molecule3D import os example = Molecule3D().example_inputs() reps = [ { "model": 0, "chain": "", "resname": "", "style": "stick", "color": "whiteCarbon", "residue_range": "", "around": 0, "byres": False, "visible": False } ] def predict(x): print("predict function", x) print(x.name) return x with gr.Blocks() as demo: gr.Markdown("# Molecule3D") inp = Molecule3D(label="Molecule3D", reps=reps) out = Molecule3D(label="Output", reps=reps) btn = gr.Button("Predict") gr.Markdown(""" You can configure the default rendering of the molecule by adding a list of representations
        reps =    [
        {
          "model": 0,
          "chain": "",
          "resname": "",
          "style": "cartoon",
          "color": "whiteCarbon",
          "residue_range": "",
          "around": 0,
          "byres": False,
          "visible": False,
        },
        {
          "model": 0,
          "chain": "A",
          "resname": "HIS",
          "style": "stick",
          "color": "red",
          "residue_range": "",
          "around": 0,
          "byres": False,
          "visible": False,
        }
      ]
    
""") btn.click(predict, inputs=inp, outputs=out) if __name__ == '__main__': demo.launch()