https://github.com/simkind/Patch-clamp-analysis
Raw File
Tip revision: bde5c7399d9f7c789feec0ee26ab5dad4a661d90 authored by simkind on 13 January 2021, 04:40:28 UTC
Create How to use.md
Tip revision: bde5c73
save_APanalysis.m
% Results should be struct containing sweeps

function [Results] = save_APanalysis(Results,filename)
    [Results] = bracket2nan(Results); % convert empty brackets into NaN
    label = {'ABF File','Sweep','Spike Number','Baseline (mV)','Spike Times (ms)',...
        'Spike Amplitude (mV)','Spike Threshold Time (ms)','Spike Threshold (mV)',...
        'Spike 1/2 Width-Baseline (ms)','Spike 1/2 Width-Threshold (ms)',...
        'FastAHP Time (ms)','FastAHP Voltage(mV)','ADPpeak Time (ms)','ADPpeak Amplitude(mV)',...
        'ADPend Time (ms)','ADPend Amplitude (mV)','ADP Duration (ms)','ADP AUC (mv/s)',...
        'AHPstart Time (ms)','AHPpeak Time (ms)','AHPpeak Amplitude (mV)',...
        'AHPend Time (ms)','AHPend Amplitude (mV)','AHP duration (ms)','AHP AUC (mv/s)',...
        'AHPtau Return Time (ms)','AHP Tau (ms)','AHPtau Amplitude (mV)'};
    writethis = [];
    for i = 1:length(Results) % for each sweep
        numspikes = Results(i).num_spikes;
        sweep = num2cell(i);
        if numspikes == 1
        	s = 1;
        else
        	s = NaN;
        end
        writethistemp = [];
        writethistemp = [cellstr(filename), sweep,s, num2cell(Results(i).baseline_potential),...
            num2cell(Results(i).peak_times), num2cell(Results(i).peak_to_baseline),num2cell(Results(i).threshold_time),...
            num2cell(Results(i).threshold_amplitude),num2cell(Results(i).SpikeWidth_Baseline),num2cell(Results(i).SpikeWidth_Threshold),...
            num2cell(Results(i).FastAHP_Time), num2cell(Results(i).FastAHP_Voltage)];
        AHPstuff = NaN(1,16);
        AHPstuff = [Results(i).ADPpeak_time, Results(i).ADPpeak_idx, Results(i).ADPend_time, Results(i).ADPend_amplitude,...
            Results(i).ADPduration, Results(i).ADP_AreaUnderCurve,... 
            Results(i).AHPstart_time, Results(i).AHPpeak_negative_time, Results(i).AHPpeak_negative_amplitude,...
            Results(i).AHPend_time,Results(i).AHPend_amplitude,Results(i).AHPduration,...
            Results(i).AHP_AreaUnderCurve, Results(i).Tau_time, Results(i).Tau_duration,Results(i).Tau_amplitude];
            
        writethistemp = [writethistemp, num2cell(AHPstuff)];    
        writethis = [writethis; writethistemp];
    end
    writethiswithlabel = [label; writethis];
    Table = writethiswithlabel;
    xlswrite(sprintf('%s APanalysis.xlsx',filename),writethiswithlabel)
    save(sprintf('%s APanalysis.mat',filename),'Results','Table')
end
back to top