# Path: constants.py
# BLACK = (0, 0, 0)
# 
# WHITE = (255, 255, 255)
# 
# BLUE = (0, 0, 128)
# 
# RED = (178, 34, 34)
# 
# GREEN = (0, 100, 0)
# 
# YELLOW = (255, 165, 0)
# 
# ALPHABET = ['A', 'C', 'G', 'T']
# 
# Path: constants.py
# TFFM_KIND = enum(FIRST_ORDER="1st-order", DETAILED="detailed",
#                  ZERO_ORDER="0-order")
# 
# LOGO_TYPE = enum(SUMMARY="summary", DENSE="dense")


from constants import BLACK, WHITE, BLUE, RED, GREEN, YELLOW, ALPHABET
from constants import TFFM_KIND, LOGO_TYPE
import tffm_module
                      step=10.):
    """
    Print the svg instructions to draw the letters of the logo and return the
    information content to be printed.

    :arg output: Stream where to write the svg instruction to draw the logo.
    :type output: file
    :arg tffm: The TFFM for which drawing the logo.
    :type tffm: :class:`TFFM`
    :arg logo_type: Kind of logo to draw (either 'summary' or 'dense')
    :type logo_type: str
    :arg xposition: x-coordinate where to start the logo (default: 90.)
    :type xposition: float
    :arg width: Width of the logo.
    :type within: float
    :arg step: Distance between two boxes containing letters in the logo.
    :type step: float

    :note: The computation of the information content is done within the
        drawing since it follows the same algorithm computing the emission
        probabilities. So we do not call the get_information_content method for
        an algorithmic improvement.

    """
    previous_position_proba = tffm.background_emission_proba()
    information_content = 0.
    start = tffm.get_position_start()
    for position in range(start, len(tffm) + start):
        position_proba = {'A': 0., 'C': 0., 'G': 0., 'T': 0.}
        yposition = 10.

# Path: constants.py
# BLACK = (0, 0, 0)
# 
# WHITE = (255, 255, 255)
# 
# BLUE = (0, 0, 128)
# 
# RED = (178, 34, 34)
# 
# GREEN = (0, 100, 0)
# 
# YELLOW = (255, 165, 0)
# 
# ALPHABET = ['A', 'C', 'G', 'T']
# 
# Path: constants.py
# TFFM_KIND = enum(FIRST_ORDER="1st-order", DETAILED="detailed",
#                  ZERO_ORDER="0-order")
# 
# LOGO_TYPE = enum(SUMMARY="summary", DENSE="dense")


# Path: drawing.py
from constants import BLACK, WHITE, BLUE, RED, GREEN, YELLOW, ALPHABET
from constants import TFFM_KIND, LOGO_TYPE
import tffm_module

                      step=10.):
    """
    Print the svg instructions to draw the letters of the logo and return the
    information content to be printed.

    :arg output: Stream where to write the svg instruction to draw the logo.
    :type output: file
    :arg tffm: The TFFM for which drawing the logo.
    :type tffm: :class:`TFFM`
    :arg logo_type: Kind of logo to draw (either 'summary' or 'dense')
    :type logo_type: str
    :arg xposition: x-coordinate where to start the logo (default: 90.)
    :type xposition: float
    :arg width: Width of the logo.
    :type within: float
    :arg step: Distance between two boxes containing letters in the logo.
    :type step: float

    :note: The computation of the information content is done within the
        drawing since it follows the same algorithm computing the emission
        probabilities. So we do not call the get_information_content method for
        an algorithmic improvement.

    """
    previous_position_proba = tffm.background_emission_proba()
    information_content = 0.
    start = tffm.get_position_start()
    for position in range(start, len(tffm) + start):
        position_proba = {'A': 0., 'C': 0., 'G': 0., 'T': 0.}
        yposition = 10.

        if tffm.kind == TFFM_KIND.ZERO_ORDER: