Script de Python para ejecutar en Pymol que cambia el color de cada cadena de un objeto.
color_chain_hex 7CZE, A, 1B9872, es decir, objeto, cadena, color hexacesimal
from pymol import cmd
def color_chain_hex(obj_name, chain_id, hex_code):
"""
color_chain_hex 7CZE, A, 1B9872
color_chain_hex 7CZE, B, 64A21E
color_chain_hex 7CZE, I, CE191A
color_chain_hex 7CZE, I, 67649E
color_chain_hex 7CZE, I, D45E04
color_chain_hex 7CZE, I, E22A87
color_chain_hex 7CZE, I, D9A204
color_chain_hex 7CZE, I, 7E5A17
objeto, cadena, color hexacesimal
"""
hex_code = hex_code.strip().lstrip('#').upper()
if len(hex_code) != 6:
print("Error: el código hexadecimal debe tener 6 dígitos.")
return
try:
rgb = [int(hex_code[i:i+2], 16) / 255.0 for i in (0, 2, 4)]
except ValueError:
print("Error: código hexadecimal no válido.")
return
# Nombre único de color basado en objeto y cadena
color_name = f"color_{obj_name}_{chain_id}"
# Define el color y aplica a la cadena
cmd.set_color(color_name, rgb)
selection = f"{obj_name} and chain {chain_id}"
cmd.color(color_name, selection)
# Registra como comando de PyMOL
cmd.extend("color_chain_hex", color_chain_hex)


Conversor RGB ⇄ Hexadecimal
RGB a Hex
Hex: #------
Hex a RGB
RGB: R, G, B