d = fastaread('C:\dondata\FASTA2.fa'); lens = arrayfun(@(x)(numel(x.Sequence)), d); d(lens < 300) = []; rexp = '/Human/(\w*)/([\d\w]*)/(.*?)/(\d{4})/'; headers = cell(length(d), 1); [headers{:}] = deal(d(:).Header); groups = regexp(headers, rexp, 'tokens', 'once'); cgroups = cat(1,groups{:}); dates = unique(cgroups(:,end)); seqs = cell(length(d), 1); [seqs{:}] = deal(d(:).Sequence); ALIGN_CELL = cell(length(dates), 1); INDS_CELL = cell(length(dates), 1); PAIRWISE_CELL = cell(length(dates),1); for i = 1:length(dates) display(dates{i}) tf = strcmp(cgroups(:,end), dates{i}); if isempty(PAIRWISE_CELL{i}) pairwise_dists = GenomePairwiseDist(d(tf), dates{i}); PAIRWISE_CELL{i} = pairwise_dists; else pairwise_dists = PAIRWISE_CELL{i}; end if isempty(ALIGN_CELL{i}) || isempty(INDS_CELL{i}) [ALIGN_CELL{i}, INDS_CELL{i}] = GenomeAlignments(d(tf), ... pairwise_dists); save restore_data PAIRWISE_CELL ALIGN_CELL INDS_CELL end end for i = 1:length(ALIGN_CELL) [ALIGN_CELL{i}, ~]= RefineAlignments(ALIGN_CELL{i}); end ents = CalculateProteinEntropy(d(1), ALIGN_CELL); dents = cat(1, ents{:});