def read_coords(requirement, coord_file):
    from ase.io.formats import filetype

    req_vals = ['rdkit', 'ase']
    file_type_vals = ['xyz', 'mol']
    assert requirement in req_vals, ValueError('Not an adequate requirement.\n'
                                    f'adequate requirements: {req_vals}')
    assert filetype(coord_file) in file_type_vals, TypeError('The file formnat '
                                                             'is not supported')

    if requirement == 'rdkit':
        if filetype(coord_file) == 'xyz':
            from xyz2mol import xyz2mol, read_xyz_file
            atoms, charge, xyz_coordinates = read_xyz_file(coord_file)
            rd_mol_obj = xyz2mol(atoms, xyz_coordinates, charge=charge)
            return rd_mol_obj
        elif filetype(coord_file) == 'mol':
            from rdkit.Chem import MolFromMolFile
            return MolFromMolFile(coord_file)

    if requirement == 'ase':
        import ase.io
        return ase.io.read(coord_file)
