Skip to content

Commit 0d5a0a3

Browse files
committed
Check logL of conv. FSP soln tensor given total GR
1 parent cba11e2 commit 0d5a0a3

File tree

1 file changed

+82
-2
lines changed

1 file changed

+82
-2
lines changed

WorkSpace/EricModel/GR_2_Electric_Boogaloo.m

+82-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
fitOptions = optimset('Display','iter','MaxIter',300);
2020

2121
%%
22-
GR = input('(1) Convolve GR-alpha + GR-beta;\n(2) ODES for GR-alpha + GR-beta;\n(3) SSAs\nChoose your destiny: ');
22+
GR = input('(1) Convolve GR-alpha + GR-beta with FSP;\n(2) ODES for GR-alpha + GR-beta;\n(3) SSAs\nChoose your destiny: ');
2323

2424
switch GR
2525
case 1
@@ -199,6 +199,66 @@
199199
% Specify dataset time points for GR-beta.
200200
ModelGRfit_b{1}.tSpan = ModelGRfit_b{1}.dataSet.times;
201201

202+
203+
%%
204+
% PA = rand(2); PA = PA/(sum(PA,"all"));
205+
% PB = rand(2); PB = PB/(sum(PB,"all"));
206+
% % PA=[.5 .15;.25 .1];PB =PA;
207+
% PC = conv2(PA,PB)
208+
% %%
209+
% N = 100000;
210+
% PAs = zeros(size(PA));
211+
% PBs = zeros(size(PB));
212+
% PCs = zeros(size(PA,1)+size(PB,1)-1,...
213+
% size(PA,2)+size(PB,2)-1);
214+
% for i = 1:N
215+
% r = rand;
216+
% j = 1;
217+
% while sum(PA(1:j))<r
218+
% j = j+1;
219+
% end
220+
% PAs(j) = PAs(j) + 1/N;
221+
% [kA1,kA2] = ind2sub(size(PAs),j);
222+
% r = rand;
223+
% j = 1;
224+
% while sum(PB(1:j))<r
225+
% j = j+1;
226+
% end
227+
% PBs(j) = PBs(j) + 1/N;
228+
% [kB1,kB2] = ind2sub(size(PBs),j);
229+
% PCs(kA1+kB1-1,kA2+kB2-1) = PCs(kA1+kB1-1,kA2+kB2-1)+1/N;
230+
% end
231+
% PCs
232+
% PC
233+
%
234+
% %% REMOVE
235+
% ModelGR_a.solutionScheme = 'FSP';
236+
% FSPsoln = ModelGR_a.solve;
237+
% solnTensor = double(FSPsoln.fsp{3}.p.data);
238+
% contourf(log10(solnTensor));
239+
%
240+
% %% sample fake data
241+
% N = 100;
242+
% PAs = zeros(size(solnTensor));
243+
% for i = 1:N
244+
% r = rand;
245+
% j = 1;
246+
% while sum(solnTensor(1:j))<r
247+
% j = j+1;
248+
% end
249+
% PAs(j) = PAs(j)+1;
250+
% % [kA1,kA2] = ind2sub(size(PAs),j);
251+
% end
252+
%
253+
% %% add scatter points to plot.
254+
% hold on
255+
% [rows,cols,vals] = find(PAs);
256+
% scatter(rows,cols,20,vals,'r','filled')
257+
%
258+
% %% compute likelihood
259+
% logLikelihood = sum(log(solnTensor(PAs>0)).*PAs((PAs>0)),"all");
260+
261+
202262
%% Solve for combined GR-alpha model for three Dex_Conc=Dex0 and fit using a single parameter set.
203263
for jj = 1:fitIters
204264
% Solve
@@ -361,6 +421,26 @@
361421
end
362422
end
363423

424+
%% resample data if wanted
425+
426+
data = readtable('../EricModel/EricData/Gated_dataframe_Ron_020224_NormalizedGR_bins.csv');
427+
428+
% Filter the data if desired for particular Time_index and/or Dex_Conc
429+
filteredData = data(data.time == 150 & data.Dex_Conc == 10, :);
430+
431+
% Randomly sample 1000 points from the filtered data
432+
numSamples = min(1000, height(filteredData)); % Ensure we don’t sample more than available data
433+
randomIndices = randperm(height(filteredData), numSamples);
434+
normgrnuc = filteredData.normgrnuc(randomIndices);
435+
normgrcyt = filteredData.normgrcyt(randomIndices);
436+
437+
%% compute likelihood
438+
439+
normgr = [filteredData.normgrcyt,filteredData.normgrnuc];
440+
for logL=1:max(size(conv2solnTensor_postData))
441+
logLikelihood = sum(log(conv2solnTensor_postData{logL}(normgr>0)).*normgr((normgr>0)),"all")
442+
end
443+
%%
364444
save('conv2solnTensor_postData','GRpars_a','combinedGRModel_a', 'ModelGRfit_a','ModelGRfit_b','GRpars_b','GR_b_fspSoln', 'fspSolnsSMM')
365445

366446
dusp1 = input('(0) GR-beta turns off the DUSP1 gene;\n(1) GR-beta has no effect on DUSP1;\nChoose your destiny: ');
@@ -707,7 +787,7 @@
707787

708788
%% compute likelihood
709789
% logLikelihood = sum(log(conv2solnTensor{f}(PAs>0)).*PAs((PAs>0)),"all");
710-
%logLikelihood = sum(log(conv2solnTensor_postData{t}(fspsoln_sptensor_a_postData{t}>0)).*fspsoln_sptensor_a_postData{t}((fspsoln_sptensor_a_postData{t}>0)),"all");
790+
%logLikelihood = sum(log(conv2solnTensor_postData{t}(PAs>0)).*PAs((PAs>0)),"all");
711791

712792
case 2
713793
%% ODEs

0 commit comments

Comments
 (0)