title: numpy to speed up char and substring counts?
body: <p>anyone here tried to use numpy to count string characters and substrings?
  For example:</p>
  
  <pre><code>for string in string_list:
      c = np.array(list(string))
      counter = Counter(c)
  </code></pre>
  
  <p>It is ok to count 1 char, but for substrings there are any function to speed up things for large data?</p>
  
  <p>For ex I have this:</p>
  
  <pre><code>k = 1
  test_1mer = Counter()
  
  for name, seq in parse_multi_fasta_file_compressed_or_not('test/test_random.faa'):
      test_1mer.update(get_kmers(seq, k))
  </code></pre>
  
  <p>Fasta file (test_random.faa):</p>
  
  <pre><code>&gt;header
  SGFAVAGBHNAAMMAAM
  </code></pre>
  
  <p>I am using this code to count substrings in a file of 65GB.
  It takes many hours to finish. So I think about numpy to speed up things a lil bit. With some biult in function to try to improve a little bit.
  <a href="https://www.youtube.com/watch?v=EEUXKG97YRw" rel="nofollow noreferrer">enter link description here</a></p>