function dop=dopGrpSet(dop)
% dopOSCCI Mark II: dopGrpnSet ~ 21-11-2010 (last edit)
%
% setup grouping file
%

% -------------------------------------------------------------------------
%     'dopOSCCI' summarises functional transcranial Doppler ultrasonography
%     (fTCD) data.  The primary function of the software is to assess the
%     hemispheric lateralization of cognitive function.
%
%     Copyright (C) 2011 the Chancellor, Masters and Scholars of the
%     University of Oxford.
% 
%     This program is free software: you can redistribute it and/or modify
%     it under the terms of the GNU General Public License as published by
%     the Free Software Foundation, either version 3 of the License, or
%     (at your option) any later version.
% 
%     This program is distributed in the hope that it will be useful,
%     but WITHOUT ANY WARRANTY; without even the implied warranty of
%     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%     GNU General Public License for more details.
% 
%     You should have received a copy of the GNU General Public License
%     along with this program.  If not, see <http://www.gnu.org/licenses/> 
%     or write to the Free Software Foundation, Inc., 51 Franklin Street,
%     Fifth Floor, Boston, MA 02110-1301, USA.
%
%     Authors: Nic Badcock, Georgina Holt, Anneka Holden, & Dorothy Bishop.
%       contact: nicholas.badcock@gmail.com
%
%     Type 'dopOSCCIlicense' for license details or see dopOSCCIlicense.txt
%
fprintf('%s\n',['Running ',mfilename]);
try
    if dop.def.grpFileChk % request to check session file
        if iscell(dop.def.grpFileNameLoc)
            fprintf('\t%s\n\t\t%s\n','Checking Grouping file:',dop.def.grpFileNameLoc{1});
        else
        	fprintf('\t%s\n\t\t%s\n','Checking Grouping file:',dop.def.grpFileNameLoc);
        end
        
        dop.grp=dopGrpChk(dop.def.grpFileNameLoc,...
            'fileList',dop.data.fileList,'dataDir',dop.def.dataDir);
        dop.def.grpFileChk=dop.grp.okay;
        if dop.grp.okay
            if length(dop.data.fileList)>length(dop.grp.fileList)
                fprintf('\n\t%s\n\t\t%s\n\t\t%s\n',...
                    'Current list is longer than group list,',...
                    'therefore some screening has taken place.',...
                    'Using the Group list.');
                dop.data.fileList=dop.grp.fileList;
            end
        end
        if dop.grp.nGrps==1
            fprintf('\n\t%s\n\t\t%s\n\t\t%s\n',...
                ['Only single group (',dop.grp.grpNames{1},')'],...
                'Assuming group function used as file screening,',...
                '> cancelling group summary but updating file list');
            dop.data.fileList=dop.grp.fileList;
            dop.def.grpFileChk=0;
        end
    end
catch err
    %% catch dopOSCCI error
    % 
save(dopOSCCIdebug(mfilename));rethrow(err); 
%     dopOSCCIcrash(err,dop,mfilename);
end