# Path: phydmslib/constants.py
# AA_TO_INDEX = {aa: i for (i, aa) in INDEX_TO_AA.items()}
# 
# NT_TO_INDEX = {nt: i for (i, nt) in INDEX_TO_NT.items()}


import collections
import os
import tempfile
import string
import math
import shutil
import natsort
import numpy
import matplotlib
import pylab
import PyPDF2
import weblogolib  # weblogo library
import weblogolib.colorscheme  # weblogo library
import corebio.matrix  # weblogo library
import corebio.utils  # weblogo library
    import doctest
from phydmslib.constants import AA_TO_INDEX, NT_TO_INDEX
      'kd'(Kyte-Doolittle hydrophobicity scale, default),
      'mw' (molecular weight),
      'functionalgroup' (functional groups: small, nucleophilic, hydrophobic,
      aromatic, basic, acidic, and amide),
      'charge' (charge at neutral pH), and
      'singlecolor'. If 'charge' is used, then the argument for *custom_cmap*
      will no longer be meaningful, since 'charge' uses its own
      blue/black/red colormapping. Similarly, 'functionalgroup' uses its own
      colormapping.

    * *noseparator* is only meaningful if *datatype* is 'diffsel' or
      'diffprefs'.  If it set to *True*, then we do **not** a black
      horizontal line to separate positive and negative values.

    * *underlay* if `True` then make an underlay rather than an overlay.

    * *scalebar*: show a scale bar. If `False`, no scale bar shown. Otherwise
      should be a 2-tuple of `(scalebarlen, scalebarlabel)`. Currently only
      works when data is `diffsel`.
    """
    assert datatype in ['prefs', 'diffprefs', 'diffsel'], ("Invalid datatype "
                                                           "{0}"
                                                           .format(datatype))

    # check data, and get characters
    assert sites, "No sites specified"
    assert set(sites) == set(data.keys()), ("Not a match between "
                                            "sites and the keys of data")
    characters = list(data[sites[0]].keys())
    aas = sorted(AA_TO_INDEX.keys())

# Path: phydmslib/constants.py
# AA_TO_INDEX = {aa: i for (i, aa) in INDEX_TO_AA.items()}
# 
# NT_TO_INDEX = {nt: i for (i, nt) in INDEX_TO_NT.items()}


# Path: phydmslib/weblogo.py
import collections
import os
import tempfile
import string
import math
import shutil
import natsort
import numpy
import matplotlib
import pylab
import PyPDF2
import weblogolib  # weblogo library
import weblogolib.colorscheme  # weblogo library
import corebio.matrix  # weblogo library
import corebio.utils  # weblogo library
    import doctest
from phydmslib.constants import AA_TO_INDEX, NT_TO_INDEX

      'kd'(Kyte-Doolittle hydrophobicity scale, default),
      'mw' (molecular weight),
      'functionalgroup' (functional groups: small, nucleophilic, hydrophobic,
      aromatic, basic, acidic, and amide),
      'charge' (charge at neutral pH), and
      'singlecolor'. If 'charge' is used, then the argument for *custom_cmap*
      will no longer be meaningful, since 'charge' uses its own
      blue/black/red colormapping. Similarly, 'functionalgroup' uses its own
      colormapping.

    * *noseparator* is only meaningful if *datatype* is 'diffsel' or
      'diffprefs'.  If it set to *True*, then we do **not** a black
      horizontal line to separate positive and negative values.

    * *underlay* if `True` then make an underlay rather than an overlay.

    * *scalebar*: show a scale bar. If `False`, no scale bar shown. Otherwise
      should be a 2-tuple of `(scalebarlen, scalebarlabel)`. Currently only
      works when data is `diffsel`.
    """
    assert datatype in ['prefs', 'diffprefs', 'diffsel'], ("Invalid datatype "
                                                           "{0}"
                                                           .format(datatype))

    # check data, and get characters
    assert sites, "No sites specified"
    assert set(sites) == set(data.keys()), ("Not a match between "
                                            "sites and the keys of data")
    characters = list(data[sites[0]].keys())
    aas = sorted(AA_TO_INDEX.keys())

    if set(characters) == set(NT_TO_INDEX.keys()):