Spaces:
Sleeping
Sleeping
| # import os | |
| # import gradio as gr | |
| # from gradio_molecule3d import Molecule3D | |
| # import spaces | |
| # import subprocess | |
| # import glob | |
| # # directory to store cached outputs | |
| # CACHE_DIR = "gradio_cached_examples" | |
| # reps = [ | |
| # { | |
| # "model": 0, | |
| # "chain": "", | |
| # "resname": "", | |
| # "style": "stick", | |
| # "color": "whiteCarbon", | |
| # "residue_range": "", | |
| # "around": 0, | |
| # "byres": False, | |
| # "visible": False | |
| # } | |
| # ] | |
| # # Ensure the cache directory exists | |
| # os.makedirs(CACHE_DIR, exist_ok=True) | |
| # # Define example files and precomputed outputs | |
| # example_fasta_files = [ | |
| # f"cache_examples/boltz_0.fasta", | |
| # f"cache_examples/Armadillo_6.fasta", | |
| # f"cache_examples/Covid_3.fasta", | |
| # f"cache_examples/Malaria_2.fasta", | |
| # f"cache_examples/MITOCHONDRIAL_9.fasta", | |
| # f"cache_examples/Monkeypox_4.fasta", | |
| # f"cache_examples/Plasmodium_1.fasta", | |
| # f"cache_examples/PROTOCADHERIN_8.fasta", | |
| # f"cache_examples/Vault_5.fasta", | |
| # f"cache_examples/Zipper_7.fasta", | |
| # ] | |
| # # matching `.pdb` files in the `CACHE_DIR` | |
| # example_outputs = [ | |
| # os.path.join(CACHE_DIR, os.path.basename(fasta_file).replace(".fasta", ".pdb")) | |
| # for fasta_file in example_fasta_files | |
| # ] | |
| # # must load cached outputs | |
| # def load_cached_example_outputs(fasta_file: str) -> str: | |
| # # Find the corresponding `.pdb` file | |
| # pdb_file = os.path.basename(fasta_file).replace(".fasta", ".pdb") | |
| # cached_pdb_path = os.path.join(CACHE_DIR, pdb_file) | |
| # if os.path.exists(cached_pdb_path): | |
| # return cached_pdb_path | |
| # else: | |
| # raise FileNotFoundError(f"Cached output not found for {pdb_file}") | |
| # # handle example click | |
| # def on_example_click(fasta_file: str) -> str: | |
| # return load_cached_example_outputs(fasta_file) | |
| # # run predictions | |
| # @spaces.GPU(duration=120) | |
| # def predict(data, | |
| # accelerator="gpu", sampling_steps=50, | |
| # diffusion_samples=1): | |
| # print("Arguments passed to `predict` function:") | |
| # print(f" data: {data}") | |
| # print(f" accelerator: {accelerator}") | |
| # print(f" sampling_steps: {sampling_steps}") | |
| # print(f" diffusion_samples: {diffusion_samples}") | |
| # # we construct the base command | |
| # command = [ | |
| # "boltz", "predict", | |
| # "--out_dir", "./", | |
| # "--accelerator", accelerator, | |
| # "--sampling_steps", str(sampling_steps), | |
| # "--diffusion_samples", str(diffusion_samples), | |
| # "--output_format", "pdb", | |
| # ] | |
| # command.extend(["--checkpoint", "./ckpt/boltz1.ckpt"]) | |
| # command.append(data) | |
| # result = subprocess.run(command, capture_output=True, text=True) | |
| # if result.returncode == 0: | |
| # print("Prediction completed successfully...!") | |
| # print(f"Output saved to: {out_dir}") | |
| # else: | |
| # print("Prediction failed :(") | |
| # print("Error:", result.stderr) | |
| # def run_prediction(input_file, accelerator, sampling_steps, | |
| # diffusion_samples): | |
| # data = input_file.name | |
| # print("the data : ", data) | |
| # predict( | |
| # data=data, | |
| # accelerator=accelerator, | |
| # sampling_steps=sampling_steps, | |
| # diffusion_samples=diffusion_samples | |
| # ) | |
| # # search for the latest .pdb file in the predictions folder | |
| # out_dir = "./" | |
| # search_path = os.path.join(out_dir, "boltz_results*/predictions/**/*.pdb") | |
| # pdb_files = glob.glob(search_path, recursive=True) | |
| # if not pdb_files: | |
| # print("No .pdb files found in the predictions folder.") | |
| # return None | |
| # # some manual logic | |
| # # get the latest .pdb file based on modification time | |
| # latest_pdb_file = max(pdb_files, key=os.path.getmtime) | |
| # return latest_pdb_file | |
| # with gr.Blocks() as demo: | |
| # gr.Markdown("# 🔬 Boltz-1: Democratizing Biomolecular Interaction Modeling 🧬") | |
| # with gr.Row(): | |
| # with gr.Column(scale=1): | |
| # inp = gr.File(label="Upload a .fasta File", file_types=[".fasta"]) | |
| # with gr.Accordion("Advanced Settings", open=False): | |
| # accelerator = gr.Radio(choices=["gpu", "cpu"], value="gpu", label="Accelerator") | |
| # sampling_steps = gr.Slider(minimum=1, maximum=500, value=50, step=1, label="Sampling Steps") | |
| # diffusion_samples = gr.Slider(minimum=1, maximum=10, value=1, step=1, label="Diffusion Samples") | |
| # btn = gr.Button("Predict") | |
| # with gr.Column(scale=3): | |
| # out = Molecule3D(label="Generated Molecule", reps=reps) | |
| # btn.click( | |
| # run_prediction, | |
| # inputs=[inp, accelerator, sampling_steps, diffusion_samples], | |
| # outputs=out | |
| # ) | |
| # gr.Examples( | |
| # examples=[[fasta_file] for fasta_file in example_fasta_files], | |
| # inputs=[inp], | |
| # outputs=out, | |
| # fn=lambda fasta_file: on_example_click(fasta_file), | |
| # cache_examples=True | |
| # ) | |
| # if __name__ == "__main__": | |
| # demo.launch(share=True, debug=True) | |
| import gradio as gr | |
| import spaces | |
| def greet(name): | |
| return "Hello " + name + "!!" | |
| demo = gr.Interface(fn=greet, inputs="text", outputs="text") | |
| demo.launch() |