def getKnownGroupEffects(fulldata, batchfilename):
    """ Check the input file for KNOWN possible group effects
    Exclude those that may not exist such as TREATMENT. Make no
    assumptions about order or sorting. Return list in arbitrary 
    order. Independent of list provided by the user
    """
    foundColumns = list()
    listOneHotEncoded = list()
    if batchfilename == False:
        print('Using prechosen batch effect names')
        currentPossibleColumnEffects = ['TREATMENT', 'MOUSE', 'SEX', 'DATE',
            'NODEID']
        allColumns = fulldata.columns.values
        listOneHotEncoded = ['MOUSE']
        foundColumns = list(set(allColumns) & set(currentPossibleColumnEffects)
            )
    else:
        foundColumnsCombined = list()
        with open(batchfilename) as f:
            tempColumns = f.read().splitlines()
            for effect in tempColumns:
                foundColumnsCombined.append(effect)
            for ipair in foundColumnsCombined:
                name, typeEnc = ipair.strip().split(' ')
                foundColumns.append(name)
                if typeEnc == 'ONEHOT':
                    listOneHotEncoded.append(name)
    print('Number of Possible batch effects found/specified is ' + str(len(
        foundColumns)))
    print('Number of groupeffect columns in data is ' + str(foundColumns))
    return foundColumns, listOneHotEncoded
