docs: def encodeSequence(seq_vec, vocab, neutral_vocab, maxlen=None,
                     seq_align="start", pad_value="N", encode_type="one_hot"):
      """Convert a list of genetic sequences into one-hot-encoded array.
  
      # Arguments
         seq_vec: list of strings (genetic sequences)
         vocab: list of chars: List of "words" to use as the vocabulary. Can be strings of length>0,
              but all need to have the same length. For DNA, this is: ["A", "C", "G", "T"].
         neutral_vocab: list of chars: Values used to pad the sequence or represent unknown-values. For DNA, this is: ["N"].
         maxlen: int or None,
              Should we trim (subset) the resulting sequence. If None don't trim.
              Note that trims wrt the align parameter.
              It should be smaller than the longest sequence.
         seq_align: character; 'end' or 'start'
              To which end should we align sequences?
         encode_type: "one_hot" or "token". "token" represents each vocab element as a positive integer from 1 to len(vocab) + 1.
                    neutral_vocab is represented with 0.
  
      # Returns
          Array with shape for encode_type:
  
              - "one_hot": `(len(seq_vec), maxlen, len(vocab))`
              - "token": `(len(seq_vec), maxlen)`
  
          If `maxlen=None`, it gets the value of the longest sequence length from `seq_vec`.
      """
      if isinstance(neutral_vocab, str):
          neutral_vocab = [neutral_vocab]
      if isinstance(seq_vec, str):
          raise ValueError("seq_vec should be an iterable returning " +
                           "strings not a string itself")
      assert len(vocab[0]) == len(pad_value)
      assert pad_value in neutral_vocab
  
      assert encode_type in ["one_hot", "token"]
  
      seq_vec = pad_sequences(seq_vec, maxlen=maxlen,
                              align=seq_align, value=pad_value)
  
      if encode_type == "one_hot":
          arr_list = [token2one_hot(tokenize(seq, vocab, neutral_vocab), len(vocab))
                      for i, seq in enumerate(seq_vec)]
      elif encode_type == "token":
          arr_list = [1 + np.array(tokenize(seq, vocab, neutral_vocab)) for seq in seq_vec]
          # we add 1 to be compatible with keras: https://keras.io/layers/embeddings/
          # indexes > 0, 0 = padding element
  
      return np.stack(arr_list)