
function [rem_duration_average_in_bin_session,rem_num_in_bin_session,rem_duration_percent_in_bin_session,...
          nrem_duration_average_in_bin_session,nrem_num_in_bin_session,nrem_duration_percent_in_bin_session,...
          wake_duration_average_in_bin_session,wake_num_in_bin_session,wake_duration_percent_in_bin_session,...
          rem_duration_total_average_session,rem_num_session,rem_duration_percent_session,...
          nrem_duration_total_average_session,nrem_num_session,nrem_duration_percent_session,...
          wake_duration_total_average_session,wake_num_session,wake_duration_percent_session,...
          nrem_first_onset_session,...
          rem_duration_average_in_bin_mouse,rem_num_in_bin_mouse,rem_duration_percent_in_bin_mouse,...
          nrem_duration_average_in_bin_mouse,nrem_num_in_bin_mouse,nrem_duration_percent_in_bin_mouse,...
          wake_duration_average_in_bin_mouse,wake_num_in_bin_mouse,wake_duration_percent_in_bin_mouse,...
          rem_duration_total_average_mouse,rem_num_mouse,rem_duration_percent_mouse,...
          nrem_duration_total_average_mouse,nrem_num_mouse,nrem_duration_percent_mouse,...
          wake_duration_total_average_mouse,wake_num_mouse,wake_duration_percent_mouse,...
          nrem_first_onset_mouse] = find_episode(file,saline_mouse_low,saline_mouse_up,behav_bin,interval,total_time)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bin_num = ceil(total_time*60/interval);
behav_point_in_each_bin = interval*60/behav_bin;


rem_duration_percent_session = zeros(1,size(file,2));
nrem_duration_percent_session = zeros(1,size(file,2));
wake_duration_percent_session = zeros(1,size(file,2));


%%%%%%%%%%%%%  number in each bin
rem_num_session = zeros(1,size(file,2));
nrem_num_session = zeros(1,size(file,2));
wake_num_session = zeros(1,size(file,2));

%%%%%%%%%%%%%%% first NREM
nrem_first_onset_session = zeros(1,size(file,2));



%%%%%%%%%%%%%%%
rem_duration_percent_mouse = zeros(1,length(saline_mouse_low));
nrem_duration_percent_mouse = zeros(1,length(saline_mouse_low));
wake_duration_percent_mouse = zeros(1,length(saline_mouse_low));

%%%%%%%%%%%%%  
rem_num_mouse = zeros(1,length(saline_mouse_low));
nrem_num_mouse = zeros(1,length(saline_mouse_low));
wake_num_mouse = zeros(1,length(saline_mouse_low));

%%%%%%%%%%%%%%% first NREM
nrem_first_onset_mouse = zeros(1,length(saline_mouse_low));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

var = {'bCluster'};

for loop = 1 : size(file,2) 
    
    clear bCluster
    load(file{loop},var{:})

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    labels = double(bCluster.rem);
    labels(bCluster.wake) = 2;
    labels(bCluster.sws) = 3;
    
    temp = min(round(total_time*60*60/behav_bin),length(labels));
    labels = labels(1:temp);


    ind_nrem = find(labels == 3,1,'first');
    if sum(ind_nrem) > 0
        nrem_first_onset_session(loop) = ind_nrem*behav_bin/60;  %% min
    end
    
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    for ppp = 1 : bin_num
        
        if ppp*behav_point_in_each_bin <= length(labels)
            label_temp = labels(1+(ppp-1)*behav_point_in_each_bin : ppp*behav_point_in_each_bin);
        else
            label_temp = labels(1+(ppp-1)*behav_point_in_each_bin : end);
        end
            
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  in each bin
        [id,duration] = find_id_duration(label_temp,behav_bin);
        
        rem_id = find(id == 1);
        if sum(rem_id) > 0
            rem_duration_average_in_bin_session(loop,ppp) = mean(duration(rem_id)); 
            rem_num_in_bin_session(loop,ppp) = length(rem_id); 
            rem_duration_percent_in_bin_session(loop,ppp) = sum(duration(rem_id))/length(label_temp)/behav_bin*100; 
            
        end
    
        nrem_id = find(id == 3);
        if sum(nrem_id) > 0
            nrem_duration_average_in_bin_session(loop,ppp) = mean(duration(nrem_id)); 
            nrem_num_in_bin_session(loop,ppp) = length(nrem_id); 
            nrem_duration_percent_in_bin_session(loop,ppp) = sum(duration(nrem_id))/length(label_temp)/behav_bin*100; 
        end
    
        wake_id = find(id == 2);
        if sum(wake_id) > 0
            wake_duration_average_in_bin_session(loop,ppp) = mean(duration(wake_id)); 
            wake_num_in_bin_session(loop,ppp) = length(wake_id); 
            wake_duration_percent_in_bin_session(loop,ppp) = sum(duration(wake_id))/length(label_temp)/behav_bin*100; 
        end
        
    end
    
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  in each session
        [id_total,duration_total] = find_id_duration(labels,behav_bin);
        rem_id_total = find(id_total == 1);
        if sum(rem_id_total) > 0
            rem_duration_total_average_session(loop) = mean(duration_total(rem_id_total)); 
            rem_num_session(loop) = length(rem_id_total); 
            rem_duration_percent_session(loop) = sum(duration_total(rem_id_total))/length(labels)/behav_bin*100; 
        end
    
        nrem_id_total = find(id_total == 3);
        if sum(nrem_id_total) > 0
            nrem_duration_total_average_session(loop) = mean(duration_total(nrem_id_total)); 
            nrem_num_session(loop) = length(nrem_id_total); 
            nrem_duration_percent_session(loop) = sum(duration_total(nrem_id_total))/length(labels)/behav_bin*100; 
        end
    
        wake_id_total = find(id_total == 2);
        if sum(wake_id_total) > 0
            wake_duration_total_average_session(loop) = mean(duration_total(wake_id_total)); 
            wake_num_session(loop) = length(wake_id_total); 
            wake_duration_percent_session(loop) = sum(duration_total(wake_id_total))/length(labels)/behav_bin*100; 
        end
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i = 1 : length(saline_mouse_up)
    
    %%%%%%%%%%%%%%
    temp = nrem_duration_average_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    nrem_duration_average_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = rem_duration_average_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    rem_duration_average_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = wake_duration_average_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    wake_duration_average_in_bin_mouse(i,:) = mean(temp,1);
    
    %%%%%%%%%%%%%%
    temp = nrem_duration_percent_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    nrem_duration_percent_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = rem_duration_percent_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    rem_duration_percent_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = wake_duration_percent_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    wake_duration_percent_in_bin_mouse(i,:) = mean(temp,1);
    
    %%%%%%%%%%%%%%
    temp = nrem_num_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    nrem_num_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = rem_num_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    rem_num_in_bin_mouse(i,:) = mean(temp,1);
    
    temp = wake_num_in_bin_session(saline_mouse_low(i):saline_mouse_up(i),:);
    wake_num_in_bin_mouse(i,:) = mean(temp,1);
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    temp = nrem_duration_total_average_session(saline_mouse_low(i):saline_mouse_up(i));
    nrem_duration_total_average_mouse(i) = mean(temp);
    
    temp = rem_duration_total_average_session(saline_mouse_low(i):saline_mouse_up(i));
    rem_duration_total_average_mouse(i) = mean(temp);
    
    temp = wake_duration_total_average_session(saline_mouse_low(i):saline_mouse_up(i));
    wake_duration_total_average_mouse(i) = mean(temp);
    
    %%%%%%%%%%%%%%
    temp = nrem_duration_percent_session(saline_mouse_low(i):saline_mouse_up(i));
    nrem_duration_percent_mouse(i) = mean(temp);
    
    temp = rem_duration_percent_session(saline_mouse_low(i):saline_mouse_up(i));
    rem_duration_percent_mouse(i) = mean(temp);
    
    temp = wake_duration_percent_session(saline_mouse_low(i):saline_mouse_up(i));
    wake_duration_percent_mouse(i) = mean(temp);
    
    %%%%%%%%%%%%%%
    temp = nrem_num_session(saline_mouse_low(i):saline_mouse_up(i));
    nrem_num_mouse(i) = mean(temp);
    
    temp = rem_num_session(saline_mouse_low(i):saline_mouse_up(i));
    rem_num_mouse(i) = mean(temp);
    
    temp = wake_num_session(saline_mouse_low(i):saline_mouse_up(i));
    wake_num_mouse(i) = mean(temp);
    
  
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%
    temp = nrem_first_onset_session(saline_mouse_low(i):saline_mouse_up(i));
    nrem_first_onset_mouse(i) = mean(temp);
    
end


