Calculates the charge for pH 1-13.

    Parameters
    ----------
    seq : str
        Sequence of amino acids.
    granularity : float, optional
        Granularity of pH values i.e. if 0.1 pH = [1.0, 1.1, 1.2...]

def charge_series(seq, granularity=0.1):
    """Calculates the charge for pH 1-13.

    Parameters
    ----------
    seq : str
        Sequence of amino acids.
    granularity : float, optional
        Granularity of pH values i.e. if 0.1 pH = [1.0, 1.1, 1.2...]
    """
    if 'X' in seq:
        warnings.warn(_nc_warning_str, NoncanonicalWarning)
    ph_range = numpy.arange(1, 13, granularity)
    charge_at_ph = [sequence_charge(seq, ph) for ph in ph_range]
    return ph_range, charge_at_ph