clear all; clc folder = 'ALL MOD DATA'; %// Place directory here %// Get all MAT files in directory f = dir(['' folder '\**\*.txt']); %Add path addpath(genpath(folder)); S = length(f); answer = inputdlg({'Average RT (min)',... 'RT tolerance (min)',... 'MZ1',... 'MZ2',... 'MZ3'},... 'Choose please',1,{'22.56','0.07','57','43','71'})'; % Defaults line if isempty(answer),return;end % % answer = inputdlg({'Average RT (min)',... % 'RT tolerance (min)',... % 'MZ1',... % 'MZ2',... % 'MZ3',... % 'MZ4'},... % 'Choose please',1,{'2.49','0.1','31','45','46','29'})'; % Defaults line % if isempty(answer),return;end Integration=zeros(400,S); %400 (rows) is number of peaks per file N_Peaks=zeros(S,1); RT=zeros(400,S);MZ=zeros(400,5,S); for f_ind=1:S fid=fopen(f(f_ind).name); A=fscanf(fid,'%c'); fclose(fid); %% RT & mz a=regexp(A,'PEAK LIST OVERVIEW','once'); b=regexp(A,'PEAK INTEGRATION RESULTS','once'); tmp=regexp(A(a:b),'\[\d+\][^\r]+','match'); for k=1:length(tmp) RT_tmp=regexp(tmp{k},'\d+\.\d+','match','once'); RT(k,f_ind)=str2num(RT_tmp); %#ok mz_tmp=regexp(tmp{k},'[\d\.\s]+\.\.\.','match','once'); mz_tmp2=str2num(mz_tmp(1:end-3)); %#ok MZ(k,:,f_ind)=0; MZ(k,1:length(mz_tmp2),f_ind)=mz_tmp2; end %% Find the peaks a=regexp(A,'PEAK INTEGRATION RESULTS','once'); b=regexp(A,'SCAN IDENTIFICATION RESULTS','once'); tmp=regexp(A(a:b),'\d+\.\d+','match'); I_tmp=str2double (tmp); Integration(1:length(I_tmp),f_ind)=I_tmp; N_Peaks(f_ind)=length(I_tmp); end %% Peak Hunter %read from input RT_avg = str2double(answer{1}); Tol = str2double(answer{2}); MZ1 = str2double(answer{3}); MZ2 = str2double(answer{4}); MZ3 = str2double(answer{5}); %MZ4 = str2double(answer{6}); AUC = zeros(5,S); for f_ind=1:S %find RT+/-Tol range k = find(RT(:,f_ind)>(RT_avg-Tol) & RT(:,f_ind)