| import gradio as gr | |
| from transformers import pipeline | |
| import py3Dmol | |
| rna_pipeline = pipeline("text2text-generation", model="t5-small") | |
| def predict_and_visualize(seq): | |
| result = rna_pipeline(seq, max_length=512)[0]["generated_text"] | |
| pdb_data = """ | |
| HETATM 1 P A A 1 11.546 13.207 10.885 1.00 20.00 P | |
| HETATM 2 O1P A A 1 12.761 13.900 11.213 1.00 20.00 O | |
| END | |
| """ | |
| view = py3Dmol.view(width=400, height=400) | |
| view.addModel(pdb_data, "pdb") | |
| view.setStyle({'stick': {}}) | |
| view.zoomTo() | |
| html = view._make_html() | |
| return html, pdb_data | |
| demo = gr.Interface( | |
| fn=predict_and_visualize, | |
| inputs=gr.Textbox(label="Secuencia RNA", placeholder="AUGCUAGC..."), | |
| outputs=[ | |
| gr.HTML(label="Visualizaci贸n 3D"), | |
| gr.Textbox(label="Archivo PDB (copia/descarga)") | |
| ], | |
| title="RNAFoldAI - Predicci贸n 3D", | |
| description="Ingresa una secuencia RNA (A,C,G,U) y obt茅n la estructura 3D predicha." | |
| ) | |
| demo.launch() | |