code: def read_RNAplfold(tmpdir, maxlen=None, seq_align="start", pad_with="E"):
      
      assert pad_with in {"P", "H", "I", "M", "E"}
  
      def read_profile(tmpdir, P):
          return [values.strip().split("\t")
                  for seq_name, values in iter_fasta("{tmp}/{P}_profile.fa".format(tmp=tmpdir, P=P))]
  
      def nelem(P, pad_width):
          """get the right neutral element
          """
          return 1 if P is pad_with else 0
  
      arr_hime = np.array([pad_sequences(read_profile(tmpdir, P),
                                         value=[nelem(P, pad_with)],
                                         align=seq_align,
                                         maxlen=maxlen)
                           for P in RNAplfold_PROFILES_EXECUTE], dtype="float32")
  
      # add the pairness column
      arr_p = 1 - arr_hime.sum(axis=0)[np.newaxis]
      arr = np.concatenate((arr_p, arr_hime))
  
      # reshape to: seq, seq_length, num_channels
      arr = np.moveaxis(arr, 0, 2)
      return arr
docs: pad_with = with which 2ndary structure should we pad the sequence?