Browse Source

Delete 'MatlabScripts/b_EventAnalysis.m'

David Ottenheimer 5 years ago
parent
commit
fa9bc7d912
1 changed files with 0 additions and 681 deletions
  1. 0 681
      MatlabScripts/b_EventAnalysis.m

+ 0 - 681
MatlabScripts/b_EventAnalysis.m

@@ -1,681 +0,0 @@
-%% initial analysis of event-evoked activity
-
-%need to save excel sheets in the specified folder
-%the excel sheets say which events to make PSTHs for and what windows to
-%use for statistical testing
-
-%clear all; clc;
-global Dura Baseline Tm Tbase BSIZE Tbin
-tic
-
-if ~exist('RAW'), load ('RAW.mat'); end
-
-%Main settings
-SAVE_FLAG=1;
-BSIZE=0.01; %Do not change
-Dura=[-5 12]; Tm=Dura(1):BSIZE:Dura(2);
-%Baseline=[-22 0]; Tbase=Baseline(1):BSIZE:Baseline(2); %now defined line 98
-Tbin=-0.5:0.005:0.5; %window used to determine the optimal binsize
-PStat=0.05; %for comparing pre versus post windows, or event A versus event B
-MinNumTrials=5; %how many trials of event there need to be to conduct analysis
-BinSize=0.02;
-
-%Smoothing
-Smoothing=1; %0 for raw and 1 for smoothing
-SmoothTYPE='lowess';
-SmoothSPAN=5;
-if Smoothing~=1, SmoothTYPE='NoSmoothing';SmoothSPAN=NaN; end
-
-%for bins analysis
-BinBase=[-22 -12]; %For normalizing activity
-BinDura=[0 0.6]; %size of bin
-bins = 66; %number of bins
-binint = 0.1; %spacing of bins
-binstart = -2; %start time of first bin relative to event
-
-%%  Standard sucrose and maltodextrin sessions
-
-%start fresh
-R_2R=[];R_2R.Ninfo={};NN=0;Nneurons=0;
-
-% List of events to analyze and analysis windows EXTRACTED from excel file
-path='C:\Users\dottenh2\Documents\MATLAB\David\2Rewards Nex Files\2R_paper.xls';
-[~,Erefnames]=xlsread(path,'Windows','a3:a15'); % cell that contains the event names
-prewin =  xlsread(path,'Windows','b3:c15');
-postwin = xlsread(path,'Windows','d3:e15');
-
-%saves event names for reference later
-R_2R.Erefnames=Erefnames;
-
-%Finds the total number of neurons in 2R and marks them by region/session
-for i=1:length(RAW)
-    if strcmp('NA',RAW(i).Type(1:2)) | strcmp('VP',RAW(i).Type(1:2))
-        R_2R.Ninfo=cat(1,R_2R.Ninfo,RAW(i).Ninfo);
-        Nneurons=Nneurons+size(RAW(i).Nrast,1);
-    end
-end
-for i=1:Nneurons
-    Session=string(R_2R.Ninfo(i,1));
-    Name=char(Session);
-    R_2R.Ninfo(i,3)=cellstr(Name(1:2));
-    R_2R.Ninfo(i,4)=cellstr(Name(1:3));
-end
-
-% preallocating
-R_2R.Param.Tm=Tm;
-R_2R.Param.Tbin=Tbin;
-R_2R.Param.Dura=Dura;
-R_2R.Param.Baseline=Baseline;
-R_2R.Param.PStat=PStat;
-R_2R.Param.MinNumTrials=MinNumTrials;
-R_2R.Param.path=path;
-R_2R.Param.prewin=prewin;
-R_2R.Param.postwin=postwin;
-R_2R.Param.SmoothTYPE=SmoothTYPE;
-R_2R.Param.SmoothSPAN=SmoothSPAN;
-R_2R.Param.BinBase=BinBase;
-R_2R.Param.BinDura=BinDura;
-R_2R.Param.bins = bins;
-R_2R.Param.binint = binint;
-R_2R.Param.binstart = binstart;
-
-for k=1:length(Erefnames)
-    R_2R.Ev(k).PSTHraw(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_2R.Ev(k).PSTHz(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_2R.Ev(k).Meanraw(1:Nneurons,1)=NaN;
-    R_2R.Ev(k).Meanz(1:Nneurons,1)=NaN;
-    R_2R.Ev(k).BW(1:Nneurons,1)=NaN;
-    R_2R.Ev(k).signrank(1:Nneurons,1)=NaN;
-    R_2R.Ev(k).RespDir(1:Nneurons,1)=NaN;
-    R_2R.Ev(k).NumberTrials(1:Nneurons,1)=NaN;
-end
-
-% runs the main routine
-
-for i=1:length(RAW) %loops through sessions
-    if strcmp('NA',RAW(i).Type(1:2)) | strcmp('VP',RAW(i).Type(1:2))
-        for j= 1:size(RAW(i).Nrast,1) %Number of neurons per session
-            NN=NN+1; %neuron counter
-            for k=1:length(Erefnames) %loops thorough the events
-                EvInd=strcmp(Erefnames(k),RAW(i).Einfo(:,2)); %find the event id number from RAW
-
-                if sum(EvInd)==0
-                    fprintf('HOWDY, CANT FIND EVENTS FOR ''%s''\n',Erefnames{k});
-                end
-
-                R_2R.Ev(k).NumberTrials(NN,1)=length(RAW(i).Erast{EvInd});
-                Tbase=prewin(k,1):BSIZE:prewin(k,2);
-                if  ~isempty(EvInd) && R_2R.Ev(k).NumberTrials(NN,1)>MinNumTrials %avoid analyzing sessions where that do not have enough trials
-                    [PSR0,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{1});% makes collapsed rasters for baseline for use in normalizing
-                    [PSR1,N1]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{1});% makes collpased rasters. PSR1 is a cell(neurons)
-                    [PSR2,N2]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{2});% makes trial by trial rasters. PSR1 is a cell(neurons, trials)
-                    [PSR3,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{2});% makes trial by trial rasters for baseline for use in response detection
-                    if ~isempty(PSR0{1}) || ~isempty(PSR1{1}) %to avoid errors, added on 12/28 2011
-                        [PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,1});%-----DP used here
-                        [PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BW1});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        %Fixed bin size
-                        %[PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,0,BinSize});%-----DP used here
-                        %[PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BinSize});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        PTH1=smooth(PTH1,SmoothSPAN,SmoothTYPE)';
-                        PTH0=smooth(PTH0,SmoothSPAN,SmoothTYPE)';
-
-                        %------------- Fills the R_2R.Ev(k) fields --------------
-                        R_2R.Ev(k).BW(NN,1)=BW1;
-                        R_2R.Ev(k).PSTHraw(NN,1:length(Tm))=PTH1;
-                        R_2R.Ev(k).Meanraw(NN,1)=nanmean(R_2R.Ev(k).PSTHraw(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        if sum(PTH0,2)~=0
-                            R_2R.Ev(k).PSTHz(NN,1:length(Tm))=normalize(PTH1,PTH0,0);
-                            R_2R.Ev(k).Meanz(NN,1)=nanmean(R_2R.Ev(k).PSTHz(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        else
-                            R_2R.Ev(k).PSTHz(NN,1:length(Tm))=NaN(1,length(Tm));
-                            R_2R.Ev(k).Meanz(NN,1)=NaN;
-                        end
-
-                        %------------------ firing (in Hz) per trial in pre/post windows ------------------
-                        %used to make the between events comparisons and Response detection in a single window----
-                        ev(k).pre=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        ev(k).post=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        for m=1:size(RAW(i).Erast{EvInd},1) %loops through trials
-                            ev(k).pre(m)=sum(PSR3{m}<prewin(k,2) & PSR3{m}>prewin(k,1))/(prewin(k,2)-prewin(k,1)); %CHANGED FROM PSR2 to PSR0 here 10/24/17
-                            ev(k).post(m)=sum(PSR2{m}<postwin(k,2) & PSR2{m}>postwin(k,1))/(postwin(k,2)-postwin(k,1));
-                        end
-
-                        %-------------------- signrank on event and direction----
-                        [R_2R.Ev(k).signrank(NN,1),~]=signrank(ev(k).pre, ev(k).post); %Signrank used here because it is a dependant sample test
-                        if R_2R.Ev(k).signrank(NN,1)<PStat
-                            R_2R.Ev(k).RespDir(NN,1)=sign(mean(ev(k).post)-mean(ev(k).pre));
-                        else R_2R.Ev(k).RespDir(NN,1)=0;
-                        end
-
-                    end %if ~isempty(PSR0{1}) || ~isempty(PSR1{1})
-                end %if EvInd=0 OR n(trials) < MinNumTrials fills with NaN
-            end %Events
-
-
-            %----------------------- Check for difference in cue responding after sucrose and maltodextrin trials -----------------------         
-            CueP1=strcmp('CueP1', Erefnames);
-            CueP2=strcmp('CueP2', Erefnames);
-            [R_2R.CueP12Stat(NN,1),~]=ranksum(ev(CueP1).post,ev(CueP2).post); %Ranksum test used becasue it is an independent sample test
-
-
-            %----------------------- Check for difference in PE responding after sucrose and maltodextrin trials -----------------------         
-            PEP1=strcmp('PEP1', Erefnames);
-            PEP2=strcmp('PEP2', Erefnames);
-            [R_2R.PEP12Stat(NN,1),~]=ranksum(ev(PEP1).post,ev(PEP1).post); %Ranksum test used becasue it is an independent sample test
-
-            %----------------------- Check for reward modulation across all the bins surrounding reward delivery-----------------------
-            BHz=0;
-            Trial=0;
-            Reward=0;
-
-            EV1=strmatch('RD1',RAW(i).Einfo(:,2),'exact');
-            EV2=strmatch('RD2',RAW(i).Einfo(:,2),'exact');
-
-            %get mean baseline firing for all reward trials
-            [Bcell1,B1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},BinBase,{2});% makes trial by trial rasters for baseline
-            for y= 1:B1n
-                BHz(1,y)=sum(Bcell1{1,y}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Reward(1,y)=1;
-            end
-            [Bcell2,B2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},BinBase,{2});% makes trial by trial rasters for baseline
-            for z= 1:B2n
-                BHz(1,z+B1n)=sum(Bcell2{1,z}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Reward(1,z+B1n)=2;
-            end
-
-            for k=1:bins %go through each bin for each neuron
-                EVHz=0;
-                %get trial by trial firing rate for sucrose trials
-                [EV1cell,EV1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for y= 1:EV1n
-                    EVHz(1,y)=sum(EV1cell{1,y}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end       
-
-                %get trial by trial firing rate for maltodextrin trials
-                [EV2cell,EV2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for z= 1:EV2n
-                    EVHz(1,z+EV1n)=sum(EV2cell{1,z}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end       
-
-
-                %run ANOVA on the effects of pre vs post, cued or not,
-                %kind of reward, and the interactions
-                [~,Bintbl,~]=anovan([BHz EVHz],{cat(2,zeros(1,length(Reward)),ones(1,length(Reward))),[Reward Reward]},'varnames',{'Pre vs Post','Reward'},'model','full','display','off');
-                R_2R.BinStatRwrd{k,1}(NN).IntSig=cell2mat(Bintbl(4,7));
-
-                %get mean firing rates
-                R_2R.BinStatRwrd{k,1}(NN).R1Mean=(nanmean(EVHz(Reward==1))-nanmean(BHz(Reward==1)))/std(BHz(Reward==1));
-                R_2R.BinStatRwrd{k,1}(NN).R2Mean=(nanmean(EVHz(Reward==2))-nanmean(BHz(Reward==2)))/std(BHz(Reward==2));
-
-                %signranks for checking if inhibitory or excitatory
-
-                %sucrose trials
-                signranksig=signrank(BHz(Reward==1), EVHz(Reward==1)); %Signrank used here because it is a dependant sample test
-                        if signranksig<PStat
-                            R_2R.BinStatRwrd{k,1}(NN).SucRespDir=sign(nanmean(EVHz(Reward==1))-mean(BHz(Reward==1)));
-                        else
-                            R_2R.BinStatRwrd{k,1}(NN).SucRespDir=0;
-                        end
-
-                %maltodextrin trials
-                signranksig=signrank(BHz(Reward==2), EVHz(Reward==2)); %Signrank used here because it is a dependant sample test
-                        if signranksig<PStat
-                            R_2R.BinStatRwrd{k,1}(NN).MalRespDir=sign(nanmean(EVHz(Reward==2))-mean(BHz(Reward==2)));
-                        else
-                            R_2R.BinStatRwrd{k,1}(NN).MalRespDir=0;
-                        end
-
-            end %bins for bins analysis
-
-
-            fprintf('2R Neuron #%d\n',NN);
-        end %neurons: FOR j= 1:size(RAW(i).Nrast,1)
-    end %if it's the right kind of session
-end %sessions: FOR i=1:length(RAW)
-
-if SAVE_FLAG
-    save('R_2R.mat','R_2R')
-end
-
-toc
-
-
-%%  water and maltodextrin sessions
-
-%start fresh
-R_W=[];R_W.Ninfo={};NN=0;Nneurons=0;
-
-% List of events to analyze and analysis windows EXTRACTED from excel file
-path='C:\Users\dottenh2\Documents\MATLAB\David\2Rewards Nex Files\2R_paper.xls';
-[~,Erefnames]=xlsread(path,'Windows','a3:a15'); % cell that contains the event names
-prewin =  xlsread(path,'Windows','b3:c15');
-postwin = xlsread(path,'Windows','d3:e15');
-
-%saves event names for reference later
-R_W.Erefnames=Erefnames;
-
-%Finds the total number of neurons in 2R and marks them by region/session
-for i=1:length(RAW)
-    if strcmp('WA',RAW(i).Type(1:2))
-        R_W.Ninfo=cat(1,R_W.Ninfo,RAW(i).Ninfo);
-        Nneurons=Nneurons+size(RAW(i).Nrast,1);
-    end
-end
-for i=1:Nneurons
-    Session=string(R_W.Ninfo(i,1));
-    Name=char(Session);
-    R_W.Ninfo(i,3)=cellstr(Name(1:2));
-    R_W.Ninfo(i,4)=cellstr(Name(1:3));
-end
-
-% preallocating
-R_W.Param.Tm=Tm;
-R_W.Param.Tbin=Tbin;
-R_W.Param.Dura=Dura;
-R_W.Param.Baseline=Baseline;
-R_W.Param.PStat=PStat;
-R_W.Param.MinNumTrials=MinNumTrials;
-R_W.Param.path=path;
-R_W.Param.prewin=prewin;
-R_W.Param.postwin=postwin;
-R_W.Param.SmoothTYPE=SmoothTYPE;
-R_W.Param.SmoothSPAN=SmoothSPAN;
-R_W.Param.BinBase=BinBase;
-R_W.Param.BinDura=BinDura;
-R_W.Param.bins = bins;
-R_W.Param.binint = binint;
-R_W.Param.binstart = binstart;
-
-for k=1:length(Erefnames)
-    R_W.Ev(k).PSTHraw(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_W.Ev(k).PSTHz(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_W.Ev(k).Meanraw(1:Nneurons,1)=NaN;
-    R_W.Ev(k).Meanz(1:Nneurons,1)=NaN;
-    R_W.Ev(k).BW(1:Nneurons,1)=NaN;
-    R_W.Ev(k).signrank(1:Nneurons,1)=NaN;
-    R_W.Ev(k).RespDir(1:Nneurons,1)=NaN;
-    R_W.Ev(k).NumberTrials(1:Nneurons,1)=NaN;
-end
-
-% runs the main routine
-
-for i=1:length(RAW) %loops through sessions
-    if strcmp('WA',RAW(i).Type(1:2))
-        for j= 1:size(RAW(i).Nrast,1) %Number of neurons per session
-            NN=NN+1; %neuron counter
-            for k=1:length(Erefnames) %loops thorough the events
-                EvInd=strcmp(Erefnames(k),RAW(i).Einfo(:,2)); %find the event id number from RAW
-
-                if sum(EvInd)==0
-                    fprintf('HOWDY, CANT FIND EVENTS FOR ''%s''\n',Erefnames{k});
-                end
-
-                R_W.Ev(k).NumberTrials(NN,1)=length(RAW(i).Erast{EvInd});
-                Tbase=prewin(k,1):BSIZE:prewin(k,2);
-                if  ~isempty(EvInd) && R_W.Ev(k).NumberTrials(NN,1)>MinNumTrials %avoid analyzing sessions where that do not have enough trials
-                    [PSR0,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{1});% makes collapsed rasters for baseline for use in normalizing
-                    [PSR1,N1]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{1});% makes collpased rasters. PSR1 is a cell(neurons)
-                    [PSR2,N2]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{2});% makes trial by trial rasters. PSR1 is a cell(neurons, trials)
-                    [PSR3,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{2});% makes trial by trial rasters for baseline for use in response detection
-                    if ~isempty(PSR0{1}) || ~isempty(PSR1{1}) %to avoid errors, added on 12/28 2011
-                        %optimal bin size
-                        [PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,1});%-----DP used here
-                        [PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BW1});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        %Fixed bin size
-                        %[PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,0,BinSize});%-----DP used here
-                        %[PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BinSize});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        PTH1=smooth(PTH1,SmoothSPAN,SmoothTYPE)';
-                        PTH0=smooth(PTH0,SmoothSPAN,SmoothTYPE)';
-
-                        %------------- Fills the R_W.Ev(k) fields --------------
-                        R_W.Ev(k).BW(NN,1)=BW1;
-                        R_W.Ev(k).PSTHraw(NN,1:length(Tm))=PTH1;
-                        R_W.Ev(k).Meanraw(NN,1)=nanmean(R_W.Ev(k).PSTHraw(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        if sum(PTH0,2)~=0
-                            R_W.Ev(k).PSTHz(NN,1:length(Tm))=normalize(PTH1,PTH0,0);
-                            R_W.Ev(k).Meanz(NN,1)=nanmean(R_W.Ev(k).PSTHz(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        else
-                            R_W.Ev(k).PSTHz(NN,1:length(Tm))=NaN(1,length(Tm));
-                            R_W.Ev(k).Meanz(NN,1)=NaN;
-                        end
-
-                        %------------------ firing (in Hz) per trial in pre/post windows ------------------
-                        %used to make the between events comparisons and Response detection in a single window----
-                        ev(k).pre=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        ev(k).post=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        for m=1:size(RAW(i).Erast{EvInd},1) %loops through trials
-                            ev(k).pre(m)=sum(PSR3{m}<prewin(k,2) & PSR3{m}>prewin(k,1))/(prewin(k,2)-prewin(k,1)); %CHANGED FROM PSR2 to PSR0 here 10/24/17
-                            ev(k).post(m)=sum(PSR2{m}<postwin(k,2) & PSR2{m}>postwin(k,1))/(postwin(k,2)-postwin(k,1));
-                        end
-
-                        %-------------------- signrank on event and direction----
-                        [R_W.Ev(k).signrank(NN,1),~]=signrank(ev(k).pre, ev(k).post); %Signrank used here because it is a dependant sample test
-                        if R_W.Ev(k).signrank(NN,1)<PStat
-                            R_W.Ev(k).RespDir(NN,1)=sign(mean(ev(k).post)-mean(ev(k).pre));
-                        else R_W.Ev(k).RespDir(NN,1)=0;
-                        end
-
-                    end %if ~isempty(PSR0{1}) || ~isempty(PSR1{1})
-                end %if EvInd=0 OR n(trials) < MinNumTrials fills with NaN
-            end %Events
-
-
-            %----------------------- Check for reward modulation across all the bins surrounding reward delivery-----------------------
-            BHz=0;
-            Trial=0;
-            Reward=0;
-
-            EV1=strmatch('RD1',RAW(i).Einfo(:,2),'exact');
-            EV2=strmatch('RD2',RAW(i).Einfo(:,2),'exact');
-
-            %get mean baseline firing for all reward trials
-            [Bcell1,B1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},BinBase,{2});% makes trial by trial rasters for baseline
-            for y= 1:B1n
-                BHz(1,y)=sum(Bcell1{1,y}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Reward(1,y)=1;
-            end
-            [Bcell2,B2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},BinBase,{2});% makes trial by trial rasters for baseline
-            for z= 1:B2n
-                BHz(1,z+B1n)=sum(Bcell2{1,z}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Reward(1,z+B1n)=2;
-            end
-
-            for k=1:bins %go through each bin for each neuron
-                EVHz=0;
-                %get trial by trial firing rate for water trials
-                [EV1cell,EV1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for y= 1:EV1n
-                    EVHz(1,y)=sum(EV1cell{1,y}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end       
-
-                %get trial by trial firing rate for maltodextrin trials
-                [EV2cell,EV2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for z= 1:EV2n
-                    EVHz(1,z+EV1n)=sum(EV2cell{1,z}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end       
-
-
-                %run ANOVA on the effects of pre vs post, cued or not,
-                %kind of reward, and the interactions
-                [~,Bintbl,~]=anovan([BHz EVHz],{cat(2,zeros(1,length(Reward)),ones(1,length(Reward))),[Reward Reward]},'varnames',{'Pre vs Post','Reward'},'model','full','display','off');
-                R_W.BinStatRwrd{k,1}(NN).IntSig=cell2mat(Bintbl(4,7));
-
-                %get mean firing rates
-                R_W.BinStatRwrd{k,1}(NN).R1Mean=(nanmean(EVHz(Reward==1))-nanmean(BHz(Reward==1)))/std(BHz(Reward==1));
-                R_W.BinStatRwrd{k,1}(NN).R2Mean=(nanmean(EVHz(Reward==2))-nanmean(BHz(Reward==2)))/std(BHz(Reward==2));
-
-                %signranks for checking if inhibitory or excitatory
-
-                %water trials
-                signranksig=signrank(BHz(Reward==1), EVHz(Reward==1)); %Signrank used here because it is a dependant sample test
-                if signranksig<PStat
-                    R_W.BinStatRwrd{k,1}(NN).WatRespDir=sign(nanmean(EVHz(Reward==1))-mean(BHz(Reward==1)));
-                else
-                    R_W.BinStatRwrd{k,1}(NN).WatRespDir=0;
-                end
-
-                %maltodextrin trials
-                signranksig=signrank(BHz(Reward==2), EVHz(Reward==2)); %Signrank used here because it is a dependant sample test
-                if signranksig<PStat
-                    R_W.BinStatRwrd{k,1}(NN).MalRespDir=sign(nanmean(EVHz(Reward==2))-mean(BHz(Reward==2)));
-                else
-                    R_W.BinStatRwrd{k,1}(NN).MalRespDir=0;
-                end
-
-            end %bins for bins analysis
-
-
-            fprintf('Water neuron #%d\n',NN);
-        end %neurons: FOR j= 1:size(RAW(i).Nrast,1)
-    end %if right kind of session
-end %sessions: FOR i=1:length(RAW)
-
-if SAVE_FLAG
-    save('R_W.mat','R_W')
-end
-
-toc
-
-%%  All three rewards sessions
-
-%make this lower because there are only 3 of some current/previous reward combinations
-MinNumTrials=3; %how many trials of event there need to be to conduct analysis
-
-
-%start fresh
-R_3R=[];R_3R.Ninfo={};NN=0;Nneurons=0;
-
-% List of events to analyze and analysis windows EXTRACTED from excel file
-path='C:\Users\dottenh2\Documents\MATLAB\David\2Rewards Nex Files\3R_paper.xls';
-[~,Erefnames]=xlsread(path,'Windows','a3:a23'); % cell that contains the event names
-prewin =  xlsread(path,'Windows','b3:c23');
-postwin = xlsread(path,'Windows','d3:e23');
-
-%saves event names for reference later
-R_3R.Erefnames=Erefnames;
-
-%Finds the total number of neurons in 2R and marks them by region/session
-for i=1:length(RAW)
-    if strcmp('TH',RAW(i).Type(1:2))
-        R_3R.Ninfo=cat(1,R_3R.Ninfo,RAW(i).Ninfo);
-        Nneurons=Nneurons+size(RAW(i).Nrast,1);
-    end
-end
-for i=1:Nneurons
-    Session=string(R_3R.Ninfo(i,1));
-    Name=char(Session);
-    R_3R.Ninfo(i,3)=cellstr(Name(1:2));
-    R_3R.Ninfo(i,4)=cellstr(Name(1:3));
-end
-
-% preallocating
-R_3R.Param.Tm=Tm;
-R_3R.Param.Tbin=Tbin;
-R_3R.Param.Dura=Dura;
-R_3R.Param.Baseline=Baseline;
-R_3R.Param.PStat=PStat;
-R_3R.Param.MinNumTrials=MinNumTrials;
-R_3R.Param.path=path;
-R_3R.Param.prewin=prewin;
-R_3R.Param.postwin=postwin;
-R_3R.Param.SmoothTYPE=SmoothTYPE;
-R_3R.Param.SmoothSPAN=SmoothSPAN;
-R_3R.Param.BinBase=BinBase;
-R_3R.Param.BinDura=BinDura;
-R_3R.Param.bins = bins;
-R_3R.Param.binint = binint;
-R_3R.Param.binstart = binstart;
-
-for k=1:length(Erefnames)
-    R_3R.Ev(k).PSTHraw(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_3R.Ev(k).PSTHz(1:Nneurons,1:length(Tm))=NaN(Nneurons,length(Tm));
-    R_3R.Ev(k).Meanraw(1:Nneurons,1)=NaN;
-    R_3R.Ev(k).Meanz(1:Nneurons,1)=NaN;
-    R_3R.Ev(k).BW(1:Nneurons,1)=NaN;
-    R_3R.Ev(k).signrank(1:Nneurons,1)=NaN;
-    R_3R.Ev(k).RespDir(1:Nneurons,1)=NaN;
-    R_3R.Ev(k).NumberTrials(1:Nneurons,1)=NaN;
-end
-
-% runs the main routine
-
-for i=1:length(RAW) %loops through sessions
-    if strcmp('TH',RAW(i).Type(1:2))
-        for j= 1:size(RAW(i).Nrast,1) %Number of neurons per session
-            NN=NN+1; %neuron counter
-            for k=1:length(Erefnames) %loops thorough the events
-                EvInd=strcmp(Erefnames(k),RAW(i).Einfo(:,2)); %find the event id number from RAW
-
-                if sum(EvInd)==0
-                    fprintf('HOWDY, CANT FIND EVENTS FOR ''%s''\n',Erefnames{k});
-                end
-
-                R_3R.Ev(k).NumberTrials(NN,1)=length(RAW(i).Erast{EvInd});
-                Tbase=prewin(k,1):BSIZE:prewin(k,2);
-                if  ~isempty(EvInd) && R_3R.Ev(k).NumberTrials(NN,1)>MinNumTrials %avoid analyzing sessions where that do not have enough trials
-                    [PSR0,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{1});% makes collapsed rasters for baseline for use in normalizing
-                    [PSR1,N1]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{1});% makes collpased rasters. PSR1 is a cell(neurons)
-                    [PSR2,N2]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},Dura,{2});% makes trial by trial rasters. PSR1 is a cell(neurons, trials)
-                    [PSR3,N0]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EvInd},prewin(k,:),{2});% makes trial by trial rasters for baseline for use in response detection
-                    if ~isempty(PSR0{1}) || ~isempty(PSR1{1}) %to avoid errors, added on 12/28 2011
-                        %optimal bin size
-                        [PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,1});%-----DP used here
-                        [PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BW1});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        %Fixed bin size
-                        %[PTH1,BW1,~]=MakePTH07(PSR1,repmat(N1, size(RAW(i).Nrast{j},1),1),{2,0,BinSize});%-----DP used here
-                        %[PTH0,~,~]=MakePTH07(PSR0,repmat(N0, size(RAW(i).Nrast{j},1),1),{1,0,BinSize});%BW1 reinjected here to make sure PTH0 & PTH1 have the same BW
-                        PTH1=smooth(PTH1,SmoothSPAN,SmoothTYPE)';
-                        PTH0=smooth(PTH0,SmoothSPAN,SmoothTYPE)';
-
-                        %------------- Fills the R_3R.Ev(k) fields --------------
-                        R_3R.Ev(k).BW(NN,1)=BW1;
-                        R_3R.Ev(k).PSTHraw(NN,1:length(Tm))=PTH1;
-                        R_3R.Ev(k).Meanraw(NN,1)=nanmean(R_3R.Ev(k).PSTHraw(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        if sum(PTH0,2)~=0
-                            R_3R.Ev(k).PSTHz(NN,1:length(Tm))=normalize(PTH1,PTH0,0);
-                            R_3R.Ev(k).Meanz(NN,1)=nanmean(R_3R.Ev(k).PSTHz(NN,Tm>postwin(k,1) & Tm<postwin(k,2)),2);
-                        else
-                            R_3R.Ev(k).PSTHz(NN,1:length(Tm))=NaN(1,length(Tm));
-                            R_3R.Ev(k).Meanz(NN,1)=NaN;
-                        end
-
-                        %------------------ firing (in Hz) per trial in pre/post windows ------------------
-                        %used to make the between events comparisons and Response detection in a single window----
-                        ev(k).pre=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        ev(k).post=NaN(size(RAW(i).Erast{EvInd},1),1);
-                        for m=1:size(RAW(i).Erast{EvInd},1) %loops through trials
-                            ev(k).pre(m)=sum(PSR3{m}<prewin(k,2) & PSR3{m}>prewin(k,1))/(prewin(k,2)-prewin(k,1)); %CHANGED FROM PSR2 to PSR0 here 10/24/17
-                            ev(k).post(m)=sum(PSR2{m}<postwin(k,2) & PSR2{m}>postwin(k,1))/(postwin(k,2)-postwin(k,1));
-                        end
-
-                        %-------------------- signrank on event and direction----
-                        [R_3R.Ev(k).signrank(NN,1),~]=signrank(ev(k).pre, ev(k).post); %Signrank used here because it is a dependant sample test
-                        if R_3R.Ev(k).signrank(NN,1)<PStat
-                            R_3R.Ev(k).RespDir(NN,1)=sign(mean(ev(k).post)-mean(ev(k).pre));
-                        else R_3R.Ev(k).RespDir(NN,1)=0;
-                        end
-
-                    end %if ~isempty(PSR0{1}) || ~isempty(PSR1{1})
-                end %if EvInd=0 OR n(trials) < MinNumTrials fills with NaN
-            end %Events
-
-            %----------------------- Check for reward modulation across all the bins surrounding reward delivery-----------------------
-
-            EV1=strmatch('RD1',RAW(i).Einfo(:,2),'exact');
-            EV2=strmatch('RD2',RAW(i).Einfo(:,2),'exact');
-            EV3=strmatch('RD3',RAW(i).Einfo(:,2),'exact');
-
-            Bcell1=0;
-            Bcell2=0;
-            Bcell3=0;
-            BHz=0;
-            Trial=0;
-            Reward=0;
-
-            %get mean baseline firing for all reward trials
-            [Bcell1,B1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},BinBase,{2});% makes trial by trial rasters for baseline
-            for y= 1:B1n
-                BHz(1,y)=sum(Bcell1{1,y}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Trial(1,y)=y;
-                Reward(1,y)=1;
-            end
-            [Bcell2,B2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},BinBase,{2});% makes trial by trial rasters for baseline
-            for z= 1:B2n
-                BHz(1,z+B1n)=sum(Bcell2{1,z}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Trial(1,z+B1n)=z+B1n;
-                Reward(1,z+B1n)=2;
-            end
-            [Bcell3,B3n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV3},BinBase,{2});% makes trial by trial rasters for baseline
-            for x= 1:B3n
-                BHz(1,x+B2n+B1n)=sum(Bcell3{1,x}>BinBase(1))/(BinBase(1,2)-BinBase(1,1));
-                Trial(1,x+B2n+B1n)=x+B2n+B1n;
-                Reward(1,x+B2n+B1n)=3;
-            end
-
-            for k=1:bins %go through each bin for each neuron
-                EVHz=0;
-                EV1cell=0;
-                EV2cell=0;
-                EV3Cell=0;
-
-                %get trial by trial firing rate for water trials
-                [EV1cell,EV1n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV1},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for y= 1:EV1n
-                    EVHz(1,y)=sum(EV1cell{1,y}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end       
-
-                %get trial by trial firing rate for maltodextrin trials
-                [EV2cell,EV2n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV2},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for z= 1:EV2n
-                    EVHz(1,z+EV1n)=sum(EV2cell{1,z}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end
-
-                %get trial by trial firing rate for water trials
-                [EV3cell,EV3n]=MakePSR04(RAW(i).Nrast(j),RAW(i).Erast{EV3},[(BinDura(1)+(binstart - binint)+k*binint) (BinDura(2)+(binstart - binint)+k*binint)],{2});% makes trial by trial rasters for event
-                for x= 1:EV3n
-                    EVHz(1,x+EV1n+EV2n)=sum(EV3cell{1,x}>binstart)/(BinDura(1,2)-BinDura(1,1));
-                end    
-
-                [~,Bintbl,~]=anovan([BHz EVHz],{[Reward Reward],cat(2,zeros(1,length(Trial)),ones(1,length(Trial)))},'varnames',{'Reward','Pre vs Post'},'model','full','display','off');
-                R_3R.BinStatRwrd{k,1}(NN).IntSig=cell2mat(Bintbl(4,7));
-                
-                %get mean firing rates
-                R_3R.BinStatRwrd{k,1}(NN).R1Mean=(nanmean(EVHz(Reward==1))-nanmean(BHz(Reward==1)))/std(BHz(Reward==1));
-                R_3R.BinStatRwrd{k,1}(NN).R2Mean=(nanmean(EVHz(Reward==2))-nanmean(BHz(Reward==2)))/std(BHz(Reward==2));
-                R_3R.BinStatRwrd{k,1}(NN).R3Mean=(nanmean(EVHz(Reward==3))-nanmean(BHz(Reward==3)))/std(BHz(Reward==3));
-
-                %signranks for checking if inhibitory or excitatory
-
-                %sucrose trials
-                signranksig=signrank(BHz(Reward==1), EVHz(Reward==1)); %Signrank used here because it is a dependant sample test
-                if signranksig<PStat
-                    R_3R.BinStatRwrd{k,1}(NN).SucRespDir=sign(nanmean(EVHz(Reward==1))-mean(BHz(Reward==1)));
-                else
-                    R_3R.BinStatRwrd{k,1}(NN).SucRespDir=0;
-                end
-
-                %maltodextrin trials
-                signranksig=signrank(BHz(Reward==2), EVHz(Reward==2)); %Signrank used here because it is a dependant sample test
-                if signranksig<PStat
-                    R_3R.BinStatRwrd{k,1}(NN).MalRespDir=sign(nanmean(EVHz(Reward==2))-mean(BHz(Reward==2)));
-                else
-                    R_3R.BinStatRwrd{k,1}(NN).MalRespDir=0;
-                end
-
-                %water trials
-                signranksig=signrank(BHz(Reward==3), EVHz(Reward==3)); %Signrank used here because it is a dependant sample test
-                if signranksig<PStat
-                    R_3R.BinStatRwrd{k,1}(NN).WatRespDir=sign(nanmean(EVHz(Reward==3))-mean(BHz(Reward==3)));
-                else
-                    R_3R.BinStatRwrd{k,1}(NN).WatRespDir=0;
-                end
-
-            end %bins for bins analysis
-
-
-            
-            fprintf('3R neuron #%d\n',NN);
-        end %neurons: FOR j= 1:size(RAW(i).Nrast,1)
-    end %if right kind of session
-end %sessions: FOR i=1:length(RAW)
-
-if SAVE_FLAG
-    save('R_3R.mat','R_3R')
-end
-
-toc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-