Source code for gecos.file
# This source code is part of the Gecos package and is distributed
# under the 3-Clause BSD License. Please see 'LICENSE.rst' for further
# information.
__author__ = "Patrick Kunzmann"
__all__ = ["write_color_scheme"]
import json
from matplotlib.colors import to_hex
[docs]def write_color_scheme(file, result, name=""):
"""
Write a color scheme in the *Biotite* compatible JSON format into
a file.
Parameters
----------
file : file-like object
The file to write the scheme into.
result : Optimizer.Result
The result from the optimization.
Contains the color scheme.
name : str, optional
Name of the scheme. Will be written to the value of the
``"name"`` key.
"""
scheme = {}
scheme["name"] = name
symbols = result.alphabet.get_symbols()
scheme["alphabet"] = symbols
scheme["colors"] = {s : to_hex(c) for s, c
in zip(symbols, result.rgb_colors)}
json.dump(scheme, file, indent=4)