code: def sampleCellsAcrossColumns(numCellPairs, cellsPerColumn, numColumns, seed=42):
    
    np.random.seed(seed)
    cellPairs = []
    for i in range(numCellPairs):
      randCols = np.random.choice(np.arange(numColumns), (2, ), replace=False)
      randCells = np.random.choice(np.arange(cellsPerColumn), (2, ), replace=False)
  
      cellsPair = np.zeros((2, ))
      for j in range(2):
        cellsPair[j] = randCols[j] * cellsPerColumn + randCells[j]
      cellPairs.append(cellsPair.astype('int32'))
    return cellPairs
docs: Generate indices of cell pairs, each pair of cells are from different column
    @return cellPairs (list) list of cell pairs