# Path: alfpy/utils/distance.py
# class Distance(object):
#     def __getitem__(self, seqnum):
#     def get_disttypes(cls):
#     def set_disttype(self, disttype):
#     def __init__(self, vector, disttype):
#     def pwdist_euclid_squared(self, seq1idx, seq2idx):
#     def pwdist_euclid_norm(self, seq1idx, seq2idx):
#     def pwdist_google(self, seq1idx, seq2idx):


import numpy as np
from .utils import distance
    from .utils.seqrecords import main
    from .utils import distmatrix
    vectors = [0.0] * ndata  # list

    for point in CGRs:
        xx = int(point[0] / temp)
        yy = int(point[1] / temp)
        if yy == pow(2, word_size):
            yy = pow(2, word_size) - 1
        vectors[yy * pow(2, word_size) + xx] += 1
    vectors.pop(0)
    return vectors


def create_vectors(seq_records, word_size):
    """Create a matrix of FCGR vectors.

    Args:
        seq_records (obj: SeqRecords)
        word_size (int): word size (>= 1)

    Returns:
        numpy.ndarray

    """
    data = np.zeros(shape=(seq_records.count, pow(4, word_size) - 1))
    for seqidx, seq in enumerate(seq_records.seq_list):
        vector = fcgr_vector(seq, word_size)
        data[seqidx] = vector
    return data



# Path: alfpy/utils/distance.py
# class Distance(object):
#     def __getitem__(self, seqnum):
#     def get_disttypes(cls):
#     def set_disttype(self, disttype):
#     def __init__(self, vector, disttype):
#     def pwdist_euclid_squared(self, seq1idx, seq2idx):
#     def pwdist_euclid_norm(self, seq1idx, seq2idx):
#     def pwdist_google(self, seq1idx, seq2idx):


# Path: alfpy/fcgr.py
import numpy as np
from .utils import distance
    from .utils.seqrecords import main
    from .utils import distmatrix

    vectors = [0.0] * ndata  # list

    for point in CGRs:
        xx = int(point[0] / temp)
        yy = int(point[1] / temp)
        if yy == pow(2, word_size):
            yy = pow(2, word_size) - 1
        vectors[yy * pow(2, word_size) + xx] += 1
    vectors.pop(0)
    return vectors


def create_vectors(seq_records, word_size):
    """Create a matrix of FCGR vectors.

    Args:
        seq_records (obj: SeqRecords)
        word_size (int): word size (>= 1)

    Returns:
        numpy.ndarray

    """
    data = np.zeros(shape=(seq_records.count, pow(4, word_size) - 1))
    for seqidx, seq in enumerate(seq_records.seq_list):
        vector = fcgr_vector(seq, word_size)
        data[seqidx] = vector
    return data



class Distance(distance.Distance):