code: def inputAnalysis(allSequences, model, numColumns):
    
    records = np.shape(allSequences)[0]
    symbols = np.shape(allSequences)[1]
    totalItems = records * symbols
    
    overlapMatrix = np.zeros((totalItems, totalItems))
    
    for i in range(totalItems):
      if i % 500 == 0:
        print str(i) + " rows processed"
      for j in range(totalItems):
        if model == "random":
          overlapMatrix[i, j] = percentOverlap(allSequences[int(i/symbols)][i%symbols], 
                                               allSequences[int(j/symbols)][j%symbols], 
                                               numColumns)
        elif model == "periodic":
          overlapMatrix[i, j] = percentOverlap(allSequences[i][0], allSequences[j][0], 
                                               numColumns)
    print "***All rows processed!***"    
    # substract diagonal from correlation matrix
    overlapMatrix = np.subtract(overlapMatrix, np.identity(totalItems))
    
    return overlapMatrix
docs: Calculates the overlap score of each SDR used as input to the temporal memory. Generates
    an overlap matrix with entries (i,j) = overlapScore(i, j)
    
    @param allSequences (array) sequences using during the experiment
    @param model (string) string specifying whether the experiment used random or
    						periodic data
    @param numColumns (int) number of columns in the temporal memory
     
    @return overlapMatrix (array) matrix whose entries (i, j) contain the overlap score
    								between SDRs i and j