def sampling_map(data, n_req, n_step):
    """
    Creates a list containing 3-tuples where each element can be used to
    index a specific sequence and then index start and end positions for 
    a sample of that sequence. Each sample will be n_req in length which
    should be long enough to create a batch. We sample a sequence at 
    intervals of n_step apart which, as a default, could be n_sample
    (batch size) apart.
    """
    map_ = []
    for i, sequence in enumerate(data):
        for j in range(0, len(sequence) - n_req, n_step):
            map_.append((i, j, j + n_req))
    return map_