<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_motif_db(filename, skipn_matrix=0):
 """Read the motif file in the following format ``` >motif_name <skip n>0.1<delim>0.2<delim>0.5<delim>0.6 >motif_name2 ``` Delim can be anything supported by np.loadtxt # Arguments filename: str, file path skipn_matrix: integer, number of characters to skip when reading the numeric matrix (for Encode = 2) # Returns Dictionary of numpy arrays """


    # read-lines
    if filename.endswith(".gz"):
        f = gzip.open(filename, 'rt', encoding='utf-8')
    else:
        f = open(filename, 'r')
    lines = f.readlines()
    f.close()

    motifs_dict = {}
    motif_lines = ""
    motif_name = None

    def lines2matrix(lines):
        return np.loadtxt(StringIO(lines))

    for line in lines:
        if line.startswith(">"):
            if motif_lines:
                # lines -> matrix
                motifs_dict[motif_name] = lines2matrix(motif_lines)
            motif_name = line[1:].strip()
            motif_lines = ""
        else:
            motif_lines += line[skipn_matrix:]

    if motif_lines and motif_name is not None:
        motifs_dict[motif_name] = lines2matrix(motif_lines)

    return motifs_dict