El siguiente script .pml para ejecutar desde PyMol separa los estados de un objeto cargado en una escena, por ejemplo, las 3 subunidades del trímero de 7SSQ.
python
from pymol import cmd
obj = "7SSQ" # Cambiar si tu objeto tiene otro nombre
n_states = cmd.count_states(obj)
for i in range(1, n_states + 1):
new_obj = f"{obj}_state{i}"
cmd.create(new_obj, obj, i, 1)
if cmd.count_atoms(new_obj) == 0:
print(f"[AVISO] Estado {i} está vacío. Se elimina {new_obj}.")
cmd.delete(new_obj)
else:
print(f"[OK] Se creó {new_obj} desde el estado {i}.")
python end
¿Cómo usarlo?
Guarda ese contenido como separar_estados.pml y desde la consola de PyMol, ejecuta: run ruta/del/archivo/separar_estados.pml
